From cc4618c9ba3d974948ebf340b542d8cb01db2f55 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 16 Sep 2021 22:05:01 +0100 Subject: gentoo resync : 16.09.2021 --- sys-apps/busybox/Manifest | 4 +- sys-apps/busybox/busybox-1.34.0.ebuild | 352 +++++++++++++++++++++++++++++++++ sys-apps/busybox/metadata.xml | 2 +- 3 files changed, 356 insertions(+), 2 deletions(-) create mode 100644 sys-apps/busybox/busybox-1.34.0.ebuild (limited to 'sys-apps/busybox') diff --git a/sys-apps/busybox/Manifest b/sys-apps/busybox/Manifest index 683f6eddc3ab..9bc240882258 100644 --- a/sys-apps/busybox/Manifest +++ b/sys-apps/busybox/Manifest @@ -15,8 +15,10 @@ AUX watchdog.confd 232 BLAKE2B 14ff3813297bc987e98bf3cabee2e7b150e23d8aa9f016303 AUX watchdog.initd 219 BLAKE2B 3726fec4551962d6e20859c52e18582fbf127e2fc2807379afe9d490ad32b19a6d10d456155fdeb0468c67816f061b1cac166db7f104dbadadf0d175082efdb4 SHA512 d329fb72ce078a95a1fb77b72321dee56d19c76b45cb78a7a57a46d9fa385b982a114be49dd8696c2d4fc2b2dd90a17ee728ef2938172cc2f8b12b5a9ebd62f5 DIST busybox-1.32.1.tar.bz2 2444679 BLAKE2B b0258345d40628d8c12b4cc5c3efdb318cfb469e029242942cdad22aeec5142963291a746fbac450b43a4a1f2f7e9204442456691fa98f18eeaa58c70d714caf SHA512 3a33e99adaf7cbd51dcbeb31b5361123bf61ac040c0a032656c654ddb69c4074af75fb4335ba63f283067f61a22d7d7cbca8e1ed265c9522982c453ce48ea2fd DIST busybox-1.33.1.tar.bz2 2453694 BLAKE2B 2dce3427ab7703c56cbb3bdc0c93c1fe1c6dc24c5b467b6213b8f9cf55223ec63136b3837970e41293cc3d55d320599945d29a69a4ef8b4b3ab9fb5e2a527632 SHA512 d24931432f65e4e79cf54a6c2b91c9cafba817b637d337f456ce8f505434fc06c4345c65cde4fe2a019650a8a089a6f5336bfafb5ef64a4f14659a9d0b3ddb1a +DIST busybox-1.34.0.tar.bz2 2476120 BLAKE2B ea8b06c08ce0abf0fc2742a3231417d169aa0ad7024bb3672816c8ab410d8df11836f68e5e1ac0c7358e2c50a796a114ee4a67bacb1022b2c48daafa98cfc8e5 SHA512 c57231e6d5dea8f2f5429673e9ea392a0f4b752731ec1f4903da8ca786914cda3065d80deeb28fb27d77848c892d587adf3b3150218d27cd87c5ece43de1b35a EBUILD busybox-1.32.1-r1.ebuild 9640 BLAKE2B 1bf881647d58a197e690e068b81aa2522fdbecf69784862b1842d54ea1caedff7fa4d6bec8b69388bd8fbddfdd76d48d36b07b7147ebf7f5368df3219efb135e SHA512 c163d435a5bac776c519a539f1760134973314434e75c84dd9f427ea0a7c5fd9c41216db61444c97931b86a6cb6ae17fdc1f0d1c5f36118fc5006c89a3599b7d EBUILD busybox-1.33.1-r2.ebuild 10005 BLAKE2B bf17f1295130d647c44763e379034ec4adbbdba2af58f058d0e9f451b9acc0a95b309e2cb93ea18387a68df039c5e41c32c3ea59ed035fc64fb0ced5918e9b9d SHA512 163b156852b7afdacbd96f7f38967e746c64056d11c31a0139cb62263839d2302cd3dd21665fc11afb74916c8a079756e44900d6f0d24487232dfa9e2d7590d3 EBUILD busybox-1.33.1.ebuild 9648 BLAKE2B 59715aafaca840cdac5b941fb5ad66619510b5cffc2fd252c2b1c8068638449c6ea7bff34f7262e64728b39c663185483db6ee74cedea07c669f6a4528ec4741 SHA512 c1b22a7535b4441ed47e53cac5a27dda04a6b58bdc8eaa96de558ae88cb4e2d10d720473284e569d3a93a53f14214566401bf7766c4fa5fe2a4d46a3a3803406 +EBUILD busybox-1.34.0.ebuild 10064 BLAKE2B 1e6993193f0f2ef6676bed65c61b3f37ac2ef7dc77687bbc0622eb654b53b23603a1b3dccb08d6f2cc3ec292050819601b3ea86e73b0cd525eeec1b3bf61374c SHA512 a213c11aa37edd0ae41baf1ed984ab25adb75b0dba3be4a27d7ee58f29b8dc3cb4a698ff02bfe1b2c3e02aeebe78823af41f3eb53a5e5de63d280af8c53cfbff EBUILD busybox-9999.ebuild 10005 BLAKE2B bf17f1295130d647c44763e379034ec4adbbdba2af58f058d0e9f451b9acc0a95b309e2cb93ea18387a68df039c5e41c32c3ea59ed035fc64fb0ced5918e9b9d SHA512 163b156852b7afdacbd96f7f38967e746c64056d11c31a0139cb62263839d2302cd3dd21665fc11afb74916c8a079756e44900d6f0d24487232dfa9e2d7590d3 -MISC metadata.xml 872 BLAKE2B e42037070f8473e11bcf693727c7f4649348afce6cd14aec53b2ebf5f683c32ceb3218d83e8efd3ec34f5c55ece4cc83b24725bc133669bd03825bbe2fd62396 SHA512 c0b3f8b9348553d8a4db25c1c51ef5a82bcd14a09251568c0709b392e2dea9bc35dced96377d11a32ad53ba09052603781caebf754428debf7acb0aaedafbf07 +MISC metadata.xml 873 BLAKE2B d9c3725e1c3587d497894761d9eda08b670522d5c1a5518ea879cb5c9f222519005d28a36d6dea0b34d4bf4a2352e54aa151177f98ac730ce5b83e87ae4d35a2 SHA512 4c74f718046b41fbcf0111c797d6cdfa1f647914bfa5ff9aaedd6844ba1367722f225ed8ac17717d7b44c5ddc3b450e130da46cc0f6e21501b66cfd267a8f9ad diff --git a/sys-apps/busybox/busybox-1.34.0.ebuild b/sys-apps/busybox/busybox-1.34.0.ebuild new file mode 100644 index 000000000000..7b556bbba975 --- /dev/null +++ b/sys-apps/busybox/busybox-1.34.0.ebuild @@ -0,0 +1,352 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# See `man savedconfig.eclass` for info on how to use USE=savedconfig. + +EAPI=7 + +inherit flag-o-matic savedconfig toolchain-funcs + +DESCRIPTION="Utilities for rescue and embedded systems" +HOMEPAGE="https://www.busybox.net/" +if [[ ${PV} == "9999" ]] ; then + MY_P=${P} + EGIT_REPO_URI="https://git.busybox.net/busybox" + inherit git-r3 +else + MY_P=${PN}-${PV/_/-} + SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2" + # Unkeyworded for now for testing as 'unstable' upstream + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-2" # GPL-2 only +SLOT="0" +IUSE="debug ipv6 livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd" +REQUIRED_USE="pam? ( !static )" +RESTRICT="test" + +# TODO: Could make pkgconfig conditional on selinux? bug #782829 +COMMON_DEPEND="!static? ( selinux? ( sys-libs/libselinux ) ) + pam? ( sys-libs/pam ) + virtual/libcrypt:=" +DEPEND="${COMMON_DEPEND} + static? ( + virtual/libcrypt[static-libs] + selinux? ( sys-libs/libselinux[static-libs(+)] ) + ) + >=sys-kernel/linux-headers-2.6.39" +BDEPEND="virtual/pkgconfig" +RDEPEND="${COMMON_DEPEND} + mdev? ( !::g' \ + Makefile.flags || die + #sed -i '/bbsh/s:^//::' include/applets.h + sed -i '/^#error Aborting compilation./d' applets/applets.c || die + use elibc_glibc && sed -i 's:-Wl,--gc-sections::' Makefile + sed -i \ + -e "/^CROSS_COMPILE/s:=.*:= ${CHOST}-:" \ + -e "/^AR\>/s:=.*:= $(tc-getAR):" \ + -e "/^CC\>/s:=.*:= $(tc-getCC):" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^PKG_CONFIG\>/s:=.*:= $(tc-getPKG_CONFIG):" \ + Makefile || die + sed -i \ + -e 's:-static-libgcc::' \ + Makefile.flags || die +} + +src_configure() { + # check for a busybox config before making one of our own. + # if one exist lets return and use it. + + restore_config .config + if [ -f .config ]; then + yes "" | emake -j1 -s oldconfig >/dev/null + return 0 + else + ewarn "Could not locate user configfile, so we will save a default one" + fi + + # setup the config file + emake -j1 -s allyesconfig >/dev/null + # 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 + + # now turn off stuff we really don't want + busybox_config_option n DMALLOC + busybox_config_option n FEATURE_2_4_MODULES #607548 + busybox_config_option n FEATURE_SUID_CONFIG + busybox_config_option n BUILD_AT_ONCE + busybox_config_option n BUILD_LIBBUSYBOX + busybox_config_option n FEATURE_CLEAN_UP + busybox_config_option n MONOTONIC_SYSCALL + busybox_config_option n USE_PORTABLE_CODE + busybox_config_option n WERROR + # triming the BSS size may be dangerous + busybox_config_option n FEATURE_USE_BSS_TAIL + + # These cause trouble with musl. + if use elibc_musl; then + busybox_config_option n FEATURE_UTMP + busybox_config_option n EXTRA_COMPAT + busybox_config_option n FEATURE_VI_REGEX_SEARCH + fi + + # Disable standalone shell mode when using make-symlinks, else Busybox calls its + # applets by default without looking up in PATH. + # This also enables users to disable a builtin by deleting the corresponding symlink. + if use make-symlinks; then + busybox_config_option n FEATURE_PREFER_APPLETS + busybox_config_option n FEATURE_SH_STANDALONE + fi + + # If these are not set and we are using a uclibc/busybox setup + # all calls to system() will fail. + busybox_config_option y ASH + busybox_config_option y SH_IS_ASH + busybox_config_option n HUSH + busybox_config_option n SH_IS_HUSH + + busybox_config_option '"/run"' PID_FILE_PATH + busybox_config_option '"/run/ifstate"' IFUPDOWN_IFSTATE_PATH + + # disable ipv6 applets + if ! use ipv6; then + busybox_config_option n FEATURE_IPV6 + busybox_config_option n TRACEROUTE6 + busybox_config_option n PING6 + busybox_config_option n UDHCPC6 + fi + + busybox_config_option pam PAM + busybox_config_option static STATIC + busybox_config_option syslog {K,SYS}LOGD LOGGER + busybox_config_option systemd FEATURE_SYSTEMD + busybox_config_option math FEATURE_AWK_LIBM + + # disable features that uClibc doesn't (yet?) provide. + if use elibc_uclibc; then + busybox_config_option n FEATURE_SYNC_FANCY #567598 + busybox_config_option n NSENTER + fi + + # all the debug options are compiler related, so punt them + busybox_config_option n DEBUG_SANITIZE + busybox_config_option n DEBUG + busybox_config_option y NO_DEBUG_LIB + busybox_config_option n DMALLOC + busybox_config_option n EFENCE + busybox_config_option $(usex debug y n) TFTP_DEBUG + + busybox_config_option selinux SELINUX + + # this opt only controls mounting with /dev/null +} + +src_compile() { + unset KBUILD_OUTPUT #88088 + export SKIP_STRIP=y + + emake V=1 busybox + + # bug #701512 + emake V=1 doc +} + +src_install() { + unset KBUILD_OUTPUT #88088 + save_config .config + + into / + dodir /bin + if use sep-usr ; then + # install /ginit to take care of mounting stuff + exeinto / + newexe busybox_unstripped ginit + dosym /ginit /bin/bb + dosym bb /bin/busybox + else + newbin busybox_unstripped busybox + dosym busybox /bin/bb + fi + 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 + + exeinto /$(get_libdir)/mdev/ + doexe "${FILESDIR}"/mdev/* + + newinitd "${FILESDIR}"/mdev.initd mdev + fi + if use livecd ; then + dosym busybox /bin/vi + fi + + # add busybox daemon's, bug #444718 + if busybox_config_enabled FEATURE_NTPD_SERVER; then + newconfd "${FILESDIR}/ntpd.confd" "busybox-ntpd" + newinitd "${FILESDIR}/ntpd.initd" "busybox-ntpd" + fi + if busybox_config_enabled SYSLOGD; then + newconfd "${FILESDIR}/syslogd.confd" "busybox-syslogd" + newinitd "${FILESDIR}/syslogd.initd" "busybox-syslogd" + fi + if busybox_config_enabled KLOGD; then + newconfd "${FILESDIR}/klogd.confd" "busybox-klogd" + newinitd "${FILESDIR}/klogd.initd" "busybox-klogd" + fi + if busybox_config_enabled WATCHDOG; then + newconfd "${FILESDIR}/watchdog.confd" "busybox-watchdog" + newinitd "${FILESDIR}/watchdog.initd" "busybox-watchdog" + fi + if busybox_config_enabled UDHCPC; then + local path=$(busybox_config_enabled UDHCPC_DEFAULT_SCRIPT) + exeinto "${path%/*}" + newexe examples/udhcp/simple.script "${path##*/}" + fi + if busybox_config_enabled UDHCPD; then + insinto /etc + doins examples/udhcp/udhcpd.conf + fi + + # bundle up the symlink files for use later + emake DESTDIR="${ED}" install + rm _install/bin/busybox + # for compatibility, provide /usr/bin/env + mkdir -p _install/usr/bin + ln -s /bin/env _install/usr/bin/env + tar cf busybox-links.tar -C _install . || : #;die + insinto /usr/share/${PN} + use make-symlinks && doins busybox-links.tar + + dodoc AUTHORS README TODO + + cd docs || die + doman busybox.1 + docinto txt + dodoc *.txt + docinto pod + dodoc *.pod + docinto html + dodoc *.html + + cd ../examples || die + docinto examples + dodoc inittab depmod.pl *.conf *.script undeb unrpm +} + +pkg_preinst() { + if use make-symlinks && [[ ! ${VERY_BRAVE_OR_VERY_DUMB} == "yes" ]] && [[ -z "${ROOT}" ]] ; then + ewarn "setting USE=make-symlinks and emerging to / is very dangerous." + ewarn "it WILL overwrite lots of system programs like: ls bash awk grep (bug 60805 for full list)." + ewarn "If you are creating a binary only and not merging this is probably ok." + ewarn "set env VERY_BRAVE_OR_VERY_DUMB=yes if this is really what you want." + die "silly options will destroy your system" + fi + + if use make-symlinks ; then + mv "${ED}"/usr/share/${PN}/busybox-links.tar "${T}"/ || die + fi +} + +pkg_postinst() { + savedconfig_pkg_postinst + + if use make-symlinks ; then + cd "${T}" || die + mkdir _install + tar xf busybox-links.tar -C _install || die + false | cp -vpPR _install/* "${ROOT}"/ || die "copying links for ${x} failed" + fi + + if use sep-usr ; then + elog "In order to use the sep-usr support, you have to update your" + elog "kernel command line. Add the option:" + elog " init=/ginit" + elog "To launch a different init than /sbin/init, use:" + elog " init=/ginit /sbin/yourinit" + elog "To get a rescue shell, you may boot with:" + elog " init=/ginit bb" + fi +} diff --git a/sys-apps/busybox/metadata.xml b/sys-apps/busybox/metadata.xml index 66da6627b150..21b8287c858e 100644 --- a/sys-apps/busybox/metadata.xml +++ b/sys-apps/busybox/metadata.xml @@ -1,5 +1,5 @@ - + embedded@gentoo.org -- cgit v1.2.3