| 1 |
|
# Copyright 1999-2026 Gentoo Authors
|
|
1 |
# Copyright 1999-2025 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
# See `man savedconfig.eclass` for info on how to use USE=savedconfig.
|
| ... | ... | |
| 16 |
16 |
else
|
| 17 |
17 |
MY_P="${PN}-${PV/_/-}"
|
| 18 |
18 |
SRC_URI="https://www.busybox.net/downloads/${MY_P}.tar.bz2"
|
| 19 |
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
|
19 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
| 20 |
20 |
fi
|
| 21 |
21 |
S="${WORKDIR}/${MY_P}"
|
| 22 |
22 |
|
| ... | ... | |
| 41 |
41 |
selinux? ( sys-libs/libselinux[static-libs(+)] )
|
| 42 |
42 |
)
|
| 43 |
43 |
sys-kernel/linux-headers"
|
| 44 |
|
BDEPEND="
|
| 45 |
|
virtual/pkgconfig
|
| 46 |
|
make-symlinks? ( >=sys-apps/coreutils-9.2 )
|
| 47 |
|
"
|
|
44 |
BDEPEND="virtual/pkgconfig"
|
| 48 |
45 |
|
| 49 |
46 |
DISABLE_AUTOFORMATTING=yes
|
| 50 |
47 |
DOC_CONTENTS='
|
| ... | ... | |
| 86 |
83 |
"${FILESDIR}"/${PN}-1.36.0-fortify-source-3-fixdep.patch
|
| 87 |
84 |
"${FILESDIR}"/${PN}-1.36.1-kernel-6.8.patch
|
| 88 |
85 |
|
| 89 |
|
"${FILESDIR}"/${PN}-1.36.1-skip-dynamic-relocations.patch
|
|
86 |
# "${FILESDIR}"/${P}-*.patch
|
| 90 |
87 |
)
|
| 91 |
88 |
|
| 92 |
89 |
src_prepare() {
|
| ... | ... | |
| 133 |
130 |
|
| 134 |
131 |
# check for a busybox config before making one of our own.
|
| 135 |
132 |
# if one exist lets return and use it.
|
|
133 |
|
| 136 |
134 |
restore_config .config
|
| 137 |
135 |
if [ -f .config ]; then
|
| 138 |
136 |
yes "" | bbmake -j1 oldconfig
|
| ... | ... | |
| 144 |
142 |
# setting SKIP_SELINUX skips searching for selinux at this stage. We don't
|
| 145 |
143 |
# need to search now in case we end up not needing it after all.
|
| 146 |
144 |
# setup the config file
|
| 147 |
|
bbmake -j1 allyesconfig SKIP_SELINUX=$(usex selinux n y) # bug #620918
|
| 148 |
|
# nommu forces a bunch of things off which we want on bug #387555
|
|
145 |
bbmake -j1 allyesconfig SKIP_SELINUX=$(usex selinux n y) #620918
|
|
146 |
# nommu forces a bunch of things off which we want on #387555
|
| 149 |
147 |
busybox_config_option n NOMMU
|
| 150 |
148 |
sed -i '/^#/d' .config
|
| 151 |
149 |
yes "" | bbmake -j1 oldconfig SKIP_SELINUX=$(usex selinux n y) #620918
|
| ... | ... | |
| 163 |
161 |
# CONFIG_MODPROBE_SMALL=y disables depmod.c and uses a smaller one that
|
| 164 |
162 |
# does not support -b. Setting this to no creates slightly larger and
|
| 165 |
163 |
# slightly more useful modutils
|
| 166 |
|
busybox_config_option n MODPROBE_SMALL # bug #472464
|
|
164 |
busybox_config_option n MODPROBE_SMALL #472464
|
| 167 |
165 |
# triming the BSS size may be dangerous
|
| 168 |
166 |
busybox_config_option n FEATURE_USE_BSS_TAIL
|
| 169 |
167 |
|
| ... | ... | |
| 249 |
247 |
}
|
| 250 |
248 |
|
| 251 |
249 |
src_install() {
|
| 252 |
|
unset KBUILD_OUTPUT # bug #88088
|
|
250 |
unset KBUILD_OUTPUT #88088
|
| 253 |
251 |
save_config .config
|
| 254 |
252 |
|
| 255 |
253 |
into /
|
| ... | ... | |
| 269 |
267 |
use make-symlinks || dosym /bin/bb /sbin/mdev
|
| 270 |
268 |
cp "${S}"/examples/mdev_fat.conf "${ED}"/etc/mdev.conf || die
|
| 271 |
269 |
if [[ ! "$(get_libdir)" == "lib" ]]; then
|
| 272 |
|
# bug #831251 - replace lib with lib64 where appropriate
|
|
270 |
#831251 - replace lib with lib64 where appropriate
|
| 273 |
271 |
sed -i -e "s:/lib/:/$(get_libdir)/:g" "${ED}"/etc/mdev.conf || die
|
| 274 |
272 |
fi
|
| 275 |
273 |
|
| ... | ... | |
| 353 |
351 |
pkg_preinst() {
|
| 354 |
352 |
if use make-symlinks ; then
|
| 355 |
353 |
mv "${ED}"/usr/share/${PN}/busybox-links.tar "${T}"/ || die
|
| 356 |
|
rmdir "${ED}"/usr/share/${PN} || die
|
| 357 |
354 |
fi
|
| 358 |
355 |
}
|
| 359 |
356 |
|
| ... | ... | |
| 362 |
359 |
|
| 363 |
360 |
if use make-symlinks ; then
|
| 364 |
361 |
cd "${T}" || die
|
| 365 |
|
mkdir -p _install || die
|
|
362 |
mkdir _install
|
| 366 |
363 |
tar xf busybox-links.tar -C _install || die
|
| 367 |
|
# Use --update=none from coreutils-9.2 instead of -n, add || die
|
| 368 |
|
# Skip legacy linuxrc link, if anyone really needs it they can create it manually
|
| 369 |
|
cp -vpP --update=none _install/bin/* "${ROOT}"/bin/ || die
|
| 370 |
|
cp -vpP --update=none _install/sbin/* "${ROOT}"/sbin/ || die
|
| 371 |
|
cp -vpP --update=none _install/usr/bin/* "${ROOT}"/usr/bin/ || die
|
|
364 |
# 907432: cp -n returns error if it skips any file, but that is expected here
|
|
365 |
# TODO: check if a new coreutils release has a replacement option
|
|
366 |
cp -nvpPR _install/* "${ROOT}"/
|
| 372 |
367 |
fi
|
| 373 |
368 |
|
| 374 |
369 |
if use sep-usr ; then
|