From cd75cb56ef30d68f82ec7406f3529afd163e7f92 Mon Sep 17 00:00:00 2001 From: wangmy Date: Mon, 4 Apr 2022 18:38:36 +0800 Subject: sysvinit: upgrade 3.01 -> 3.02 pidof-add-m-option.patch refreshed for new version. Add 0001-Fixed-compile-error-on-GNU-Hurd.patch to fix compile error on GNU Hurd due to missing MAX_PATH definition. Signed-off-by: Wang Mingyu Signed-off-by: Richard Purdie --- .../0001-Fixed-compile-error-on-GNU-Hurd.patch | 28 +++++ .../sysvinit/sysvinit/pidof-add-m-option.patch | 10 +- meta/recipes-core/sysvinit/sysvinit_3.01.bb | 117 -------------------- meta/recipes-core/sysvinit/sysvinit_3.02.bb | 118 +++++++++++++++++++++ 4 files changed, 151 insertions(+), 122 deletions(-) create mode 100644 meta/recipes-core/sysvinit/sysvinit/0001-Fixed-compile-error-on-GNU-Hurd.patch delete mode 100644 meta/recipes-core/sysvinit/sysvinit_3.01.bb create mode 100644 meta/recipes-core/sysvinit/sysvinit_3.02.bb diff --git a/meta/recipes-core/sysvinit/sysvinit/0001-Fixed-compile-error-on-GNU-Hurd.patch b/meta/recipes-core/sysvinit/sysvinit/0001-Fixed-compile-error-on-GNU-Hurd.patch new file mode 100644 index 0000000000..d278a32ec7 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/0001-Fixed-compile-error-on-GNU-Hurd.patch @@ -0,0 +1,28 @@ +From d595594506e6fd2247f7984c276f822ea626434c Mon Sep 17 00:00:00 2001 +From: Wang Mingyu +Date: Thu, 7 Apr 2022 11:57:19 +0900 +Subject: [PATCH] Fixed compile error on GNU Hurd + +Fixed compile error on GNU Hurd due to missing MAX_PATH definition. + +Upstream-Status: Backport [https://github.com/slicer69/sysvinit/commit/14d8d25269016b26965b428a855dd084cc88994d] + +Signed-off-by: Wang Mingyu +--- + src/bootlogd.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/bootlogd.h b/src/bootlogd.h +index b47bc9d..ba17f0c 100644 +--- a/src/bootlogd.h ++++ b/src/bootlogd.h +@@ -10,3 +10,6 @@ + #define FALSE 0 + #endif + ++#ifndef PATH_MAX ++#define PATH_MAX 2048 ++#endif +-- +2.25.1 + diff --git a/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch b/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch index 4386e6f832..8ef292ed12 100644 --- a/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch +++ b/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch @@ -1,4 +1,4 @@ -From 96fb53ef2ccd2580cf0aa565ef1629cb05eae50a Mon Sep 17 00:00:00 2001 +From 0e441712d0e366a0384ff3fa879f5a2d2607c24f Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Wed, 24 Jul 2013 17:07:22 +0800 Subject: [PATCH] pidof: add -m option @@ -21,10 +21,10 @@ Signed-off-by: Hongxu Jia 2 files changed, 65 insertions(+), 3 deletions(-) diff --git a/man/pidof.8 b/man/pidof.8 -index 84ed1e4..ac184da 100644 +index 6866cb3..a87d878 100644 --- a/man/pidof.8 +++ b/man/pidof.8 -@@ -25,6 +25,7 @@ pidof -- find the process ID of a running program. +@@ -25,6 +25,7 @@ pidof - find the process ID of a running program .RB [ \-n ] .RB [ \-x ] .RB [ \-z ] @@ -32,9 +32,9 @@ index 84ed1e4..ac184da 100644 .RB [ \-o .IR omitpid[,omitpid...] ] .RB [ \-o -@@ -79,6 +80,11 @@ is shown. The default separator is a space. +@@ -77,6 +78,11 @@ is shown. The default separator is a space. Tells \fIpidof\fP to omit processes with that process id. The special - pid \fB%PPID\fP can be used to name the parent process of the \fIpidof\fP + pid \fB%PPID\fP can be used to name the parent process of the \fBpidof\fP program, in other words the calling shell or shell script. +.IP -m +When used with -o, will also omit any processes that have the same diff --git a/meta/recipes-core/sysvinit/sysvinit_3.01.bb b/meta/recipes-core/sysvinit/sysvinit_3.01.bb deleted file mode 100644 index 844f5f0175..0000000000 --- a/meta/recipes-core/sysvinit/sysvinit_3.01.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "System-V like init" -DESCRIPTION = "This package is required to boot in most configurations. It provides the /sbin/init program. This is the first process started on boot, and the last process terminated before the system halts." -HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit/" -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://COPYRIGHT;endline=15;md5=a1d3b3526501d3546d530bbe6ab6cdbe \ - " - -RDEPENDS:${PN} = "${PN}-inittab" - -SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.xz \ - file://install.patch \ - file://crypt-lib.patch \ - file://pidof-add-m-option.patch \ - file://realpath.patch \ - file://0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch \ - file://rcS-default \ - file://rc \ - file://rcS \ - file://bootlogd.init \ - file://01_bootlogd \ - " -SRC_URI[sha256sum] = "68b11a4772cdacce5fb65a4cbead324a2ce3999d138b4ff61dc2d59e57ef5793" - -S = "${WORKDIR}/sysvinit-${PV}" - -inherit update-alternatives features_check -DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" -do_package_setscene[depends] = "${MLPREFIX}base-passwd:do_populate_sysroot" - -PACKAGECONFIG[psplash-text-updates] = ",," - -REQUIRED_DISTRO_FEATURES = "sysvinit" - -ALTERNATIVE:${PN} = "init mountpoint halt reboot runlevel shutdown poweroff last lastb mesg utmpdump wall" - -ALTERNATIVE_PRIORITY = "200" - -ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init" -ALTERNATIVE_PRIORITY[init] = "50" - -ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint" -ALTERNATIVE_PRIORITY[mountpoint] = "20" - -ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" -ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" -ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" -ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" -ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" - -ALTERNATIVE:${PN}-pidof = "pidof" -ALTERNATIVE_LINK_NAME[pidof] = "${base_bindir}/pidof" - -ALTERNATIVE:${PN}-sulogin = "sulogin" -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" - -ALTERNATIVE:${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 sulogin.8 utmpdump.1" - -ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1" -ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1" -ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" -ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" -ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" -ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" -ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" - -PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" -FILES:${PN} += "${base_sbindir}/* ${base_bindir}/*" -FILES:sysvinit-pidof = "${base_bindir}/pidof.sysvinit ${base_sbindir}/killall5" -FILES:sysvinit-sulogin = "${base_sbindir}/sulogin.sysvinit" - -RDEPENDS:${PN} += "sysvinit-pidof initd-functions base-passwd" - -CFLAGS:prepend = "-D_GNU_SOURCE " -export LCRYPT = "-lcrypt" -EXTRA_OEMAKE += "'base_bindir=${base_bindir}' \ - 'base_sbindir=${base_sbindir}' \ - 'bindir=${bindir}' \ - 'sbindir=${sbindir}' \ - 'sysconfdir=${sysconfdir}' \ - 'includedir=${includedir}' \ - 'mandir=${mandir}' \ - MNTPOINT=yes" - -do_install () { - oe_runmake 'ROOT=${D}' install - - install -d ${D}${sysconfdir} \ - ${D}${sysconfdir}/default \ - ${D}${sysconfdir}/init.d - for level in S 0 1 2 3 4 5 6; do - install -d ${D}${sysconfdir}/rc$level.d - done - - sed -e \ - 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ - ${WORKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS - chmod 0644 ${D}${sysconfdir}/default/rcS - install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd - ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd - - update-rc.d -r ${D} bootlogd start 07 S . - update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . - - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles - - chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown - chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown - - # Already provided by e2fsprogs; sysvinit's version is a copy from there - rm ${D}${base_sbindir}/logsave - rm ${D}${mandir}/man8/logsave.8 -} diff --git a/meta/recipes-core/sysvinit/sysvinit_3.02.bb b/meta/recipes-core/sysvinit/sysvinit_3.02.bb new file mode 100644 index 0000000000..cfe9d0b597 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit_3.02.bb @@ -0,0 +1,118 @@ +SUMMARY = "System-V like init" +DESCRIPTION = "This package is required to boot in most configurations. It provides the /sbin/init program. This is the first process started on boot, and the last process terminated before the system halts." +HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit/" +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYRIGHT;endline=15;md5=a1d3b3526501d3546d530bbe6ab6cdbe \ + " + +RDEPENDS:${PN} = "${PN}-inittab" + +SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.xz \ + file://install.patch \ + file://crypt-lib.patch \ + file://pidof-add-m-option.patch \ + file://realpath.patch \ + file://0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch \ + file://rcS-default \ + file://rc \ + file://rcS \ + file://bootlogd.init \ + file://01_bootlogd \ + file://0001-Fixed-compile-error-on-GNU-Hurd.patch \ + " +SRC_URI[sha256sum] = "4ca03ffdbefb5a99a60b94a021693686c2b498a08ff8aa4e859821fa7c39a792" + +S = "${WORKDIR}/sysvinit-${PV}" + +inherit update-alternatives features_check +DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" +do_package_setscene[depends] = "${MLPREFIX}base-passwd:do_populate_sysroot" + +PACKAGECONFIG[psplash-text-updates] = ",," + +REQUIRED_DISTRO_FEATURES = "sysvinit" + +ALTERNATIVE:${PN} = "init mountpoint halt reboot runlevel shutdown poweroff last lastb mesg utmpdump wall" + +ALTERNATIVE_PRIORITY = "200" + +ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init" +ALTERNATIVE_PRIORITY[init] = "50" + +ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint" +ALTERNATIVE_PRIORITY[mountpoint] = "20" + +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" + +ALTERNATIVE:${PN}-pidof = "pidof" +ALTERNATIVE_LINK_NAME[pidof] = "${base_bindir}/pidof" + +ALTERNATIVE:${PN}-sulogin = "sulogin" +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" + +ALTERNATIVE:${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 sulogin.8 utmpdump.1" + +ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1" +ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1" +ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" +ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" +ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" +ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" +ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" + +PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" +FILES:${PN} += "${base_sbindir}/* ${base_bindir}/*" +FILES:sysvinit-pidof = "${base_bindir}/pidof.sysvinit ${base_sbindir}/killall5" +FILES:sysvinit-sulogin = "${base_sbindir}/sulogin.sysvinit" + +RDEPENDS:${PN} += "sysvinit-pidof initd-functions base-passwd" + +CFLAGS:prepend = "-D_GNU_SOURCE " +export LCRYPT = "-lcrypt" +EXTRA_OEMAKE += "'base_bindir=${base_bindir}' \ + 'base_sbindir=${base_sbindir}' \ + 'bindir=${bindir}' \ + 'sbindir=${sbindir}' \ + 'sysconfdir=${sysconfdir}' \ + 'includedir=${includedir}' \ + 'mandir=${mandir}' \ + MNTPOINT=yes" + +do_install () { + oe_runmake 'ROOT=${D}' install + + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/default \ + ${D}${sysconfdir}/init.d + for level in S 0 1 2 3 4 5 6; do + install -d ${D}${sysconfdir}/rc$level.d + done + + sed -e \ + 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ + ${WORKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS + chmod 0644 ${D}${sysconfdir}/default/rcS + install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd + ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd + + update-rc.d -r ${D} bootlogd start 07 S . + update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles + + chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown + chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown + + # Already provided by e2fsprogs; sysvinit's version is a copy from there + rm ${D}${base_sbindir}/logsave + rm ${D}${mandir}/man8/logsave.8 +} -- cgit 1.2.3-korg