mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-19 05:36:38 +02:00
Busybox's symlink is in /bin/link, so link should be added to the list of symlinks to keep in /bin so that it properly overwrites busybox's symlink. This issue was found when testing usr merge downstream in pmOS.
106 lines
2.8 KiB
Text
106 lines
2.8 KiB
Text
# Contributor: Valery Kartel <valery.kartel@gmail.com>
|
|
# Contributor: Michael Mason <ms13sp@gmail.com>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=coreutils
|
|
pkgver=9.7
|
|
pkgrel=1
|
|
pkgdesc="The basic file, shell and text manipulation utilities"
|
|
url="https://www.gnu.org/software/coreutils/"
|
|
arch="all"
|
|
license="GPL-3.0-or-later"
|
|
makedepends="acl-dev attr-dev utmps-dev perl openssl-dev"
|
|
subpackages="$pkgname-doc $pkgname-env $pkgname-fmt $pkgname-sha512sum:_sha512sum"
|
|
install="$pkgname.post-deinstall"
|
|
source="https://ftp.gnu.org/gnu/coreutils/coreutils-$pkgver.tar.xz
|
|
renameat2-fakeroot.patch
|
|
"
|
|
options="!check" # FAIL: tests/cp/reflink-auto
|
|
|
|
# secfixes:
|
|
# 9.4-r2:
|
|
# - CVE-2024-0684
|
|
# 8.30-r0:
|
|
# - CVE-2017-18018
|
|
|
|
build() {
|
|
# statvfs API is broken on 32 bit and musl implementation is equally
|
|
# broken on 64 bit. Avoid using it.
|
|
# https://lists.gnu.org/archive/html/bug-coreutils/2024-08/msg00021.html
|
|
fu_cv_sys_stat_statvfs=n \
|
|
CFLAGS="$CFLAGS -I/usr/include/utmps -flto=auto" \
|
|
LIBS="-lutmps -lskarnet" \
|
|
./configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--prefix=/usr \
|
|
--bindir=/bin \
|
|
--sysconfdir=/etc \
|
|
--mandir=/usr/share/man \
|
|
--infodir=/usr/share/info \
|
|
--disable-nls \
|
|
--enable-no-install-program=hostname,su,kill,uptime \
|
|
--enable-single-binary=symlinks \
|
|
--enable-single-binary-exceptions=env,fmt,sha512sum \
|
|
--with-openssl
|
|
make
|
|
}
|
|
|
|
check() {
|
|
make check
|
|
}
|
|
|
|
package() {
|
|
# we put this separately
|
|
depends="
|
|
coreutils-env=$pkgver-r$pkgrel
|
|
coreutils-fmt=$pkgver-r$pkgrel
|
|
coreutils-sha512sum=$pkgver-r$pkgrel
|
|
"
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
rm -rf "$pkgdir"/usr/lib/charset.alias
|
|
rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true
|
|
|
|
install -d "$pkgdir"/usr/bin "$pkgdir"/usr/sbin
|
|
|
|
for i in "$pkgdir"/bin/*; do
|
|
case "${i##*/}" in
|
|
# Keep some binaries in /bin to replace busybox symlinks
|
|
base64|cat|chgrp|chmod|chown|cp|date|dd|df|echo|false|ln|ls|mkdir|\
|
|
mknod|mktemp|mv|nice|printenv|pwd|rm|rmdir|sleep|stat|stty|sync|\
|
|
touch|true|uname|coreutils|link) ;;
|
|
*)
|
|
if [ -L "$i" ]; then
|
|
rm "$i"
|
|
ln -s ../../bin/coreutils "$pkgdir/usr/bin/${i##*/}"
|
|
else
|
|
mv "$i" "$pkgdir"/usr/bin/
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# chroot lives in /usr/sbin with busybox
|
|
rm "$pkgdir"/usr/bin/chroot
|
|
ln -s ../../bin/coreutils "$pkgdir"/usr/sbin/chroot
|
|
|
|
# resolve conflict between shadow and coreutils for cmd:groups
|
|
rm "$pkgdir"/usr/bin/groups
|
|
}
|
|
|
|
env() {
|
|
amove usr/bin/env
|
|
}
|
|
|
|
fmt() {
|
|
amove usr/bin/fmt
|
|
}
|
|
|
|
_sha512sum() {
|
|
amove usr/bin/sha512sum
|
|
}
|
|
|
|
sha512sums="
|
|
fe81e6ba4fb492095153d5baac1eca8f07ece0957849de746a2a858cf007893cc2ded595a31a5e5d43d13216cc44b9d74a3245d9f23221ecc8cd00f428f27414 coreutils-9.7.tar.xz
|
|
a0317f6f42a0f821c6ec6745ff0f6be4ed9d2330ef1f886947a80a0f24dcddc6a28660c1d661da996577cc26b02c095a8aa058e553050acf90bce445ab07136a renameat2-fakeroot.patch
|
|
"
|