diff options
author | 2024-02-26 16:26:02 -0500 | |
---|---|---|
committer | 2024-02-26 16:26:47 -0500 | |
commit | 9df48396fb10edebdf8b37d160fa6325574fe5d5 (patch) | |
tree | 4b7fdf1fb07b7e6589f4cf738f6b61afd27cdb4f /sys-apps | |
parent | sys-apps/sysvinit: fix install with EPREFIX set (diff) | |
download | gentoo-9df48396fb10edebdf8b37d160fa6325574fe5d5.tar.gz gentoo-9df48396fb10edebdf8b37d160fa6325574fe5d5.tar.bz2 gentoo-9df48396fb10edebdf8b37d160fa6325574fe5d5.zip |
sys-apps/sysvinit: drop 3.07, 3.07-r2
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/sysvinit/Manifest | 2 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/sysvinit-2.86-kexec.patch | 142 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch | 39 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/sysvinit-3.07-halt.patch | 53 | ||||
-rw-r--r-- | sys-apps/sysvinit/sysvinit-3.07-r2.ebuild | 199 | ||||
-rw-r--r-- | sys-apps/sysvinit/sysvinit-3.07.ebuild | 188 |
6 files changed, 0 insertions, 623 deletions
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest index f3921339ee9d..43552e5147cd 100644 --- a/sys-apps/sysvinit/Manifest +++ b/sys-apps/sysvinit/Manifest @@ -1,4 +1,2 @@ -DIST sysvinit-3.07.tar.xz 263352 BLAKE2B 51943290c5f41ac6eb421a3ee1529d07bc127a44306973a2f3180079a28119001ad6b44c25156986fe249dd025f5eb1929189edfb5da72ee4fa64b5fd4cd5993 SHA512 57d8365ae9ab4e3b6ab948d1ac9a4f1fe86c4e86c06ea3b12fca7f7be88ef39b5e04787fbfec9417aaf06cff0db3a90e18e6a6135e205f7eb74a5e7c897491fd -DIST sysvinit-3.07.tar.xz.sig 833 BLAKE2B 7a05a2d44a7006f61bb41abc8ae3d5207cc4558156e5cc553cc9477f4d1366bf847013e22c382aa9112b6c4c9c33d4a5465e73ca810a041c459a927d710dfadc SHA512 50047ce638fd5af19c3894c4dfcada3e1b2e359331b18f6dbc5f526e91f250b736625877362c7741dbd83c9fee79ec8e4e7a57c4aa72102c017b23518064733a DIST sysvinit-3.08.tar.xz 268296 BLAKE2B ec4a4ff3663ac7d67808b50b67631ff4fe1ab56d376df15868df0eb79cbc329b192af124380eec6a797d827c3c7c5586058310d803f42ee1934dcffbfbe876f7 SHA512 a523e030e559ecc56391f9424e240fbe54a714bb3c522ca0bb410b649a1c08c5e9f03d298340a5586565f18d8640b1b418fa09294b41fb95a9cd2a686316b758 DIST sysvinit-3.08.tar.xz.sig 833 BLAKE2B b1cbe8a95faa16a22e92e2a8841643aeaf7a5a31cc9fa9628a7ee2400aac1b3a184ae01f09c75d48d5d55a71f7e62feb25c16345644bfb4fcd19cbd061f86573 SHA512 1af105d84b98428766cc315d8dea068e6c5a7ad52008291ba7c1d5accbcaeead4999fd714fc152c1038e54953f9b469bd0f792a0830e68c3e2f43afcd36e0e2d diff --git a/sys-apps/sysvinit/files/sysvinit-2.86-kexec.patch b/sys-apps/sysvinit/files/sysvinit-2.86-kexec.patch deleted file mode 100644 index 4948806d9eb9..000000000000 --- a/sys-apps/sysvinit/files/sysvinit-2.86-kexec.patch +++ /dev/null @@ -1,142 +0,0 @@ -halt: add a -k kexec flag - ---- a/man/halt.8 -+++ b/man/halt.8 -@@ -40,6 +40,7 @@ halt, reboot, poweroff \- stop the system. - .RB [ \-d ] - .RB [ \-f ] - .RB [ \-i ] -+.RB [ \-k ] - .br - .B /sbin/poweroff - .RB [ \-n ] -@@ -83,6 +84,8 @@ Put all hard drives on the system in stand-by mode just before halt or power-off - .IP \fB\-p\fP - When halting the system, switch off the power. This is the default when halt is - called as \fBpoweroff\fP. -+.IP \fB\-k\fP -+Try to reboot using \fBkexec\fP, if kernel supports it. - .\"}}} - .\"{{{ Diagnostics - .SH DIAGNOSTICS ---- a/src/halt.c -+++ b/src/halt.c -@@ -8,7 +8,7 @@ - * execute an "shutdown -r". This is for compatibility with - * sysvinit 2.4. - * -- * Usage: halt [-n] [-w] [-d] [-f] [-h] [-i] [-p] -+ * Usage: halt [-n] [-w] [-d] [-f] [-h] [-i] [-p] [-k] - * -n: don't sync before halting the system - * -w: only write a wtmp reboot record and exit. - * -d: don't write a wtmp record. -@@ -16,6 +16,7 @@ - * -h: put harddisks in standby mode - * -i: shut down all network interfaces. - * -p: power down the system (if possible, otherwise halt). -+ * -k: reboot the system using kexec. - * - * Reboot and halt are both this program. Reboot - * is just a link to halt. Invoking the program -@@ -74,8 +75,10 @@ extern void write_wtmp(char *user, char *id, int pid, int type, char *line); - */ - void usage(void) - { -- fprintf(stderr, "usage: %s [-n] [-w] [-d] [-f] [-h] [-i]%s\n", -- progname, strcmp(progname, "halt") ? "" : " [-p]"); -+ fprintf(stderr, "usage: %s [-n] [-w] [-d] [-f] [-h] [-i]%s%s\n", -+ progname, -+ strcmp(progname, "halt") ? "" : " [-p]", -+ strcmp(progname, "reboot") ? "" : " [-k]"); - fprintf(stderr, "\t-n: don't sync before halting the system\n"); - fprintf(stderr, "\t-w: only write a wtmp reboot record and exit.\n"); - fprintf(stderr, "\t-d: don't write a wtmp record.\n"); -@@ -84,6 +87,8 @@ void usage(void) - fprintf(stderr, "\t-i: shut down all network interfaces.\n"); - if (!strcmp(progname, "halt")) - fprintf(stderr, "\t-p: power down the system (if possible, otherwise halt).\n"); -+ if (!strcmp(progname, "reboot")) -+ fprintf(stderr, "\t-k: reboot the system using kexec.\n"); - exit(1); - } - -@@ -182,6 +187,7 @@ int main(int argc, char **argv) - int do_ifdown = 0; - int do_hddown = 0; - int do_poweroff = 0; -+ int do_kexec = 0; - int c; - char *tm = NULL; - -@@ -201,7 +207,7 @@ int main(int argc, char **argv) - /* - * Get flags - */ -- while((c = getopt(argc, argv, ":ihdfnpwt:")) != EOF) { -+ while((c = getopt(argc, argv, ":ihdfnpwkt:")) != EOF) { - switch(c) { - case 'n': - do_sync = 0; -@@ -225,6 +231,9 @@ int main(int argc, char **argv) - case 'p': - do_poweroff = 1; - break; -+ case 'k': -+ do_kexec = 1; -+ break; - case 't': - tm = optarg; - break; -@@ -242,10 +251,24 @@ int main(int argc, char **argv) - (void)chdir("/"); - - if (!do_hard && !do_nothing) { -+ c = get_runlevel(); -+ -+ /* -+ * We can't reboot using kexec through this path. -+ */ -+ if (c != '6' && do_reboot && do_kexec) { -+ fprintf(stderr, "ERROR: using -k at this" -+ " runlevel requires also -f\n" -+ " (You probably want instead to reboot" -+ " normally and let your reboot\n" -+ " script, usually /etc/init.d/reboot," -+ " specify -k)\n"); -+ exit(1); -+ } -+ - /* - * See if we are in runlevel 0 or 6. - */ -- c = get_runlevel(); - if (c != '0' && c != '6') - do_shutdown(do_reboot ? "-r" : "-h", tm); - } -@@ -277,6 +300,15 @@ int main(int argc, char **argv) - if (do_nothing) exit(0); - - if (do_reboot) { -+ /* -+ * kexec or reboot -+ */ -+ if (do_kexec) -+ init_reboot(BMAGIC_KEXEC); -+ -+ /* -+ * Fall through if failed -+ */ - init_reboot(BMAGIC_REBOOT); - } else { - /* ---- a/src/reboot.h -+++ b/src/reboot.h -@@ -47,5 +47,8 @@ - # define BMAGIC_POWEROFF BMAGIC_HALT - #endif - -+/* for kexec support */ -+#define BMAGIC_KEXEC 0x45584543 -+ - #define init_reboot(magic) reboot(magic) - diff --git a/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch b/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch deleted file mode 100644 index 9aa85229eee1..000000000000 --- a/sys-apps/sysvinit/files/sysvinit-2.94_beta-shutdown-single.patch +++ /dev/null @@ -1,39 +0,0 @@ -This patch makes shutdown use the Single User runlevel by default so -the gettys are shutdown too. - -Roy Marples <uberlord@gentoo.org> - -Forward-ported from v2.86 to v2.94_beta -Lars Wendler <polynomial-c@gentoo.org> - ---- sysvinit-2.94/man/shutdown.8 -+++ sysvinit-2.94/man/shutdown.8 -@@ -44,7 +44,7 @@ - \fBshutdown\fP does its job by signalling the \fBinit\fP process, - asking it to change the runlevel. - Runlevel \fB0\fP is used to halt the system, runlevel \fB6\fP is used --to reboot the system, and runlevel \fB1\fP is used to put to system into -+to reboot the system, and runlevel \fBS\fP is used to put to system into - a state where administrative tasks can be performed; this is the default - if neither the \fI-h\fP or \fI-r\fP flag is given to \fBshutdown\fP. - To see which actions are taken on halt or reboot see the appropriate ---- sysvinit-2.94/src/shutdown.c -+++ sysvinit-2.94/src/shutdown.c -@@ -547,7 +547,7 @@ - usage(); - exit(1); - } -- strcpy(down_level, "1"); -+ strcpy(down_level, "S"); - halttype = NULL; - memset(when, '\0', WHEN_SIZE); - -@@ -734,6 +734,8 @@ - strncpy(newstate, "for reboot", STATELEN); - break; - case '1': -+ case 'S': -+ case 's': - strncpy(newstate, "to maintenance mode", STATELEN); - break; - default: diff --git a/sys-apps/sysvinit/files/sysvinit-3.07-halt.patch b/sys-apps/sysvinit/files/sysvinit-3.07-halt.patch deleted file mode 100644 index 4e65a912ccde..000000000000 --- a/sys-apps/sysvinit/files/sysvinit-3.07-halt.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://github.com/slicer69/sysvinit/pull/18 -https://bugs.gentoo.org/911257 - -From fca101c2ff428eb765958ae6e3aaa0eb1adc0fdf Mon Sep 17 00:00:00 2001 -From: Jesse <jsmith@resonatingmedia.com> -Date: Thu, 27 Jul 2023 00:39:53 -0300 -Subject: [PATCH] Floppym provided patch which causes the halt command to call - "shutdown -h -H" instead of "shutdown -h" when halt is invoked without - parameters. This forces the shutdown command to set the INIT_HALT variable - and assume, unless other conditions apply, that the "halt" call really wants - to halt the machine and INIT_HALT should be set. In other words we assume - halt wants to halt unless told otherwise. Addresses downstream Gentoo bug ID - 911257. - ---- - doc/Changelog | 11 +++++++++++ - src/halt.c | 4 ++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/doc/Changelog b/doc/Changelog -index c00f6ef..b902756 100644 ---- a/doc/Changelog -+++ b/doc/Changelog -@@ -1,3 +1,14 @@ -+sysvinit (3.08) unreleased; urgency=low -+ * Floppym provided patch which causes the halt command -+ to call "shutdown -h -H" instead of "shutdown -h" when -+ halt is invoked without parameters. This forces the shutdown -+ command to set the INIT_HALT variable and assume, unless other -+ conditions apply, that the "halt" call really wants to halt the -+ machine and INIT_HALT should be set. In other words we -+ assume halt wants to halt unless told otherwise. -+ Addresses downstream Gentoo bug ID 911257. -+ -+ - sysvinit (3.07) released; urgency=low - * Fixed killall5 so that processes in the omit list are - not sent any signals, including SIGSTOP. -diff --git a/src/halt.c b/src/halt.c -index a469147..9bd3a4d 100644 ---- a/src/halt.c -+++ b/src/halt.c -@@ -162,8 +162,8 @@ void do_shutdown(char *fl, int should_poweroff, char *tm) - - args[i++] = "shutdown"; - args[i++] = fl; -- if ( (! strcmp(fl, "-h") ) && (should_poweroff) ) -- args[i++] = "-P"; -+ if (! strcmp(fl, "-h")) -+ args[i++] = (should_poweroff ? "-P" : "-H"); - if (tm) { - args[i++] = "-t"; - args[i++] = tm; diff --git a/sys-apps/sysvinit/sysvinit-3.07-r2.ebuild b/sys-apps/sysvinit/sysvinit-3.07-r2.ebuild deleted file mode 100644 index cba58217087d..000000000000 --- a/sys-apps/sysvinit/sysvinit-3.07-r2.ebuild +++ /dev/null @@ -1,199 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Dropped these because blank as of 3.02 -#PLOCALES="de es fi fr hu id pl" -PLOCALES="de es fr pl" -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sysvinit.asc -inherit toolchain-funcs flag-o-matic plocale verify-sig - -DESCRIPTION="/sbin/init - parent of all processes" -HOMEPAGE="https://savannah.nongnu.org/projects/sysvinit" -# https://github.com/slicer69/sysvinit/issues/12 -#SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz" -#SRC_URI+=" verify-sig? ( mirror://nongnu/${PN}/${P/_/-}.tar.xz.sig )" -SRC_URI="https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz" -SRC_URI+=" verify-sig? ( https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz.sig )" -S="${WORKDIR}/${P/_*}" - -LICENSE="GPL-2" -SLOT="0" -if [[ ${PV} != *beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -IUSE="selinux ibm nls static" - -COMMON_DEPEND=" - acct-group/root - selinux? ( - >=sys-libs/libselinux-1.28 - )" -DEPEND="${COMMON_DEPEND} - virtual/os-headers" -# Old OpenRC blocker is for bug #587424 -# Keep for longer than usual given it's cheap and avoid user inconvenience -RDEPEND="${COMMON_DEPEND} - !<app-i18n/man-pages-l10n-4.18.1-r1 - !<sys-apps/openrc-0.13 - selinux? ( sec-policy/selinux-shutdown )" -# po4a is for man page translations -BDEPEND="nls? ( app-text/po4a ) - verify-sig? ( >=sec-keys/openpgp-keys-sysvinit-20220413 )" - -PATCHES=( - # bug #80220 - "${FILESDIR}/${PN}-2.86-kexec.patch" - # bug #158615 - "${FILESDIR}/${PN}-2.94_beta-shutdown-single.patch" - # bug 911257 - "${FILESDIR}/sysvinit-3.07-halt.patch" -) - -src_prepare() { - default - - # We already enforce F_S=2 as a minimum in our toolchain, and - # allow 3. Also, SSP doesn't always make sense for some platforms - # e.g. HPPA. It's default-on in our toolchain where it works. - sed -i \ - -e '/^CPPFLAGS =$/d' \ - -e '/^override CFLAGS +=/s/ -fstack-protector-strong//' \ - -e '/^override CFLAGS +=/s/ -D_FORTIFY_SOURCE=2//' \ - src/Makefile || die - - # last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux - sed -i -r \ - -e '/^(USR)?S?BIN/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \ - -e '/^MAN[18]/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \ - src/Makefile || die - - # pidof has moved to >=procps-3.3.9 - sed -i -r \ - -e '/\/bin\/pidof/d' \ - -e '/^MAN8/s:\<pidof.8\>::g' \ - src/Makefile || die - - # logsave is already in e2fsprogs - sed -i -r \ - -e '/^(USR)?S?BIN/s:\<logsave\>::g' \ - -e '/^MAN8/s:\<logsave.8\>::g' \ - src/Makefile || die - - # Munge inittab for specific architectures - cd "${WORKDIR}" || die - cp "${FILESDIR}"/inittab-2.98-r1 inittab || die "cp inittab" - local insert=() - use ppc && insert=( '#psc0:12345:respawn:/sbin/agetty 115200 ttyPSC0 linux' ) - use arm && insert=( '#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100' ) - use arm64 && insert=( 'f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100' ) - use hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' ) - use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console dumb' ) - if use ibm ; then - insert+=( - '#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0' - '#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0' - ) - fi - (use arm || use mips || use sparc) && sed -i '/ttyS0/s:#::' inittab - if use x86 || use amd64 ; then - sed -i \ - -e '/ttyS[01]/s:9600:115200:' \ - inittab - fi - - if [[ ${#insert[@]} -gt 0 ]] ; then - printf '%s\n' '' '# Architecture specific features' "${insert[@]}" >> inittab - fi - - delete_unused_locale() { - local locale=${1} - - einfo "Deleting non-requested man page translations for locale=${locale}" - rm "${S}"/man/{po/,}${locale}.po || die - rm -rf "${S}"/man/${locale} || die - - sed -i -e "/^\[po4a_langs\]/ s:${locale}::" "${S}"/man/po/po4a.cfg || die - } - - plocale_for_each_disabled_locale delete_unused_locale -} - -src_compile() { - tc-export CC - - append-lfs-flags - - # bug #381311 - export DISTRO= - export VERSION="${PV}" - - use static && append-ldflags -static - emake -C src $(usex selinux 'WITH_SELINUX=yes' '') - - if use nls && [[ -n "$(plocale_get_locales)" ]] ; then - cd man/po || die - po4a po4a.cfg || die - fi -} - -src_install() { - emake -C src install ROOT="${D}" - dodoc README doc/* - - insinto /etc - doins "${WORKDIR}"/inittab - - newinitd "${FILESDIR}"/bootlogd.initd bootlogd - newconfd "${FILESDIR}"/bootlogd.confd bootlogd - - into / - dosbin "${FILESDIR}"/halt.sh - - keepdir /etc/inittab.d - - if use nls && [[ -n "$(plocale_get_locales)" ]] ; then - install_locale_man_pages() { - doman -i18n=${1} man/po/${1}/* - } - - plocale_for_each_locale install_locale_man_pages - fi - - # Dead symlink - find "${ED}" -xtype l -delete || die - - find "${ED}" -type d -empty -delete || die -} - -pkg_postinst() { - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ -z ${ROOT} ]] ; then - if [[ -e /dev/initctl ]] && [[ ! -e /run/initctl ]] ; then - ln -s /dev/initctl /run/initctl \ - || ewarn "Failed to set /run/initctl symlink!" - fi - # Do not return an error if this fails - /sbin/telinit U &>/dev/null - fi - - elog "The last/lastb/mesg/mountpoint/sulogin/utmpdump/wall tools have been moved to" - elog "sys-apps/util-linux. The pidof tool has been moved to sys-process/procps." - - # Required for new bootlogd service - if [[ ! -e "${EROOT}/var/log/boot" ]] ; then - touch "${EROOT}/var/log/boot" - fi - - local ver - for ver in ${REPLACING_VERSIONS}; do - ver_test ${ver} -ge 3.07-r2 && continue - ewarn "Previously, the 'halt' command caused the system to power off" - ewarn "even if option -p was not given. This long-standing bug has" - ewarn "been fixed, and the command now behaves as documented." - break - done -} diff --git a/sys-apps/sysvinit/sysvinit-3.07.ebuild b/sys-apps/sysvinit/sysvinit-3.07.ebuild deleted file mode 100644 index 0d8ffacb778a..000000000000 --- a/sys-apps/sysvinit/sysvinit-3.07.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Dropped these because blank as of 3.02 -#PLOCALES="de es fi fr hu id pl" -PLOCALES="de es fr pl" -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sysvinit.asc -inherit toolchain-funcs flag-o-matic plocale verify-sig - -DESCRIPTION="/sbin/init - parent of all processes" -HOMEPAGE="https://savannah.nongnu.org/projects/sysvinit" -# https://github.com/slicer69/sysvinit/issues/12 -#SRC_URI="mirror://nongnu/${PN}/${P/_/-}.tar.xz" -#SRC_URI+=" verify-sig? ( mirror://nongnu/${PN}/${P/_/-}.tar.xz.sig )" -SRC_URI="https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz" -SRC_URI+=" verify-sig? ( https://github.com/slicer69/sysvinit/releases/download/${PV}/${P}.tar.xz.sig )" -S="${WORKDIR}/${P/_*}" - -LICENSE="GPL-2" -SLOT="0" -if [[ ${PV} != *beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi -IUSE="selinux ibm nls static" - -COMMON_DEPEND=" - acct-group/root - selinux? ( - >=sys-libs/libselinux-1.28 - )" -DEPEND="${COMMON_DEPEND} - virtual/os-headers" -# Old OpenRC blocker is for bug #587424 -# Keep for longer than usual given it's cheap and avoid user inconvenience -RDEPEND="${COMMON_DEPEND} - !<app-i18n/man-pages-l10n-4.18.1-r1 - !<sys-apps/openrc-0.13 - selinux? ( sec-policy/selinux-shutdown )" -# po4a is for man page translations -BDEPEND="nls? ( app-text/po4a ) - verify-sig? ( >=sec-keys/openpgp-keys-sysvinit-20220413 )" - -PATCHES=( - # bug #80220 - "${FILESDIR}/${PN}-2.86-kexec.patch" - # bug #158615 - "${FILESDIR}/${PN}-2.94_beta-shutdown-single.patch" -) - -src_prepare() { - default - - # We already enforce F_S=2 as a minimum in our toolchain, and - # allow 3. Also, SSP doesn't always make sense for some platforms - # e.g. HPPA. It's default-on in our toolchain where it works. - sed -i \ - -e '/^CPPFLAGS =$/d' \ - -e '/^override CFLAGS +=/s/ -fstack-protector-strong//' \ - -e '/^override CFLAGS +=/s/ -D_FORTIFY_SOURCE=2//' \ - src/Makefile || die - - # last/lastb/mesg/mountpoint/sulogin/utmpdump/wall have moved to util-linux - sed -i -r \ - -e '/^(USR)?S?BIN/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)\>::g' \ - -e '/^MAN[18]/s:\<(last|lastb|mesg|mountpoint|sulogin|utmpdump|wall)[.][18]\>::g' \ - src/Makefile || die - - # pidof has moved to >=procps-3.3.9 - sed -i -r \ - -e '/\/bin\/pidof/d' \ - -e '/^MAN8/s:\<pidof.8\>::g' \ - src/Makefile || die - - # logsave is already in e2fsprogs - sed -i -r \ - -e '/^(USR)?S?BIN/s:\<logsave\>::g' \ - -e '/^MAN8/s:\<logsave.8\>::g' \ - src/Makefile || die - - # Munge inittab for specific architectures - cd "${WORKDIR}" || die - cp "${FILESDIR}"/inittab-2.98-r1 inittab || die "cp inittab" - local insert=() - use ppc && insert=( '#psc0:12345:respawn:/sbin/agetty 115200 ttyPSC0 linux' ) - use arm && insert=( '#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100' ) - use arm64 && insert=( 'f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100' ) - use hppa && insert=( 'b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100' ) - use s390 && insert=( 's0:12345:respawn:/sbin/agetty 38400 console dumb' ) - if use ibm ; then - insert+=( - '#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0' - '#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0' - ) - fi - (use arm || use mips || use sparc) && sed -i '/ttyS0/s:#::' inittab - if use x86 || use amd64 ; then - sed -i \ - -e '/ttyS[01]/s:9600:115200:' \ - inittab - fi - - if [[ ${#insert[@]} -gt 0 ]] ; then - printf '%s\n' '' '# Architecture specific features' "${insert[@]}" >> inittab - fi - - delete_unused_locale() { - local locale=${1} - - einfo "Deleting non-requested man page translations for locale=${locale}" - rm "${S}"/man/{po/,}${locale}.po || die - rm -rf "${S}"/man/${locale} || die - - sed -i -e "/^\[po4a_langs\]/ s:${locale}::" "${S}"/man/po/po4a.cfg || die - } - - plocale_for_each_disabled_locale delete_unused_locale -} - -src_compile() { - tc-export CC - - append-lfs-flags - - # bug #381311 - export DISTRO= - export VERSION="${PV}" - - use static && append-ldflags -static - emake -C src $(usex selinux 'WITH_SELINUX=yes' '') - - if use nls && [[ -n "$(plocale_get_locales)" ]] ; then - cd man/po || die - po4a po4a.cfg || die - fi -} - -src_install() { - emake -C src install ROOT="${D}" - dodoc README doc/* - - insinto /etc - doins "${WORKDIR}"/inittab - - newinitd "${FILESDIR}"/bootlogd.initd bootlogd - newconfd "${FILESDIR}"/bootlogd.confd bootlogd - - into / - dosbin "${FILESDIR}"/halt.sh - - keepdir /etc/inittab.d - - if use nls && [[ -n "$(plocale_get_locales)" ]] ; then - install_locale_man_pages() { - doman -i18n=${1} man/po/${1}/* - } - - plocale_for_each_locale install_locale_man_pages - fi - - # Dead symlink - find "${ED}" -xtype l -delete || die - - find "${ED}" -type d -empty -delete || die -} - -pkg_postinst() { - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ -z ${ROOT} ]] ; then - if [[ -e /dev/initctl ]] && [[ ! -e /run/initctl ]] ; then - ln -s /dev/initctl /run/initctl \ - || ewarn "Failed to set /run/initctl symlink!" - fi - # Do not return an error if this fails - /sbin/telinit U &>/dev/null - fi - - elog "The last/lastb/mesg/mountpoint/sulogin/utmpdump/wall tools have been moved to" - elog "sys-apps/util-linux. The pidof tool has been moved to sys-process/procps." - - # Required for new bootlogd service - if [[ ! -e "${EROOT}/var/log/boot" ]] ; then - touch "${EROOT}/var/log/boot" - fi -} |