summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Tian <kevin.tian@intel.com>2011-01-26 19:44:15 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-01 23:59:40 +0000
commitab3161839a082547f64093eaf8a1e2d48db840e5 (patch)
tree87627b6f35b928ff00441f42059cc43bcf045cde
parentede0009e7c30e22b0c41a648ec082b1fad013000 (diff)
downloadpoky-ab3161839a082547f64093eaf8a1e2d48db840e5.tar.gz
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 <kevin.tian@intel.com>
-rw-r--r--meta/recipes-extended/at/at_3.1.12.bb29
1 files changed, 24 insertions, 5 deletions
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"
7DEPENDS = "flex libpam initscripts" 7DEPENDS = "flex libpam initscripts"
8RCONFLICTS_${PN} = "atd" 8RCONFLICTS_${PN} = "atd"
9RREPLACES_${PN} = "atd" 9RREPLACES_${PN} = "atd"
10PR = "r3" 10PR = "r4"
11 11
12SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \ 12SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \
13 file://configure.patch \ 13 file://configure.patch \
@@ -25,8 +25,8 @@ SRC_URI[sha256sum] = "7c55c6ab4fbe8add9e68f31b2b0ebf3fe805c9a4e7cfb2623a3d8a4789
25EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ 25EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
26 --with-daemon_username=root \ 26 --with-daemon_username=root \
27 --with-daemon_groupname=root \ 27 --with-daemon_groupname=root \
28 --with-jobdir=/var/spool/cron/atjobs \ 28 --with-jobdir=/var/spool/at/jobs \
29 --with-atspool=/var/spool/cron/atspool" 29 --with-atspool=/var/spool/at/spool"
30 30
31inherit autotools 31inherit autotools
32 32
@@ -39,8 +39,27 @@ do_install () {
39 39
40 install -d ${D}${sysconfdir}/init.d 40 install -d ${D}${sysconfdir}/init.d
41 install -d ${D}${sysconfdir}/rcS.d 41 install -d ${D}${sysconfdir}/rcS.d
42 install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/at 42 install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/atd
43 ln -sf ../init.d/at ${D}${sysconfdir}/rcS.d/S99at 43 ln -sf ../init.d/atd ${D}${sysconfdir}/rcS.d/S99at
44}
45
46pkg_postinst_${PN} () {
47 if [ "x$D" != "x" ] ; then
48 exit 1
49 fi
50
51 # below is necessary to allow at usable to normal users
52 # now at is has its own /var/spool/at instead of under /var/spool/cron
53 # this way is better to allow setgid on both sides
54 grep "^daemon" /etc/group || groupadd daemon
55 chown root:daemon /usr/bin/at
56 chmod 2755 /usr/bin/at
57
58 chown root:daemon -R /var/spool/at
59 chmod 770 -R /var/spool/at
60
61 chown root:daemon /etc/at.deny
62 chmod 640 /etc/at.deny
44} 63}
45 64
46PARALLEL_MAKE = "" 65PARALLEL_MAKE = ""