diff --git a/templates/kernel/INSTALL b/templates/kernel/INSTALL deleted file mode 100644 index 85dc24060c5..00000000000 --- a/templates/kernel/INSTALL +++ /dev/null @@ -1,36 +0,0 @@ -# -# This scripts creates the initramfs for the newly installed -# kernel package. -# -case "$2" in -pre) - ;; -post) - echo "Running $3-$4 post installation hooks..." - if [ "$1" = "NOTSET" ]; then - mntproc_cmd="mount -t proc proc /proc" - umntproc_cmd="umount /proc" - mntsys_cmd="mount -t sysfs none /sys" - umntsys_cmd="umount /sys" - initramfs_cmd="update-initramfs" - else - mntproc_cmd="chroot $1 mount -t proc proc ./proc" - umntproc_cmd="chroot $1 umount ./proc" - mntsys_cmd="chroot $1 mount -t sysfs none ./sys" - umntsys_cmd="chroot $1 umount ./sys" - initramfs_cmd="chroot $1 update-initramfs" - fi - - if [ ! -f ./var/lib/initramfs-tools/$4 ]; then - initramfs_cmd="$initramfs_cmd -c -k $4" - else - initramfs_cmd="$initramfs_cmd -u -k $4" - fi - - ${mntproc_cmd} - ${mntsys_cmd} - ${initramfs_cmd} - ${umntproc_cmd} - ${umntsys_cmd} - ;; -esac diff --git a/templates/kernel/template b/templates/kernel/template index 5d5693c3666..50b8b4f7318 100644 --- a/templates/kernel/template +++ b/templates/kernel/template @@ -17,6 +17,8 @@ long_desc=" This package provides the linux kernel image, kernel modules and firmware files." +triggers="initramfs-tools" + Add_dependency full glibc Add_dependency full dash Add_dependency full coreutils diff --git a/templates/xbps-base-dirs/template b/templates/xbps-base-dirs/template index 8ea2dd41841..4cfb3e04132 100644 --- a/templates/xbps-base-dirs/template +++ b/templates/xbps-base-dirs/template @@ -1,6 +1,6 @@ # Template file for 'xbps-base-dirs' pkgname=xbps-base-dirs -version=0.3 +version=0.4 build_style=custom-install short_desc="xbps base system directories" maintainer="Juan RP " @@ -22,7 +22,8 @@ do_install() mkdir -p -m 0750 $DESTDIR/root mkdir -p -m 1777 $DESTDIR/tmp $DESTDIR/var/tmp - for f in local bin include lib sbin src; do + for f in local local/bin local/sbin local/include local/lib \ + bin include lib sbin src; do mkdir -p $DESTDIR/usr/$f done @@ -50,8 +51,7 @@ do_install() cd $DESTDIR/usr && ln -s lib lib64 fi - for f in info-files; do - install -D -m 755 ${XBPS_TRIGGERSDIR}/$f \ - $DESTDIR/var/db/xbps/triggers/$f + for f in $(find $XBPS_TRIGGERSDIR -type f -perm 755); do + install -D -m 755 $f $DESTDIR/var/db/xbps/triggers/$(basename $f) done } diff --git a/triggers/info-files b/triggers/info-files index f6bc1e38f1a..6af8f440315 100755 --- a/triggers/info-files +++ b/triggers/info-files @@ -25,6 +25,8 @@ run) exit 1 fi + echo "Running $trigger trigger..." + cat $finfometa | while read line; do [ ! -f ./$line ] && continue diff --git a/triggers/initramfs-tools b/triggers/initramfs-tools new file mode 100755 index 00000000000..a2e1e10951f --- /dev/null +++ b/triggers/initramfs-tools @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Runs update-initramfs(8) to create/update an initramfs for specified +# version (if the pkg that is triggering it) or for the currently +# installed kernel otherwise. +# +# Arguments: $1 = action [run/targets] +# $2 = target [post-install] +# $3 = pkgname +# $4 = version +# +trigger="initramfs-tools" + +case "$1" in +targets) + echo "post-install" + ;; +run) + [ ! -x ./usr/sbin/update-initramfs ] && exit 0 + [ "$2" != "post-install" ] && exit 1 + + echo "Running $trigger trigger..." + + if [ "$(pwd)" = "/" ]; then + mntproc_cmd="mount -t proc proc /proc" + umntproc_cmd="umount /proc" + mntsys_cmd="mount -t sysfs none /sys" + umntsys_cmd="umount /sys" + initramfs_cmd="update-initramfs" + else + mntproc_cmd="chroot . mount -t proc proc ./proc" + umntproc_cmd="chroot . umount ./proc" + mntsys_cmd="chroot . mount -t sysfs none ./sys" + umntsys_cmd="chroot . umount ./sys" + initramfs_cmd="chroot . update-initramfs" + fi + + if [ "$3" = "kernel" -a ! -f ./var/lib/initramfs-tools/$4 ]; then + initramfs_cmd="$initramfs_cmd -c -k $4" + elif [ "$3" != "kernel" -o ! -f ./var/lib/initramfs-tools/$4 ]; then + initramfs_cmd="$initramfs_cmd -c -k $(xbps-pkgdb version kernel)" + else + initramfs_cmd="$initramfs_cmd -u -k $4" + fi + + ${mntproc_cmd} + ${mntsys_cmd} + ${initramfs_cmd} + ${umntproc_cmd} + ${umntsys_cmd} + ;; +*) + exit 1 + ;; +esac + +exit 0