From ab3161839a082547f64093eaf8a1e2d48db840e5 Mon Sep 17 00:00:00 2001 From: Kevin Tian Date: Wed, 26 Jan 2011 19:44:15 +0800 Subject: at: allow normal user to use 'at' fix [BUGID #675] Similar to previous cronie changes, so far 'at' environment is also not complete and only root user could trigger delayed tasks. Similar permission changes are required for: /etc/at.deny /usr/bin/at /var/spool/at/ /usr/bin/at is setgid to 'daemon', to differentiate with cronie. So move 'at' out of 'cron' (/var/spool/cron/at -> /var/spool/at) another fix is to rename /etc/init.d/at to atd which is more widely used in other distros (also required by LTP test cases) Signed-off-by: Kevin Tian --- meta/recipes-extended/at/at_3.1.12.bb | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'meta/recipes-extended/at') diff --git a/meta/recipes-extended/at/at_3.1.12.bb b/meta/recipes-extended/at/at_3.1.12.bb index c010b3946b..3a9449773e 100644 --- a/meta/recipes-extended/at/at_3.1.12.bb +++ b/meta/recipes-extended/at/at_3.1.12.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" DEPENDS = "flex libpam initscripts" RCONFLICTS_${PN} = "atd" RREPLACES_${PN} = "atd" -PR = "r3" +PR = "r4" SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \ file://configure.patch \ @@ -25,8 +25,8 @@ SRC_URI[sha256sum] = "7c55c6ab4fbe8add9e68f31b2b0ebf3fe805c9a4e7cfb2623a3d8a4789 EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ --with-daemon_username=root \ --with-daemon_groupname=root \ - --with-jobdir=/var/spool/cron/atjobs \ - --with-atspool=/var/spool/cron/atspool" + --with-jobdir=/var/spool/at/jobs \ + --with-atspool=/var/spool/at/spool" inherit autotools @@ -39,8 +39,27 @@ do_install () { install -d ${D}${sysconfdir}/init.d install -d ${D}${sysconfdir}/rcS.d - install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/at - ln -sf ../init.d/at ${D}${sysconfdir}/rcS.d/S99at + install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/atd + ln -sf ../init.d/atd ${D}${sysconfdir}/rcS.d/S99at +} + +pkg_postinst_${PN} () { + if [ "x$D" != "x" ] ; then + exit 1 + fi + + # below is necessary to allow at usable to normal users + # now at is has its own /var/spool/at instead of under /var/spool/cron + # this way is better to allow setgid on both sides + grep "^daemon" /etc/group || groupadd daemon + chown root:daemon /usr/bin/at + chmod 2755 /usr/bin/at + + chown root:daemon -R /var/spool/at + chmod 770 -R /var/spool/at + + chown root:daemon /etc/at.deny + chmod 640 /etc/at.deny } PARALLEL_MAKE = "" -- cgit v1.2.3-54-g00ecf