]> TLD Linux GIT Repositories - packages/coreutils.git/blob - coreutils.spec
- synced with PLD (update to 8.15)
[packages/coreutils.git] / coreutils.spec
1 # Conditional build:
2 %bcond_with     advcopy # progress bar in cp (orphaned patch)
3 %bcond_without  tests   # do not perform "make test check"
4 #
5 Summary:        GNU Core-utils - basic command line utilities
6 Summary(pl.UTF-8):      GNU Core-utils - podstawowe narzędzia działające z linii poleceń
7 Name:           coreutils
8 Version:        8.15
9 Release:        2
10 License:        GPL v3+
11 Group:          Applications/System
12 Source0:        http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
13 # Source0-md5:  094909fafa86110140b32e4948941545
14 Source1:        %{name}-non-english-man-pages.tar.bz2
15 # Source1-md5:  f7c986ebc74ccb8d08ed70141063f14c
16 Source2:        DIR_COLORS
17 Source3:        fileutils.sh
18 Source4:        fileutils.csh
19 Source5:        su.pamd
20 Source6:        su-l.pamd
21 Source7:        runuser.pamd
22 Source8:        runuser-l.pamd
23 Source9:        mktemp.1.pl
24 Patch0:         %{name}-info.patch
25 Patch1:         %{name}-pam.patch
26 Patch2:         %{name}-getgid.patch
27 Patch3:         %{name}-su-paths.patch
28 Patch4:         %{name}-uname-cpuinfo.patch
29 Patch5:         %{name}-date-man.patch
30 Patch6:         %{name}-mem.patch
31 Patch7:         %{name}-7.4-sttytcsadrain.patch
32 Patch9:         %{name}-fmt-wchars.patch
33 Patch10:        %{name}-runuser.patch
34 Patch11:        %{name}-split-pam.patch
35 Patch12:        %{name}-sparc64.patch
36 # http://translationproject.org/latest/coreutils/pl.po (pass through msgcat to generate shorter diff)
37 Patch13:        %{name}-pl.po-update.patch
38 # from http://www.beatex.org/web/advancedcopy.html, edited by shadzik
39 Patch14:        %{name}-advcopy.patch
40 URL:            http://www.gnu.org/software/coreutils/
41 BuildRequires:  acl-devel
42 BuildRequires:  attr-devel
43 BuildRequires:  autoconf >= 2.64
44 BuildRequires:  automake >= 1:1.11.1
45 BuildRequires:  gcc >= 5:3.2
46 BuildRequires:  gettext-devel >= 0.18.1
47 BuildRequires:  gmp-devel
48 BuildRequires:  help2man
49 BuildRequires:  libcap-devel
50 BuildRequires:  libselinux-devel
51 BuildRequires:  pam-devel
52 BuildRequires:  rpmbuild(find_lang) >= 1.24
53 BuildRequires:  tar >= 1:1.22
54 BuildRequires:  texinfo >= 4.2
55 BuildRequires:  xz
56 %if %{with tests}
57 BuildRequires:  strace
58 %endif
59 Requires:       pam >= 0.77.3
60 Requires:       setup >= 2.4.6-2
61 Provides:       coreutils-su
62 Provides:       fileutils
63 Provides:       mktemp = %{version}-%{release}
64 Provides:       sh-utils
65 Provides:       stat
66 Provides:       textutils
67 Obsoletes:      coreutils-su
68 Obsoletes:      fileutils
69 Obsoletes:      mktemp
70 Obsoletes:      sh-utils
71 Obsoletes:      stat
72 Obsoletes:      textutils
73 Conflicts:      shadow < 1:4.0.3-6
74 Conflicts:      tetex < 1:2.0.2
75 Conflicts:      util-linux < 2.13-0.pre7
76 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77
78 %description
79 These are the GNU core utilities. This package is the union of the GNU
80 fileutils, sh-utils, and textutils packages.
81
82 Most of these programs have significant advantages over their Unix
83 counterparts, such as greater speed, additional options, and fewer
84 arbitrary limits.
85
86 The programs that can be built with this package are:
87
88   [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
89   dd df dir dircolors dirname du echo env expand expr factor false fmt
90   fold install groups head hostid id join link ln logname ls md5sum
91   mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
92   printf ptx pwd realpath rm rmdir runuser seq sha1sum shred sleep sort
93   split stat stty su sum sync tac tail tee test touch tr true tsort tty
94   uname unexpand uniq unlink users vdir wc who whoami yes
95
96 %description -l pl.UTF-8
97 Narzędzia podstawowe (core utilities) GNU to połączone paczki GNU
98 fileutils, sh-utils i textutils.
99
100 Większość z zawartych programów jest znacznie ulepszona w porównaniu
101 z ich uniksowymi odpowiednikami, np. szybciej działają, mają dodatkowe
102 opcje i mniej ograniczeń.
103
104 Programy zawarte w tym pakiecie to:
105
106   [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
107   dd df dir dircolors dirname du echo env expand expr factor false fmt
108   fold ginstall groups head hostid id join link ln logname ls md5sum
109   mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
110   printf ptx pwd realpath rm rmdir runuser seq sha1sum shred sleep sort
111   split stat stty su sum sync tac tail tee test touch tr true tsort tty
112   uname unexpand uniq unlink users vdir wc who whoami yes
113
114 %prep
115 %setup -q -a1
116 #%patch13 -p1
117 %patch0 -p1
118 %patch1 -p1
119 %patch2 -p1
120 %patch3 -p1
121 %patch4 -p1
122 %patch5 -p1
123 %patch6 -p1
124 %patch7 -p1
125 %patch9 -p1
126 %patch10 -p1
127 %patch11 -p1
128 %ifarch sparc64
129 %patch12 -p1
130 %endif
131 %if %{with advcopy}
132 # progress-bar patch, -g,--progress-bar //if in doubt, comment it out
133 %patch14 -p1
134 %endif
135
136 %{__perl} -pi -e 's@GNU/Linux@TLD Linux@' m4/host-os.m4
137
138 # allow rebuilding *.gmo
139 %{__rm} po/stamp-po
140
141 # fails under C locale:
142 # LC_ALL=C echo -e "ça\nçb\n"|LC_ALL=C fmt -p 'ç'
143 # fmt: memory exhausted
144 %{__sed} -i -e 25,27d tests/misc/fmt
145
146 # /etc/resolv.conf is blocked in pld builders, try some other file
147 %{__sed} -i -e 's,/etc/resolv.conf,/etc/hosts,' gnulib-tests/test-read-file.c
148
149 # getgid needs to be fixed:
150 # getgid: missing operand
151 # Try `getgid --help' for more information.
152 %{__rm} tests/misc/help-version
153 %{__sed} -i -e '/misc\/help-version/d' tests/Makefile.am
154
155 # fails on some filesystems (like XFS), where readdir returns d_type=DT_UNKNOWN
156 %{__rm} tests/ls/stat-free-color
157 %{__sed} -i -e '/ls\/stat-free-color/d' tests/Makefile.am
158
159 %build
160 %{__gettextize}
161 %{__aclocal} -I m4
162 %{__autoconf}
163 %{__autoheader}
164 %{__automake}
165 %configure \
166         CFLAGS="%{rpmcflags} -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT" \
167         DEFAULT_POSIX2_VERSION=199209 \
168         --disable-silent-rules \
169         --enable-install-program=arch,su \
170         --enable-no-install-program=hostname,kill,uptime \
171         --enable-pam
172
173 %{__make}
174
175 %if %{with tests}
176 sed -i -e 's#COLUMNS##g' tests/envvar-check
177 %{__make} -j1 tests check
178 %endif
179
180 %install
181 rm -rf $RPM_BUILD_ROOT
182 install -d $RPM_BUILD_ROOT{/bin,/sbin,%{_bindir},%{_sbindir},/etc/pam.d,/etc/shrc.d}
183
184 %{__make} install \
185         DESTDIR=$RPM_BUILD_ROOT
186
187 mv -f $RPM_BUILD_ROOT%{_bindir}/{arch,basename,cat,chgrp,chmod,chown,cp,date,dd,\
188 df,echo,false,id,link,ln,ls,mkdir,mknod,mktemp,mv,nice,printf,pwd,rm,rmdir,\
189 sleep,sort,stat,stty,sync,touch,true,unlink,uname} $RPM_BUILD_ROOT/bin
190
191 mv -f $RPM_BUILD_ROOT%{_bindir}/chroot $RPM_BUILD_ROOT%{_sbindir}
192 mv $RPM_BUILD_ROOT{%{_bindir},/sbin}/runuser
193
194 # su is missed by "make install" called by non-root
195 install -p src/su $RPM_BUILD_ROOT/bin
196
197 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
198 cp -p %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/shrc.d
199 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/su
200 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/su-l
201 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/runuser
202 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/runuser-l
203
204 cp -a man/pt_BR man/pt
205 for d in cs da de es fi fr hu id it ja ko nl pl pt ru zh_CN; do
206         install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
207         cp -p man/$d/*.1 $RPM_BUILD_ROOT%{_mandir}/$d/man1
208 done
209 install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man1/mktemp.1
210 # unwanted (-f left intentionally - some manuals could have no translations)
211 rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/{hostname,kill,uptime}.1
212 # always remove, never packaged but sometimes installed
213 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
214
215 %find_lang %{name}
216
217 %clean
218 rm -rf $RPM_BUILD_ROOT
219
220 %post   -p /sbin/postshell
221 -/usr/sbin/fix-info-dir -c %{_infodir}
222
223 %postun -p /sbin/postshell
224 -/usr/sbin/fix-info-dir -c %{_infodir}
225
226 %files -f %{name}.lang
227 %defattr(644,root,root,755)
228 %doc AUTHORS ChangeLog NEWS README THANKS THANKS-to-translators TODO
229 %attr(755,root,root) /bin/[!s]*
230 %attr(755,root,root) /bin/s[!u]*
231 %attr(4755,root,root) /bin/su
232 %attr(755,root,root) /sbin/runuser
233 %attr(755,root,root) %{_bindir}/*
234 %attr(755,root,root) %{_sbindir}/chroot
235 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS
236 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su
237 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su-l
238 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser
239 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser-l
240 %config(noreplace) /etc/shrc.d/fileutils.*sh
241 %dir %{_libdir}/coreutils
242 %attr(755,root,root) %{_libdir}/coreutils/libstdbuf.so
243 %{_mandir}/man1/*
244 %lang(cs) %{_mandir}/cs/man1/*
245 %lang(da) %{_mandir}/da/man1/*
246 %lang(de) %{_mandir}/de/man1/*
247 %lang(es) %{_mandir}/es/man1/*
248 %lang(fi) %{_mandir}/fi/man1/*
249 %lang(fr) %{_mandir}/fr/man1/*
250 %lang(hu) %{_mandir}/hu/man1/*
251 %lang(id) %{_mandir}/id/man1/*
252 %lang(it) %{_mandir}/it/man1/*
253 %lang(ja) %{_mandir}/ja/man1/*
254 %lang(ko) %{_mandir}/ko/man1/*
255 %lang(nl) %{_mandir}/nl/man1/*
256 %lang(pl) %{_mandir}/pl/man1/*
257 %lang(pt) %{_mandir}/pt/man1/*
258 %lang(ru) %{_mandir}/ru/man1/*
259 %lang(zh_CN) %{_mandir}/zh_CN/man1/*
260 %{_infodir}/coreutils.info*