diff --git a/srcpkgs/initramfs-tools/files/hook-functions b/srcpkgs/initramfs-tools/files/hook-functions index bc8d164aa4..4924e7072e 100644 --- a/srcpkgs/initramfs-tools/files/hook-functions +++ b/srcpkgs/initramfs-tools/files/hook-functions @@ -12,8 +12,8 @@ catenate_cpiogz() { force_load() { - manual_add_modules ${@} - echo "${@}" >>"${DESTDIR}/conf/modules" + manual_add_modules ${@} + echo "${@}" >>"${DESTDIR}/conf/modules" } # Takes a file containing a list of modules to be added as an @@ -370,9 +370,6 @@ dep_add_modules() if [ -d "${DESTDIR}/lib/modules/${version}/kernel/drivers/ide" ]; then sys_walk_modalias ${root_dev_path} manual_add_modules ide-gd_mod - # FIXME: remove post Squeeze - manual_add_modules ide-disk - manual_add_modules ide-cd fi if [ -d "${DESTDIR}/lib/modules/${version}/kernel/drivers/scsi" ]; then @@ -539,8 +536,14 @@ cache_run_scripts() compare_versions() { local curv="$1" minv="$2" + local cmpver_cmd - xbps-uhelper cmpver $curv $minv + if ! command -v xbps-uhelper.static >/dev/null 2>&1; then + cmpver_cmd=xbps-uhelper.static + else + cmpver_cmd=xbps-uhelper + fi + ${cmpver_cmd} cmpver $curv $minv if [ $? -eq 0 ] || [ $? -eq 1 ]; then return 0 fi diff --git a/srcpkgs/initramfs-tools/files/init b/srcpkgs/initramfs-tools/files/init index 555676eb71..e3c112b044 100755 --- a/srcpkgs/initramfs-tools/files/init +++ b/srcpkgs/initramfs-tools/files/init @@ -13,31 +13,23 @@ done [ -d /sys ] || mkdir /sys [ -d /proc ] || mkdir /proc [ -d /tmp ] || mkdir /tmp -mkdir -p /var/lock mount -t sysfs -o nodev,noexec,nosuid sysfs /sys mount -t proc -o nodev,noexec,nosuid proc /proc # Note that this only becomes /dev on the real filesystem if udev's scripts # are used; which they will be, but it's worth pointing out -tmpfs_size="10M" if [ -e /etc/udev/udev.conf ]; then . /etc/udev/udev.conf fi if ! mount -t devtmpfs -o mode=0755 devtmpfs /dev; then + tmpfs_size="10M" echo "W: devtmpfs not available, falling back to tmpfs for /dev" mount -t tmpfs -o size=$tmpfs_size,mode=0755 udev /dev [ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1 [ -e /dev/null ] || mknod /dev/null c 1 3 fi -mkdir /dev/pts -mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true -> /dev/.initramfs-tools mkdir /dev/.initramfs -# Export the dpkg architecture -export DPKG_ARCH= -. /conf/arch.conf - # Set modprobe env export MODPROBE_OPTIONS="-qb" @@ -202,36 +194,31 @@ fi [ -n "${netconsole}" ] && modprobe netconsole netconsole="${netconsole}" maybe_break top -[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-top" +log_begin_msg "Running /scripts/init-top" run_scripts /scripts/init-top -[ "$quiet" != "y" ] && log_end_msg +log_end_msg maybe_break modules -[ "$quiet" != "y" ] && log_begin_msg "Loading essential drivers" +log_begin_msg "Loading essential drivers" load_modules -[ "$quiet" != "y" ] && log_end_msg +log_end_msg maybe_break premount -[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-premount" +log_begin_msg "Running /scripts/init-premount" run_scripts /scripts/init-premount -[ "$quiet" != "y" ] && log_end_msg +log_end_msg maybe_break mount log_begin_msg "Mounting root file system" . /scripts/${BOOT} -parse_numeric ${ROOT} maybe_break mountroot mountroot log_end_msg maybe_break bottom -[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-bottom" +log_begin_msg "Running /scripts/init-bottom" run_scripts /scripts/init-bottom -[ "$quiet" != "y" ] && log_end_msg - -# Move virtual filesystems over to the real filesystem -mount -n -o move /sys ${rootmnt}/sys -umount /proc +log_end_msg validate_init() { checktarget="${1}" @@ -286,7 +273,6 @@ maybe_break init # (keep init, rootmnt) unset debug unset MODPROBE_OPTIONS -unset DPKG_ARCH unset ROOTFLAGS unset ROOTFSTYPE unset ROOTDELAY @@ -304,6 +290,10 @@ unset readonly unset resume unset resume_offset +# Umount sysfs and procfs, they will be mounted by init scripts. +umount /sys +umount /proc + # Chain to real filesystem exec switch_root ${rootmnt} ${init} "$@" panic "Could not execute run-init." diff --git a/srcpkgs/initramfs-tools/files/mkinitramfs b/srcpkgs/initramfs-tools/files/mkinitramfs index a01ff76eef..2d3da59a44 100755 --- a/srcpkgs/initramfs-tools/files/mkinitramfs +++ b/srcpkgs/initramfs-tools/files/mkinitramfs @@ -239,21 +239,20 @@ hidden_dep_add_modules cp -p /usr/share/initramfs-tools/init ${DESTDIR}/init # add existant boot scripts -for b in $(cd /usr/share/initramfs-tools/scripts/ && find . \ +for b in $(cd /usr/share/initramfs-tools/scripts/ && find -L . \ -regextype posix-extended -regex '.*/[[:alnum:]\._-]+$' -type f); do [ -d "${DESTDIR}/scripts/$(dirname "${b}")" ] \ || mkdir -p "${DESTDIR}/scripts/$(dirname "${b}")" cp -p "/usr/share/initramfs-tools/scripts/${b}" \ "${DESTDIR}/scripts/$(dirname "${b}")/" done -for b in $(cd "${CONFDIR}/scripts" && find . \ +for b in $(cd "${CONFDIR}/scripts" && find -L . \ -regextype posix-extended -regex '.*/[[:alnum:]\._-]+$' -type f); do [ -d "${DESTDIR}/scripts/$(dirname "${b}")" ] \ || mkdir -p "${DESTDIR}/scripts/$(dirname "${b}")" cp -p "${CONFDIR}/scripts/${b}" "${DESTDIR}/scripts/$(dirname "${b}")/" done -echo "DPKG_ARCH=${DPKG_ARCH}" > ${DESTDIR}/conf/arch.conf cp -p "${CONFDIR}/initramfs.conf" ${DESTDIR}/conf for i in ${EXTRA_CONF}; do if [ -e "${CONFDIR}/conf.d/${i}" ]; then diff --git a/srcpkgs/initramfs-tools/files/scripts/functions b/srcpkgs/initramfs-tools/files/scripts/functions index 4e284ad255..09fca7d0fc 100644 --- a/srcpkgs/initramfs-tools/files/scripts/functions +++ b/srcpkgs/initramfs-tools/files/scripts/functions @@ -2,7 +2,7 @@ _log_msg() { - if [ "$quiet" = "y" ]; then return; fi + [ "$quiet" = "y" ] && return printf "\033[1m" printf "$@" printf "\033[m\n" @@ -25,26 +25,16 @@ log_warning_msg() log_begin_msg() { - if [ -x /sbin/usplash_write ]; then - /sbin/usplash_write "TEXT $@" - fi _log_msg "$@ ..." } log_end_msg() { - if [ -x /sbin/usplash_write ]; then - /sbin/usplash_write "SUCCESS ok" - fi : } panic() { - if [ -x /sbin/usplash_write ]; then - /sbin/usplash_write "QUIT" - fi - if command -v chvt >/dev/null 2>&1; then chvt 1 fi @@ -271,33 +261,6 @@ load_modules() fi } -# lilo compatibility -parse_numeric() { - case $1 in - "") - return - ;; - /*) - return - ;; - [0-9]*:[0-9]*) - minor=${1#*:} - major=${1%:*} - ;; - [A-Fa-f0-9]*) - value=$(( 0x${1} )) - minor=$(( ${value} % 256 )) - major=$(( ${value} / 256 )) - ;; - *) - return - ;; - esac - - mknod -m 600 /dev/root b ${major} ${minor} - ROOT=/dev/root -} - # Parameter: device node to check # Echos fstype to stdout # Return value: indicates if an fs could be recognized @@ -306,13 +269,7 @@ get_fstype () local FS FSTYPE FSSIZE RET FS="${1}" - # vol_id has a more complete list of file systems, - # but fstype is more robust - if command -v blkid >/dev/null 2>&1 ; then - FSTYPE=$(blkid -o value -s TYPE "${FS}") - elif [ "$FSTYPE" = "unknown" ] && [ -x /lib/udev/vol_id ]; then - FSTYPE=$(/lib/udev/vol_id -t "${FS}" 2> /dev/null) - fi + FSTYPE=$(blkid -o value -s TYPE "${FS}") RET=$? if [ -z "${FSTYPE}" ]; then diff --git a/srcpkgs/initramfs-tools/files/scripts/local b/srcpkgs/initramfs-tools/files/scripts/local index 8cb279a1ef..3d76abcccf 100644 --- a/srcpkgs/initramfs-tools/files/scripts/local +++ b/srcpkgs/initramfs-tools/files/scripts/local @@ -2,9 +2,9 @@ pre_mountroot() { - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-top" + log_begin_msg "Running /scripts/local-top" run_scripts /scripts/local-top - [ "$quiet" != "y" ] && log_end_msg + log_end_msg wait_for_udev 10 @@ -29,10 +29,6 @@ pre_mountroot() # Default delay is 30s slumber=${ROOTDELAY:-30} - if [ -x /sbin/usplash_write ]; then - /sbin/usplash_write "TIMEOUT ${slumber}" || true - fi - slumber=$(( ${slumber} * 10 )) while [ ! -e "${ROOT}" ] \ || ! $(get_fstype "${ROOT}" >/dev/null); do @@ -46,9 +42,6 @@ pre_mountroot() else log_end_msg 1 || true fi - if [ -x /sbin/usplash_write ]; then - /sbin/usplash_write "TIMEOUT 15" || true - fi fi # We've given up, but we'll let the user fix matters if they can @@ -92,9 +85,9 @@ mountroot() FSTYPE=${ROOTFSTYPE} fi - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-premount" + log_begin_msg "Running /scripts/local-premount" run_scripts /scripts/local-premount - [ "$quiet" != "y" ] && log_end_msg + log_end_msg if [ "${readonly}" = "y" ]; then roflag=-r @@ -113,7 +106,7 @@ mountroot() mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt} fi - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom" + log_begin_msg "Running /scripts/local-bottom" run_scripts /scripts/local-bottom - [ "$quiet" != "y" ] && log_end_msg + log_end_msg } diff --git a/srcpkgs/initramfs-tools/files/update-initramfs b/srcpkgs/initramfs-tools/files/update-initramfs index c0f775d157..a11531fe27 100755 --- a/srcpkgs/initramfs-tools/files/update-initramfs +++ b/srcpkgs/initramfs-tools/files/update-initramfs @@ -341,8 +341,6 @@ update() generate_initramfs - [ -n "${dogrub}" ] && run_bootloader - backup_booted_initramfs } @@ -371,6 +369,8 @@ delete() delete_sha1 rm -f "${initramfs}" "${initramfs}.bak" + + [ -n "${dogrub}" ] && run_bootloader } # Check for update mode on existing and modified initramfs diff --git a/srcpkgs/initramfs-tools/template b/srcpkgs/initramfs-tools/template index 2b553685cd..65e94db3d7 100644 --- a/srcpkgs/initramfs-tools/template +++ b/srcpkgs/initramfs-tools/template @@ -1,6 +1,6 @@ # Template file for 'initramfs-tools' pkgname=initramfs-tools -_localver=0.99.8.4 # This is the XBPS version +_localver=0.99.9 # This is the XBPS version _distver=0.98.8 # This should match debian version version=${_localver}.${_distver} build_style=custom-install