Пакет rpm-utils: Specfile

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
Name: rpm-utils
Version: 0.10.3
Release: alt1

Summary: Utilities every rpm packager must have
License: GPLv2+
Group: Development/Other

Source: %name-%version.tar

Requires: getopt, time
Requires: rpm-build > 0:4.0.4-alt96.8, mktemp >= 1:1.3.1
# due to strace --seccomp-bpf
Requires: strace >= 5.3

# due to rpmEVRDTCompare() in rpmrdups:
BuildPreReq: librpm-devel >= 4.13.0.1-alt9

# Automatically added by buildreq on Wed Sep 25 2019
BuildRequires: gcc-c++ librpm-devel

%description
This package contains following utilities:
+ filereq - generates list of file requires while running the program;
+ packageof - generates list of packages owning specified files;
+ packagereq - generates list of package requires while running the program;
+ buildreq - generates and adds/updates BuildRequires tag in specfiles;
+ rpmdups,rpmrdups - generates list of duplicated packages;
+ paste_changelog - pastes a whole ready piece to the top of a changelog;
+ stamp_spec - generates timestamp for rpm specfile changelog entry;
+ add_changelog - generates and adds changelog entry to rpm specfile;
+ compare_packages - generates lists of package sets and compares them;
+ cleanup_spec - attempts to cleanup rpm specfile;
+ rebuild_package - rebuilds source package keeping packager info unchanged;
+ rebuild_packages - rebuilds source packages using rebuild_package.

%prep
%setup

%build
%def_enable Werror
%make_build

%install
%makeinstall_std

%check
rpmquery -a --qf='%%{name}\n' |
	%buildroot%_datadir/buildreqs/optimize_package_list > out
grep -qs 'rpm-build' out
grep -qs 'librpm-devel' out
grep -qs 'gcc.*-c++' out

rm -f FAIL
rpmquery -a --qf '%%{name}\n' |while read n; do
	echo "$n" |
		%buildroot%_datadir/buildreqs/optimize_package_list > out
	[ "$n" = "$(cat out)" ] ||
		echo "$n -> $(cat out)" >> FAIL
done
if [ -s FAIL ]; then
	echo FAILED:
	cat FAIL
	exit 1
fi >&2

%files
%dir %_sysconfdir/buildreqs
%dir %_sysconfdir/buildreqs/*
%dir %_sysconfdir/buildreqs/files/*.d
%dir %_sysconfdir/buildreqs/packages/*.d
%config %_sysconfdir/buildreqs/files/*/*
%config %_sysconfdir/buildreqs/packages/essential*
%_bindir/*
%_datadir/buildreqs

%changelog
* Wed Sep 25 2019 Dmitry V. Levin <ldv@altlinux.org> 0.10.3-alt1
- strace_files: speedup by enabling latest strace features.

* Thu Jun 20 2019 Dmitry V. Levin <ldv@altlinux.org> 0.10.2-alt1
- filter_spec: fixed regular expressions for modern gawk.

* Wed Jun 19 2019 Ivan Zakharyaschev <imz@altlinux.org> 0.10.1-alt1
- rpmrdups: honor disttag, buildtime.

* Wed Aug 17 2016 Alexey Gladkov <legion@altlinux.ru> 0.10-alt1
- port to rpm-4.13.

* Mon May 09 2016 Ivan Zakharyaschev <imz@altlinux.org> 0.9.21-alt1
- paste_changelog: a trivial ed wrapper extracted from add_changelog.
  (It can be useful in combination with, e.g., gear-changelog.)

* Wed Mar 23 2016 Dmitry V. Levin <ldv@altlinux.org> 0.9.20-alt1
- filereq: add faccessat, lstat/lstat64, and fstatat64/newfstatat
  to the list of weak syscalls.

* Tue Mar 22 2016 Dmitry V. Levin <ldv@altlinux.org> 0.9.19-alt1
- filereq: take openat, execveat, faccessat, lstat/lstat64, and
  fstatat64/newfstatat syscalls into account.

* Fri Jan 17 2014 Dmitry V. Levin <ldv@altlinux.org> 0.9.18-alt1
- optimize_package_list: fixed misoptimization (closes: #26320).

* Fri Aug 24 2012 Dmitry V. Levin <ldv@altlinux.org> 0.9.17-alt1
- Fixed build with fresh glibc.

* Mon May 21 2012 Dmitry V. Levin <ldv@altlinux.org> 0.9.16-alt1
- Fixed build with ld --no-copy-dt-needed-entries.

* Wed Aug 10 2011 Dmitry V. Levin <ldv@altlinux.org> 0.9.15-alt1
- optimize_package_list: robustified by ignoring file names containing spaces.

* Tue Aug 09 2011 Dmitry V. Levin <ldv@altlinux.org> 0.9.14-alt1
- optimize_package_list: fixed optimization by taking into account
  all indirect requirements and their providers.

* Fri Apr 01 2011 Dmitry V. Levin <ldv@altlinux.org> 0.9.13-alt1
- cleanup_spec: strip -q from %%setup (closes: #25011).
- add_changelog: pass --args to all "rpm -q --qf" invocations (closes: #22346).
- buildreq: added --no-pruned option, enabled --pruned y default.
- stamp_spec, add_changelog, packagereq, buildreq: fixed quoting
  using shell-quote.

* Tue Apr 06 2010 Dmitry V. Levin <ldv@altlinux.org> 0.9.12-alt1
- Added support for fixating pruned BRs (by Michael Shigorin; closes: #22709).
- Fixed signal handling in shell scripts.
- Removed obsolete strace options.
- Moved test to %%check section.

* Tue Oct 28 2008 Dmitry V. Levin <ldv@altlinux.org> 0.9.11-alt1
- Moved rpmevrcmp/rpmvercmp to rpm package (closes: #13627).
- Fixed build with fresh g++.

* Fri Aug 29 2008 Dmitry V. Levin <ldv@altlinux.org> 0.9.10-alt1
- compare_packages: Apply sed(1) pattern before sort(1).
- add_changelog --help: Fixed expansion of $STAMPER (Mikhail Gusarov; closes: #16800).

* Wed Mar 26 2008 Alexey Tourbin <at@altlinux.ru> 0.9.9-alt1
- improved optimize_package_list:
  + check for ambiguous virtual dependencies
  + break simple RV-loops (select the package with non-virtual dependency)
  + show the list of optimized out packages

* Fri Mar 21 2008 Alexey Tourbin <at@altlinux.ru> 0.9.8-alt1
- filereq: do not finally overwrite driven command's output
- optimize_package_list: join on filenames as well as provides
- compare_packages: fixed sort(1) old-style options (Dmitry V. Levin)

* Thu Dec 27 2007 Alexey Tourbin <at@altlinux.ru> 0.9.7-alt1
- added more /usr/share/fonts/*/fonts.* patterns to ignore list
- add_changelog: fixed typo in --help text (Dmitry V. Levin, #12584)

* Mon Aug 13 2007 Alexey Tourbin <at@altlinux.ru> 0.9.6-alt1
- filereq: implemented strong (open, execve) and weak (access, stat)
  file access logic; strong access via symbolic link now also implies
  the requirement of symlink target file
- strace post-processor: implemented canonicalization of filenames,
  which makes it impossible to circumvent files/ignore.d/* patterns
- packagereq: factored new program: /usr/share/buildreqs/optimize_package_list
- buildreq: implemented --trace-file=FILE and --trace-package=PKG options,
  which can help to explain unexpected build dependencies

* Fri Oct 27 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.5-alt1
- rpmrdups: New option "-" to read file names from standart input (ldv, legion).

* Sun Oct 15 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.4-alt1
- Fixed build with -D_FORTIFY_SOURCE=2 -Werror.

* Mon Sep 11 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.3-alt1
- buildreq:
  --define: New option, for compatibility with rpmbuild (legion).

* Sun Sep 03 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.2-alt1
- packagereq:
  Replaced unfair deps optimizer with correct one,
  based on idea and code from Alexey Tourbin.
- ignore.d/0filesystem:
  Ignore /usr/share/fonts/*/fonts.cache*.

* Mon May 15 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.1-alt1
- Fixed build with gcc-4.1.0.

* Fri Mar 10 2006 Dmitry V. Levin <ldv@altlinux.org> 0.9.0-alt1
- packagereq: Implemented dependencies optimization.

* Tue Mar 07 2006 Dmitry V. Levin <ldv@altlinux.org> 0.8.4-alt1
- Fixed build with --as-needed.
- /etc/buildreqs/files/ignore.d/0filesystem:
  Ignore /etc/ld.so.conf.d/*.

* Tue Apr 19 2005 Dmitry V. Levin <ldv@altlinux.org> 0.8.3-alt1
- add_changelog,buildreq,compare_packages,lastchange_spec,
  packagereq,query_spec,stamp_spec: redirect --help output
  to stdout, and error diagnostics to stderr.
- add_changelog,buildreq,cleanup_spec,compare_packages,filereq,
  filter_strace,packagereq,rebuild_package,stamp_spec: use
  trap in more portable way.
- essential:
  + removed: net-tools;
  + added: hostinfo;
  + added libs:
    aalib,clanlib,dclib,fnlib,ghostscript-lib,glib,glib2,
    id3lib,imlib,imlib2,jamlib,libgiblib,libglibmm,
    plib,sendmail-libs,t1lib,xorg-x11-libs,zziplib.

* Thu Mar 17 2005 Dmitry V. Levin <ldv@altlinux.org> 0.8.2-alt1
- essential:
  + added: rpm-build-python, rpm-build-tcl.

* Thu May 06 2004 Dmitry V. Levin <ldv@altlinux.org> 0.8.1-alt1
- rpmrdups: fixed epoch handling.

* Tue May 04 2004 Dmitry V. Levin <ldv@altlinux.org> 0.8.0-alt1
- rpmevrcmp: new program.
- rpmdups, rpmrdups: rewritten in C++.

* Mon Mar 01 2004 Dmitry V. Levin <ldv@altlinux.org> 0.7.6-alt1
- rpmdups, rpmrdups: adopted for coreutils-5.2.

* Tue Dec 30 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.5-alt1
- essential:
  + added: gcc-[^-]+-common.
- packageof:
  + fixed syntax to comply with g++-3.3 requirements.

* Wed Dec 10 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.4-alt1
- compare_packages:
  + better support for packages with devices.
- essential:
  + removed: all lib* records;
  + added: lib[^-]+ record.

* Fri Sep 26 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.3-alt1
- buildreq:
  + implemented build stage change using -bi,
    (#3034, at);
  + changed --args behaviour, added --reset-args option.
- Updated build dependencies.

* Mon Sep 22 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.2-alt1
- essential:
  + readded: bash, libreadline.

* Mon Sep 22 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.1-alt1
- essential:
  + added: rpm-build-perl.
  + removed: bash, console-tools, fileutils, less, libreadline,
             mawk, perl, sh-utils, textutils.
- packagereq:
  + removed -r option.
- buildreq:
  + do not use "packagereq -r";
  + set TERM=dumb by default (#3016);
    use --term option to redefine.
- rebuild_packages:
  + changed subdir names.

* Fri Sep 05 2003 Dmitry V. Levin <ldv@altlinux.org> 0.7.0-alt1
- spp: new strace postprocessor, to fix race condition
  in filereq (#2888); requires strace >= 4.4-alt6.
- rpmvercmp: new program (#2882).
- essential: added libtcb.
- Build with -Werror.

* Wed Aug 20 2003 Dmitry V. Levin <ldv@altlinux.org> 0.6.13-alt1
- Corrected error handling.
- essential:
  + added: gettext-runtime, glibc-kernheaders, libtool-common,
    nss_db, nss_ldap, nss_tcb.
  + removed: ncurses.

* Tue Apr 22 2003 Dmitry V. Levin <ldv@altlinux.org> 0.6.12-alt1
- essential:
  + added: service, startup.
  + removed: initscripts.

* Thu Apr 03 2003 Dmitry V. Levin <ldv@altlinux.org> 0.6.11-alt1
- buildreq: timestamp no longer depends on current locale (#0002445);
  this fix is required due to better i18n support in gawk-3.1.2.

* Mon Mar 10 2003 Dmitry V. Levin <ldv@altlinux.org> 0.6.10-alt1
- compare_packages: use subst instead of perl.
- essential: added added libdb4.[0-9] pattern.

* Mon Feb 17 2003 Dmitry V. Levin <ldv@altlinux.org> 0.6.9-alt1
- rpmdups, rpmrdups: patched to work with new coreutils.
- add_changelog: skip missing files.

* Tue Nov 05 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.8-alt1
- Enhanced error handling.

* Wed Oct 30 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.7-alt1
- packageof: ignore non-regular files.

* Sun Oct 27 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.6-alt1
- essential:
  + added: autoconf-common, automake-common.

* Wed Oct 23 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.5-alt1
- essential:
  + added: gettext-tools
  + removed *2.96
- rebuild_package: fixed typo.

* Sat Oct 05 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.4-alt1
- essential:
  + added rpm-build-topdir
  + s/glibc-core/glibc-core.*/

* Wed Sep 18 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.3-alt1
- essential: added coreutils.
- buildreq: added --nodeps to default arguments for rpm.

* Sun Sep 01 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.2-alt1
- essential:
  + added libpcre (required by grep);
  + updated glibc subpackages list.
- packageof: fixed gcc-3.2 build.

* Thu Aug 15 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.1-alt1
- packageof: extended ignore.d support.

* Wed Aug 14 2002 Dmitry V. Levin <ldv@altlinux.org> 0.6.0-alt1
- /etc/buildreqs/packages/ignore: removed.
- /etc/buildreqs/packages/ignore.d: added.
- buildreq, packagereq, packageof: added packages/ignore.d support.

* Wed Aug 14 2002 Dmitry V. Levin <ldv@altlinux.org> 0.5.2-alt1
- packagereq: changed SIGQUIT handling (#0001006).

* Mon Aug 05 2002 Dmitry V. Levin <ldv@altlinux.org> 0.5.1-alt1
- packageof: fixed dereferencing symlinks bug (#0001174).

* Wed Jul 10 2002 Dmitry V. Levin <ldv@altlinux.org> 0.5.0-alt1
- added: packageof utility.
- removed: check_importance helper script.
- packagereq:
  + updated to use packageof (and significantly speed up
    dependencies calculation);
  + enhanced requires cleaning rule.
- filereq, filter_strace:
  + relocated sort from filter_strace to filereq,
    changed SIGQUIT atexit action (imz).
- 0filesystem: added /home.

* Thu Jul 04 2002 Dmitry V. Levin <ldv@altlinux.org> 0.4.4-alt1
- essential:
  + added: terminfo, libtinfo;
  + removed: termcap, libtermcap.
- added: rpmrdups.

* Thu May 30 2002 Dmitry V. Levin <ldv@altlinux.org> 0.4.3-alt1
- cleanup_spec: dont't replace %make with %make_build.
- stamp_spec: added new option: --format.
- add_changelog: check for version changes by default.
- add_changelog: added new option: --nocheck.

* Fri Mar 29 2002 Dmitry V. Levin <ldv@alt-linux.org> 0.4.2-alt1
- essential:
  + added: libbeecrypt, libdb4;
  + removed: libdb3.

* Thu Mar 21 2002 Dmitry V. Levin <ldv@alt-linux.org> 0.4.1-alt1
- packagereq: fixed substitute logic:
  do not forget to ignore essential substitution.
- add_changelog: fixed $RPMARG parse typo.
- rebuild_packages: redirect stdin to /dev/null.
- essential:
  + added: sh

* Wed Jan 30 2002 Dmitry V. Levin <ldv@alt-linux.org> 0.4.0-alt1
- Added substitute.d support.

* Thu Jan 24 2002 Dmitry V. Levin <ldv@alt-linux.org> 0.3.0-alt1
- filter_strace:
  + Added ignore.d support;
  + Added $verbose support.
- Added rebuild_packages utility.
- Updated requires list.

* Mon Dec 10 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.2.4-alt1
- files/ignore: added to ignore list: /etc/emacs/site-start.d/*.el (imz).

* Wed Dec 05 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.2.3-alt1
- compare_packages: shutup diff errors, do not requires less.
- essential:
  + added: libgcc, cpp2.96, gcc2.96, libstdc++2.96;
  + removed: libjpeg.

* Fri Nov 16 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.2.2-alt1
- Added SIGPIPE handling.

* Mon Nov 12 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.2.1-alt1
- rebuild_package: fixed typo.

* Fri Nov 09 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.2.0-alt1
- Enabled rpm4 support.

* Fri Oct 26 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.1.1-alt1
- cleanup_spec: fixed nasty bugs introduced in previous version.

* Mon Oct 22 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.1-alt1
- buildreq: fixed shell quoting pattern.
- Added new utilities: stamp_spec, add_changelog, compare_packages, cleanup_spec, rebuild_package.
- Renamed to rpm-utils.

* Wed Oct 17 2001 Dmitry V. Levin <ldv@alt-linux.org> 0.9.9.1-alt1
- essential: take into account glibc split.
- filereq,packagereq,buildreq: use features of mktemp >= 1:1.3.1

* Wed Oct 10 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.9-alt1
- Make use of "mktemp -t" (requires mktemp >= 1.6).
- buildreq: quote packagereq and some of its arguments.
- buildreq: added define of __nprocs=1 to avoid strace bugs.
- filter_strace: ignore files from $TMPDIR, %%_builddir and %%_tmppath.

* Fri Sep 21 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.8-alt1
- packagereq: optimized by checking file existance before executing rpm query.
- buildreq: set default arguments list to "-bc --define '__buildreqs 1'".
- filter_strace: ignore files from $TMPDIR.
- essential: added getopt.

* Wed Aug 15 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.7-alt1
- Updated %_sysconfdir/%name/packages/essential config.

* Thu Jul 12 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.6-alt1
- Added files/ignore config for filter_strace helper script.
- Added check_importance helper script.
- Changed logic of checking package importance.
- Moved config files to %_sysconfdir/%name.

* Sun May 06 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.5-alt1
- Updates ignore and essential lists.

* Fri Apr 20 2001 Dmitry V. Levin <ldv@altlinux.ru> 0.9.4-alt1
- Fixed and enhanced packagereq utility.
- Updated %_datadir/%name/essential list.

* Fri Jan 26 2001 Dmitry V. Levin <ldv@fandra.org> 0.9.3-ipl1
- Fixed typo in packagereq.

* Tue Jan 23 2001 Dmitry V. Levin <ldv@fandra.org> 0.9.2-ipl1
- Added %_bindir/rpmdups.
- Added %_datadir/%name/ignore support.
- Updated %_datadir/%name/essential list.
- Marked %_datadir/%name/{essential,ignore} as config files.

* Sun Dec 24 2000 Dmitry V. Levin <ldv@fandra.org> 0.9.1-ipl1
- Minor fixes.

* Mon Oct 16 2000 Dmitry V. Levin <ldv@fandra.org> 0.9-ipl1
- 0.9:
  + reduced size of temporary files to minimum (list of files);
  + filter_spec now inserts BuildRequires line in proper place,
    not in the first line as before;
  + added packages, required by rpm-build, to essential list.

* Sun Oct 15 2000 Dmitry V. Levin <ldv@fandra.org> 0.8-ipl1
- 0.8 (optimized strace output, usage typo fixes).
- BuildArchitectures: noarch.

* Mon Oct 09 2000 Dmitry V. Levin <ldv@fandra.org> 0.7-ipl1
- 0.7 (rewritten completely, now using strace).

* Mon Oct 09 2000 Dmitry V. Levin <ldv@fandra.org> 0.6-ipl1
- 0.6 (added essential packages).

* Mon Oct 02 2000 Dmitry V. Levin <ldv@fandra.org> 0.5-ipl1
- 0.5 (rewritten error reporting).

* Thu Sep 21 2000 Dmitry V. Levin <ldv@fandra.org> 0.3-ipl1
- 0.3 (minor fixes).

* Tue Sep 19 2000 Dmitry V. Levin <ldv@fandra.org> 0.2-ipl1
- Initial revision