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