From 699937efcac563a57e56d07c3d4976999b7cc90b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 2 Jun 2013 12:08:27 +0200 Subject: mklive: force-add vmklive dracut module and generate a polkit rules file to bypass auth. --- dracut/adduser.sh | 16 ++++++++++++++++ mklive.sh.in | 5 ++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/dracut/adduser.sh b/dracut/adduser.sh index aa26d20..b49da6a 100644 --- a/dracut/adduser.sh +++ b/dracut/adduser.sh @@ -26,3 +26,19 @@ rm -f "${NEWROOT}/etc/systemd/system/getty.target.wants/getty@tty1.service" sed -e "s|/sbin/agetty --noclear|& -a ${USERNAME}|g" \ "${NEWROOT}/usr/lib/systemd/system/getty@.service" > \ "${NEWROOT}/etc/systemd/system/getty.target.wants/getty@tty1.service" + +if [ -d ${NEWROOT}/etc/polkit-1 ]; then + # If polkit is installed allow users in the wheel group to run anything. + cat > ${NEWROOT}/etc/polkit-1/rules.d/void-live.rules <<_EOF +polkit.addAdminRule(function(action, subject) { + return ["unix-group:wheel"]; +}); + +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); +_EOF + chown polkitd:polkitd ${NEWROOT}/etc/polkit-1/rules.d/10-void-live.rules +fi diff --git a/mklive.sh.in b/mklive.sh.in index 4785dd7..cb22bfc 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -145,9 +145,8 @@ generate_initramfs() { $XBPS_INSTALL_CMD -r $ROOTFS/kernel_temp -y \ base-system void-mklive >>$LOGFILE 2>&1 - chroot $ROOTFS/kernel_temp /usr/bin/dracut --${COMPRESSTYPE} \ - --add "vmklive" --omit "btrfs caps dash resume" \ - --force "/boot/initrd.lz" $KERNELVERSION >>$LOGFILE 2>&1 + systemd-nspawn -D $ROOTFS/kernel_temp /usr/bin/dracut --${COMPRESSTYPE} \ + --force-add "vmklive" "/boot/initrd.lz" $KERNELVERSION >>$LOGFILE 2>&1 mv $ROOTFS/kernel_temp/boot/initrd.lz $BOOT_DIR } -- cgit 1.4.1