Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37424571
en ru br
ALT Linux repos
S:9.4.0.24.75e248-alt1
5.0: 6.12-alt2
4.1: 6.11-alt1
4.0: 5.97-alt6
3.0: 5.3.1-alt0.4

Other repositories
Upstream:8.1pl3

Group :: System/Base
RPM: coreutils

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: coreutils
Version: 9.1.0.8.e08752
Release: alt1
%define srcname %name-%version-%release

Summary: The GNU versions of common management utilities
License: GPLv3+
Group: System/Base
Url: https://www.gnu.org/software/coreutils/

# git://git.sv.gnu.org/coreutils refs/heads/master

# git://git.altlinux.org/people/ldv/packages/coreutils refs/heads/coreutils-current
Source0: %srcname.tar
# translationproject.org::tp/latest/coreutils/
# git://git.altlinux.org/people/ldv/packages/coreutils refs/heads/po-current
Source1: po-%version-%release.tar

# sources from fileutils

Source11: color_ls.sh
Source12: color_ls.csh

# sources from sh-utils

Source20: exit.c
Source21: getuseruid.c
Source23: runas.c
Source24: runbg.c
Source25: usleep.c
Source26: runas.1
Source27: usleep.1
Source28: true.1
Source29: false.1

# git://git.altlinux.org/people/ldv/packages/coreutils coreutils-current..coreutils-alt

Patch: %srcname.patch

%def_enable selinux

Provides: stat = %version, fileutils = %version, textutils = %version, sh-utils = %version
Provides: mktemp = 1:1.6
Obsoletes: stat, fileutils, textutils, sh-utils, mktemp
Conflicts: man-pages < 0:1.52-alt2, initscripts < 0:5.49-ipl41mdk, rpm-build < 0:4.0.4-alt7
# due to /bin/arch
Conflicts: util-linux < 0:2.13-alt6
# due to /usr/bin/kill and %_man1dir/kill.1
Conflicts: procps < 0:2.0.10-alt4
# due to incompatible change in "readlink -f"
Conflicts: chrooted < 0:0.3.1-alt1
# due to buggy rpmdups/rpmrdups
Conflicts: rpm-utils < 0:0.7.6-alt1
# due to hostname
Conflicts: net-tools < 0:1.60-alt9

BuildRequires: gnulib >= 0.1.5207.7347ca
BuildRequires: makeinfo

# for ACL support in ls/dir/vdir, cp, mv and install utilities

BuildRequires: libacl-devel

# for extended attribute copying support in cp and mv utilities

BuildRequires: libattr-devel

# for colorizing capabilities support in ls utility

BuildRequires: libcap-devel

# for arbitrarily large numbers support in expr and factor utilities

BuildRequires: libgmp-devel

# due to build from git

BuildRequires: gperf

# due to ls

BuildRequires: libtinfo-devel

# due to exit.c

BuildRequires: glibc-devel-static

# for SELinux

%{?_enable_selinux:BuildRequires: libselinux-devel}

# for test suite

%{?!_without_check:%{?!_disable_check:BuildRequires: strace}}

%description
These are the GNU core utilities.  This package is the union of
the GNU fileutils, sh-utils, and textutils packages.

These tools are the GNU versions of common useful and popular
file and text utilities which are used for:
+ file management
+ shell scripting
+ modifying text file

Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer
arbitrary limits.

%prep
%setup -n %srcname -a1
%patch -p1

# Build scripts expect to find coreutils version in this file.

echo -n %version >.tarball-version

# Generate LINGUAS file.

ls po/*.po 2>/dev/null |
sed 's|.*/||; s|\.po$||' >po/LINGUAS

# Compress docs for packaging.

xz -9k NEWS THANKS

# workarounds for bootstrap

ln -s /bin/false build-aux/git-version-gen
touch m4/cu-progs.m4

%build
./bootstrap --skip-po --gnulib-srcdir=%_datadir/gnulib

# Disable printf_safe for a while,

# required to enforce build with system vfprintf().
sed -i 's/gl_printf_safe=yes/gl_printf_safe=/' m4/gnulib-comp.m4 configure

%configure \
--exec-prefix=/ \
%{subst_enable selinux} \
--enable-install-program=arch,hostname \
--enable-no-install-program=su,uptime \
#

%make_build -C po update-po
%make_build

# Build our version of true and false.

build_exit() {
%__cc %optflags -W %_sourcedir/exit.c \
$ at  -DSTATUS=0 -o true

%__cc %optflags -W %_sourcedir/exit.c \
$ at  -DSTATUS=1 -o false
}

# Executable may fail on some architectures if it uses libc's syscall wrapper

# without initialization performed in start files.  Fall back to simple static
# true/false implementation if it happens.
build_exit -U_FORTIFY_SOURCE -fno-stack-protector -nostartfiles -static -DNOSTARTFILES=1 &&
./true ||
build_exit -static

# Build additional utilities.

for n in getuseruid runas runbg usleep; do
%__cc %optflags "%_sourcedir/$n.c" -o $n
done

%install
%makeinstall_std
install -pD -m644 src/dircolors.hin "%buildroot%_sysconfdir/DIR_COLORS"

pushd "%buildroot"
mkdir -p bin

# %_bindir -> /bin relocations

       for n in \
basename cat chgrp chmod chown cp cut date \
dd df du echo false head hostname install \
kill link ln ls mkdir mkfifo mknod mktemp \
mv nice pwd readlink rm rmdir sleep sort \
stty sync tail touch true uname unlink wc \
; do
mv .%_bindir/$n bin/
done

# compatibility symlinks

for n in cat cut du head install kill mkfifo sort tail wc; do
ln -s ../../bin/$n .%_bindir/
done

# chroot

mkdir -p sbin .%_sbindir
mv .%_bindir/chroot sbin/
ln -s ../../sbin/chroot .%_sbindir/

# hostname

for n in dnsdomainname domainname nisdomainname ypdomainname; do
ln -s hostname ./bin/$n
ln -s hostname.1 ./%_man1dir/$n.1
done

mkdir -p .%_sysconfdir/profile.d
install -pm755 %_sourcedir/color_ls.{sh,csh} .%_sysconfdir/profile.d/
ln -s ../../bin/install .%_bindir/ginstall
popd

# Install assembler versions of true and false and their manpages.

install -pm755 true false %buildroot/bin/
install -pm644 %_sourcedir/{true,false}.1 %buildroot%_mandir/man1/

# Install additional utilities and their manpages.

install -pm755 getuseruid runas usleep %buildroot/bin/
install -pm755 runbg %buildroot%_bindir/
install -pm644 %_sourcedir/{runas,usleep}.1 %buildroot%_man1dir/

%find_lang %name

%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
# GNU_RELRO segment not contained in a loaded segment
# verify-elf: ERROR: ./bin/true: eu-elflint failed
%set_verify_elf_method strict,lint=relaxed

%check
: ${SHELL:=/bin/sh} ${VERBOSE:=no}
export SHELL VERBOSE
%make_build -k check

%files -f %name.lang
%config(noreplace) %_sysconfdir/DIR_COLORS
%config(noreplace) %_sysconfdir/profile.d/*
/bin/*
%_bindir/*
/sbin/*
%_sbindir/*
%_libexecdir/%name/
%_man1dir/*
%_infodir/*.info*
%doc AUTHORS NEWS.xz README THANKS.xz TODO

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin