From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/busybox/, sys-apps/busybox/files/
Date: Sun, 3 Jul 2022 23:54:23 +0000 (UTC) [thread overview]
Message-ID: <1656892363.f51fe5149921cfd97d4eb15ba9560fd3d9a24226.sam@gentoo> (raw)
commit: f51fe5149921cfd97d4eb15ba9560fd3d9a24226
Author: Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com>
AuthorDate: Fri Jul 1 11:03:50 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 23:52:43 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f51fe514
sys-apps/busybox: sync fixes to newer versions
Sync fixes from 1.34.0-r1 to 1.35.0-r1 and to 9999
Fix new QA issue in live version
Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
...usybox-9999.ebuild => busybox-1.35.0-r1.ebuild} | 36 +++++++++--
sys-apps/busybox/busybox-9999.ebuild | 34 ++++++++--
.../files/busybox-1.36.0-fix-wx-sections.patch | 74 ++++++++++++++++++++++
3 files changed, 133 insertions(+), 11 deletions(-)
diff --git a/sys-apps/busybox/busybox-9999.ebuild b/sys-apps/busybox/busybox-1.35.0-r1.ebuild
similarity index 85%
copy from sys-apps/busybox/busybox-9999.ebuild
copy to sys-apps/busybox/busybox-1.35.0-r1.ebuild
index 490896632feb..76d06dcb9b29 100644
--- a/sys-apps/busybox/busybox-9999.ebuild
+++ b/sys-apps/busybox/busybox-1.35.0-r1.ebuild
@@ -5,7 +5,7 @@
EAPI=7
-inherit flag-o-matic savedconfig toolchain-funcs
+inherit eapi8-dosym flag-o-matic savedconfig toolchain-funcs
DESCRIPTION="Utilities for rescue and embedded systems"
HOMEPAGE="https://www.busybox.net/"
@@ -16,7 +16,8 @@ if [[ ${PV} == "9999" ]] ; then
else
MY_P="${PN}-${PV/_/-}"
SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ # unstable release - no keywords
+ # KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="GPL-2" # GPL-2 only
@@ -72,6 +73,7 @@ busybox_config_enabled() {
# patches go here!
PATCHES=(
"${FILESDIR}"/${PN}-1.26.2-bb.patch
+ "${FILESDIR}"/${PN}-1.34.1-skip-selinux-search.patch
# "${FILESDIR}"/${P}-*.patch
)
@@ -114,12 +116,14 @@ src_configure() {
ewarn "Could not locate user configfile, so we will save a default one"
fi
+ # setting SKIP_SELINUX skips searching for selinux at this stage. We don't
+ # need to search now in case we end up not needing it after all.
# setup the config file
- emake -j1 -s allyesconfig >/dev/null
+ emake -j1 -s allyesconfig SKIP_SELINUX=$(usex selinux n y) >/dev/null #620918
# nommu forces a bunch of things off which we want on #387555
busybox_config_option n NOMMU
sed -i '/^#/d' .config
- yes "" | emake -j1 -s oldconfig >/dev/null
+ yes "" | emake -j1 -s oldconfig SKIP_SELINUX=$(usex selinux n y) >/dev/null #620918
# now turn off stuff we really don't want
busybox_config_option n DMALLOC
@@ -131,6 +135,10 @@ src_configure() {
busybox_config_option n MONOTONIC_SYSCALL
busybox_config_option n USE_PORTABLE_CODE
busybox_config_option n WERROR
+ # CONFIG_MODPROBE_SMALL=y disables depmod.c and uses a smaller one that
+ # does not support -b. Setting this to no creates slightly larger and
+ # slightly more useful modutils
+ busybox_config_option n MODPROBE_SMALL #472464
# triming the BSS size may be dangerous
busybox_config_option n FEATURE_USE_BSS_TAIL
@@ -245,7 +253,10 @@ src_install() {
if use mdev ; then
dodir /$(get_libdir)/mdev/
use make-symlinks || dosym /bin/bb /sbin/mdev
- cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf
+ cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf || die
+ if [[ ! "$(get_libdir)" == "lib" ]]; then
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" "${ED}"/etc/mdev.conf || die #831251 - replace lib with lib64 where appropriate
+ fi
exeinto /$(get_libdir)/mdev/
doexe "${FILESDIR}"/mdev/*
@@ -274,6 +285,7 @@ src_install() {
newinitd "${FILESDIR}"/watchdog.initd busybox-watchdog
fi
if busybox_config_enabled UDHCPC; then
+ sed -i 's:$((metric++)):$metric; metric=$((metric + 1)):' examples/udhcp/simple.script || die #801535
local path=$(busybox_config_enabled UDHCPC_DEFAULT_SCRIPT)
exeinto "${path%/*}"
newexe examples/udhcp/simple.script "${path##*/}"
@@ -282,13 +294,22 @@ src_install() {
insinto /etc
doins examples/udhcp/udhcpd.conf
fi
+ if busybox_config_enabled ASH && ! use make-symlinks; then
+ dosym8 -r /bin/busybox /bin/ash
+ fi
+ if busybox_config_enabled CROND; then
+ newconfd "${FILESDIR}"/crond.confd busybox-crond
+ newinitd "${FILESDIR}"/crond.initd busybox-crond
+ fi
# bundle up the symlink files for use later
emake DESTDIR="${ED}" install
rm _install/bin/busybox || die
# for compatibility, provide /usr/bin/env
mkdir -p _install/usr/bin || die
- ln -s /bin/env _install/usr/bin/env || die
+ if [[ ! -e _install/usr/bin/env ]]; then
+ ln -s /bin/env _install/usr/bin/env || die
+ fi
tar cf busybox-links.tar -C _install . || : #;die
insinto /usr/share/${PN}
use make-symlinks && doins busybox-links.tar
@@ -307,6 +328,9 @@ src_install() {
cd ../examples || die
docinto examples
dodoc inittab depmod.pl *.conf *.script undeb unrpm
+
+ cd ../networking || die
+ dodoc httpd_indexcgi.c httpd_post_upload.cgi
}
pkg_preinst() {
diff --git a/sys-apps/busybox/busybox-9999.ebuild b/sys-apps/busybox/busybox-9999.ebuild
index 490896632feb..5e059850212f 100644
--- a/sys-apps/busybox/busybox-9999.ebuild
+++ b/sys-apps/busybox/busybox-9999.ebuild
@@ -5,7 +5,7 @@
EAPI=7
-inherit flag-o-matic savedconfig toolchain-funcs
+inherit eapi8-dosym flag-o-matic savedconfig toolchain-funcs
DESCRIPTION="Utilities for rescue and embedded systems"
HOMEPAGE="https://www.busybox.net/"
@@ -72,6 +72,8 @@ busybox_config_enabled() {
# patches go here!
PATCHES=(
"${FILESDIR}"/${PN}-1.26.2-bb.patch
+ "${FILESDIR}"/${PN}-1.34.1-skip-selinux-search.patch
+ "${FILESDIR}"/${PN}-1.36.0-fix-wx-sections.patch
# "${FILESDIR}"/${P}-*.patch
)
@@ -114,12 +116,14 @@ src_configure() {
ewarn "Could not locate user configfile, so we will save a default one"
fi
+ # setting SKIP_SELINUX skips searching for selinux at this stage. We don't
+ # need to search now in case we end up not needing it after all.
# setup the config file
- emake -j1 -s allyesconfig >/dev/null
+ emake -j1 -s allyesconfig SKIP_SELINUX=$(usex selinux n y) >/dev/null #620918
# nommu forces a bunch of things off which we want on #387555
busybox_config_option n NOMMU
sed -i '/^#/d' .config
- yes "" | emake -j1 -s oldconfig >/dev/null
+ yes "" | emake -j1 -s oldconfig SKIP_SELINUX=$(usex selinux n y) >/dev/null #620918
# now turn off stuff we really don't want
busybox_config_option n DMALLOC
@@ -131,6 +135,10 @@ src_configure() {
busybox_config_option n MONOTONIC_SYSCALL
busybox_config_option n USE_PORTABLE_CODE
busybox_config_option n WERROR
+ # CONFIG_MODPROBE_SMALL=y disables depmod.c and uses a smaller one that
+ # does not support -b. Setting this to no creates slightly larger and
+ # slightly more useful modutils
+ busybox_config_option n MODPROBE_SMALL #472464
# triming the BSS size may be dangerous
busybox_config_option n FEATURE_USE_BSS_TAIL
@@ -245,7 +253,10 @@ src_install() {
if use mdev ; then
dodir /$(get_libdir)/mdev/
use make-symlinks || dosym /bin/bb /sbin/mdev
- cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf
+ cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf || die
+ if [[ ! "$(get_libdir)" == "lib" ]]; then
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" "${ED}"/etc/mdev.conf || die #831251 - replace lib with lib64 where appropriate
+ fi
exeinto /$(get_libdir)/mdev/
doexe "${FILESDIR}"/mdev/*
@@ -274,6 +285,7 @@ src_install() {
newinitd "${FILESDIR}"/watchdog.initd busybox-watchdog
fi
if busybox_config_enabled UDHCPC; then
+ sed -i 's:$((metric++)):$metric; metric=$((metric + 1)):' examples/udhcp/simple.script || die #801535
local path=$(busybox_config_enabled UDHCPC_DEFAULT_SCRIPT)
exeinto "${path%/*}"
newexe examples/udhcp/simple.script "${path##*/}"
@@ -282,13 +294,22 @@ src_install() {
insinto /etc
doins examples/udhcp/udhcpd.conf
fi
+ if busybox_config_enabled ASH && ! use make-symlinks; then
+ dosym8 -r /bin/busybox /bin/ash
+ fi
+ if busybox_config_enabled CROND; then
+ newconfd "${FILESDIR}"/crond.confd busybox-crond
+ newinitd "${FILESDIR}"/crond.initd busybox-crond
+ fi
# bundle up the symlink files for use later
emake DESTDIR="${ED}" install
rm _install/bin/busybox || die
# for compatibility, provide /usr/bin/env
mkdir -p _install/usr/bin || die
- ln -s /bin/env _install/usr/bin/env || die
+ if [[ ! -e _install/usr/bin/env ]]; then
+ ln -s /bin/env _install/usr/bin/env || die
+ fi
tar cf busybox-links.tar -C _install . || : #;die
insinto /usr/share/${PN}
use make-symlinks && doins busybox-links.tar
@@ -307,6 +328,9 @@ src_install() {
cd ../examples || die
docinto examples
dodoc inittab depmod.pl *.conf *.script undeb unrpm
+
+ cd ../networking || die
+ dodoc httpd_indexcgi.c httpd_post_upload.cgi
}
pkg_preinst() {
diff --git a/sys-apps/busybox/files/busybox-1.36.0-fix-wx-sections.patch b/sys-apps/busybox/files/busybox-1.36.0-fix-wx-sections.patch
new file mode 100644
index 000000000000..16118cf9b95f
--- /dev/null
+++ b/sys-apps/busybox/files/busybox-1.36.0-fix-wx-sections.patch
@@ -0,0 +1,74 @@
+ * QA Notice: The following files contain writable and executable sections
+ * Files with such sections will not work properly (or at all!) on some
+ * architectures/operating systems. A bug should be filed at
+ * https://bugs.gentoo.org/ to make sure the issue is fixed.
+ * For more information, see:
+ *
+ * https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
+ *
+ * Please include the following list of files in your report:
+ * Note: Bugs should be filed for the respective maintainers
+ * of the package in question and not hardened@gentoo.org.
+ * RWX --- --- bin/busybox
+
+$ scanelf -qeR .
+RWX --- --- ./busybox
+RWX --- --- ./busybox_unstripped
+!WX --- --- ./libbb/hash_md5_sha_x86-64_shaNI.o
+!WX --- --- ./libbb/hash_md5_sha_x86-64.o
+!WX --- --- ./libbb/hash_md5_sha_x86-32_shaNI.o
+!WX --- --- ./libbb/hash_md5_sha256_x86-64_shaNI.o
+!WX --- --- ./libbb/hash_md5_sha256_x86-32_shaNI.o
+
+Try to fix this QA issue
+
+--- a/libbb/hash_md5_sha256_x86-32_shaNI.S
++++ b/libbb/hash_md5_sha256_x86-32_shaNI.S
+@@ -278,4 +278,7 @@
+ PSHUFFLE_BSWAP32_FLIP_MASK:
+ .octa 0x0c0d0e0f08090a0b0405060700010203
+
++#if defined(__linux__) && defined(__ELF__)
++ .section .note.GNU-stack, "", %progbits
++#endif
+ #endif
+--- a/libbb/hash_md5_sha256_x86-64_shaNI.S
++++ b/libbb/hash_md5_sha256_x86-64_shaNI.S
+@@ -284,4 +284,7 @@
+ PSHUFFLE_BSWAP32_FLIP_MASK:
+ .octa 0x0c0d0e0f08090a0b0405060700010203
+
++#if defined(__linux__) && defined(__ELF__)
++ .section .note.GNU-stack, "", %progbits
++#endif
+ #endif
+--- a/libbb/hash_md5_sha_x86-32_shaNI.S
++++ b/libbb/hash_md5_sha_x86-32_shaNI.S
+@@ -228,4 +228,7 @@
+ PSHUFFLE_BYTE_FLIP_MASK:
+ .octa 0x000102030405060708090a0b0c0d0e0f
+
++#if defined(__linux__) && defined(__ELF__)
++ .section .note.GNU-stack, "", %progbits
++#endif
+ #endif
+--- a/libbb/hash_md5_sha_x86-64.S
++++ b/libbb/hash_md5_sha_x86-64.S
+@@ -1483,4 +1483,7 @@
+ .long 0x8F1BBCDC
+ .long 0xCA62C1D6
+
++#if defined(__linux__) && defined(__ELF__)
++ .section .note.GNU-stack, "", %progbits
++#endif
+ #endif
+--- a/libbb/hash_md5_sha_x86-64_shaNI.S
++++ b/libbb/hash_md5_sha_x86-64_shaNI.S
+@@ -226,4 +226,7 @@
+ PSHUFFLE_BYTE_FLIP_MASK:
+ .octa 0x000102030405060708090a0b0c0d0e0f
+
++#if defined(__linux__) && defined(__ELF__)
++ .section .note.GNU-stack, "", %progbits
++#endif
+ #endif
next reply other threads:[~2022-07-03 23:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-03 23:54 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-07-05 5:43 [gentoo-commits] repo/gentoo:master commit in: sys-apps/busybox/, sys-apps/busybox/files/ Viorel Munteanu
2024-03-29 15:48 Viorel Munteanu
2023-08-17 13:07 Viorel Munteanu
2023-04-12 7:35 Sam James
2022-06-30 21:41 Sam James
2022-06-30 21:41 Sam James
2020-02-06 23:06 Patrick McLean
2017-01-28 22:14 Anthony G. Basile
2015-11-13 5:23 Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1656892363.f51fe5149921cfd97d4eb15ba9560fd3d9a24226.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox