summaryrefslogtreecommitdiffstats
path: root/scl-utils.spec
blob: f8d95de68a9066314eb27df567a47522c45480ca (plain)
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
%global __cmake_in_source_build 1
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)

Name:       scl-utils
Epoch:      1
Version:    2.0.3
Release:    6%{?dist}
Summary:    Utilities for alternative packaging

License:    GPLv2+
URL:        https://github.com/sclorg/scl-utils
Source0:    https://github.com/sclorg/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
Source1:    macros.scl-filesystem
BuildRequires:	gcc make
BuildRequires:  cmake
BuildRequires:  rpm-devel
BuildRequires:  libcmocka libcmocka-devel environment-modules
Requires:   %{_bindir}/modulecmd

Patch1:     0003-Scl-utils-layout-patch-from-fedora-famillecollet.com.patch
Patch2:     BZ-2056462-do-not-error-out-on-SIGINT.patch
Patch3:     BZ-2091000-remove-tmp-file.patch
Patch4:     rpm419.patch
Patch5:     brp-python-hardlink.patch

%description
Run-time utility for alternative packaging.

%package build
Summary:    RPM build macros for alternative packaging
Requires:   iso-codes
Requires:   redhat-rpm-config

%description build
Essential RPM build macros for alternative packaging.

%prep
%autosetup -p1

%build
%cmake .
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS"

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
if [ %{macrosdir} != %{_sysconfdir}/rpm ]; then
    mkdir -p %{buildroot}%{macrosdir}
    mv %{buildroot}%{_sysconfdir}/rpm/macros.scl %{buildroot}%{macrosdir}
    rmdir %{buildroot}%{_sysconfdir}/rpm
fi
cat %SOURCE1 >> %{buildroot}%{macrosdir}/macros.scl
mkdir -p %{buildroot}%{_sysconfdir}/scl
cd %{buildroot}%{_sysconfdir}/scl
mkdir modulefiles
mkdir prefixes
ln -s prefixes conf

%check
make check

%files
%dir %{_sysconfdir}/scl
%dir %{_sysconfdir}/scl/modulefiles
%dir %{_sysconfdir}/scl/prefixes
%{_sysconfdir}/scl/conf
%{_sysconfdir}/scl/func_scl.csh
%config %{_sysconfdir}/bash_completion.d/scl
%config %{_sysconfdir}/profile.d/scl-init.sh
%config %{_sysconfdir}/profile.d/scl-init.csh
%{_bindir}/scl
%{_bindir}/scl_enabled
%{_bindir}/scl_source
%{_mandir}/man1/scl.1.gz
%doc LICENSE

%files build
%{macrosdir}/macros.scl
%{_rpmconfigdir}/scldeps.sh
%{_rpmconfigdir}/fileattrs/scl.attr
%{_rpmconfigdir}/fileattrs/sclbuild.attr
%{_rpmconfigdir}/brp-scl-compress
%{_rpmconfigdir}/brp-scl-python-bytecompile

%changelog
* Wed Aug 23 2023 Remi Collet <remi@remirepo.net> - 1:2.0.3-6
- add upstream patch to fix brp-python-hardlink path

* Tue Aug 22 2023 Remi Collet <remi@remirepo.net> - 1:2.0.3-5
- add patch for RPM 4.19
  to workaround https://bugzilla.redhat.com/2233454

* Tue Aug 22 2023 Remi Collet <remi@remirepo.net> - 1:2.0.3-4
- F39 rebuild from CentOS 9 Stream package

* Tue Dec 13 2022 Florian Festi <ffesti@redhat.com> - 1:2.0.3-4
- Remove tmp file (#2151261)

* Mon Feb 21 2022 Michal Domonkos <mdomonko@redhat.com> - 1:2.0.3-3
- Don't error out when command receives SIGINT (#2056462)

* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1:2.0.3-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
  Related: rhbz#1991688

* Mon Jul 26 2021 Michal Domonkos <mdomonko@redhat.com> - 1:2.0.3-1
- Rebase to 2.0.3 (#1986085)

* Mon Jul 26 2021 Michal Domonkos <mdomonko@redhat.com> - 1:2.0.2-21
- Own directory /etc/scl (#1986040)

* Fri Jul 23 2021 Honza Horak <hhorak@redhat.com> - 1:2.0.2-20
- Fix problem with python version in the byte compilation script (#1984598)

* Wed May 12 2021 Michal Domonkos <mdomonko@redhat.com> - 1:2.0.2-19
- Fix dist tag syntax (#1958982)

* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:2.0.2-18
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Vitaly Zaitsev <vitaly@easycoding.org> - 1:2.0.2-16
- Backported upstream patches to resolve RHBZ#1728450.

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Fri Jul 24 2020 Jeff Law <law@redhat.com> - 1:2.0.2-14
- Use __cmake_in_source_build

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Aug 22 2019 Remi Collet <remi@remirepo.net> - 1:2.0.2-12
- Fix error: macro %%undefine is a built-in #1744583

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Mon Jun 10 22:13:23 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:2.0.2-10
- Rebuild for RPM 4.15

* Mon Jun 10 15:42:05 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:2.0.2-9
- Rebuild for RPM 4.15

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Jul 24 2018 Vít Ondruch <vondruch@redhat.com> - 1:2.0.2-7
- Don't enforce modulefile ownership.

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Mon Feb 19 2018 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.2-5
- Explicitly BuildRequire gcc and make

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Aug 25 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.2-3
- Fixup URL and Source, fedorahosted.org is no more

* Fri Aug 25 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.2-2
- scl-utils is not compatible with Lmod, fix the dependency (#1296383)

* Fri Aug 25 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.2-1
- Rebase to 2.0.2

* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:2.0.1-20
- Rebuilt after RPM update (№ 3)

* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:2.0.1-19
- Rebuilt for RPM soname bump

* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:2.0.1-18
- Rebuilt for RPM soname bump

* Mon Aug  7 2017 Joe Orton <jorton@redhat.com> - 1:2.0.1-17
- add aarch64, ppc64le to list of arches with lib64 (#1475718)

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Mar 20 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.1-14
- Permit choosing environment modules implementation (#1296383)

* Mon Mar 20 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.1-13
- Own license directory by runtime (#1206044)

* Mon Mar 20 2017 Panu Matilainen <pmatilai@redhat.com> - 1:2.0.1-12
- Don't try to use no longer existing brp-java-repack-jars script (#1409277)

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Wed Mar 09 2016 Lubos Kardos <lkardos@redhat.com> -1:2.0.1-10
- apply rh layout fixes from Remi Collet (#1198693)

* Mon Mar  7 2016 Remi Collet <remi@fedoraproject.org> - 1:2.0.1-9
- fix grep usage in macros.scl #1315051

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.0.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Aug 27 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0.1-7
- Fix core dumps with large input on stdin (#1257274)

* Mon Jul 27 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0.1-6
- Rebuild with the newest rpm.

* Tue Jul 07 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0.1-5
- Honor CFLAGS passed to cmake (#1239997)

* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.0.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Mar  4 2015 Ville Skyttä <ville.skytta@iki.fi> - 1:2.0.1-3
- Install macros in %%{_rpmconfigdir}/macros.d where available (#1074284)

* Wed Jan 21 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0.1-2
- added owning of module file

* Tue Jan 20 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0.1-1
- rebase to scl-utils-2.0.1
- escaped macros in changelog
- added %%config for files in /etc

* Fri Jan 09 2015 Jan Zeleny <jzeleny@redhat.com> - 1:2.0-2
- corrected URL of Source0

* Thu Jan 08 2015 Lubos Kardos <lkardos@redhat.com> - 1:2.0-1
- rebase to scl-utils-2.0

* Fri Dec 12 2014 Jan Zeleny <jzeleny@redhat.com> - 20140815-4
- propagate the %%nfsmountable into -build subpackage content
- use vendor prefix in the names of the packages if required

* Fri Dec 12 2014 Jan Zeleny <jzeleny@redhat.com> - 20140815-3
- add support for register/deregister scriptlets
- add support %%nfsmountable macro
- fix some paths in %%scl_files and %%scl_install

* Wed Aug 27 2014 Jan Zeleny <jzeleny@redhat.com> - 20140815-2
- fixed the paths in /etc/opt and /var/opt (missing /scls/)
- adjust the spec so all patches are automatically applied

* Tue Aug 26 2014 Jan Zeleny <jzeleny@redhat.com> - 20140815-1
- rebased to 20140815
- switched to %%autosetup in %%prep

* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140127-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140127-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed May 07 2014 Albert Uchytil <auchytil@redhat.com> - 20140127-5
- changed __os_install_post script paths to keep up with rpm (#1093074)

* Fri Apr 11 2014 Albert Uchytil <auchytil@redhat.com> - 20140127-4
- reverted "-f filelist" modification
- added %%scl_vendor macro to macros.%%{scl}-config file (#1084095)
- %%scl_prefix now accepts a parameter to improve
  inter-collection dependencies (#1028953)
- modified the behavior of debuginfo generation process
- changed command description in scl man pages
- added conditional dependencies for main metapackage

* Tue Mar 18 2014 Albert Uchytil <auchytil@redhat.com> - 20140127-3
- added scl-runtime requirement for all subpackages

* Wed Mar 12 2014 Albert Uchytil <auchytil@redhat.com> - 20140127-2
- %%scl_files body moved to %%scl_install
- the "filesystem" file renamed back to "filelist"
- add automatic Provide: scl-package(%%scl) to all scl-related packages (#105290)

* Mon Jan 27 2014 Jan Zeleny <jzeleny@redhat.com> - 20140127-1
- don't exclude provides from SCLs (#1056183)
- don't generate scl-package(%%scl) in macros.scl, it's already
  handled in dependency generator
- add automatic Requires: %%scl_runtime to every SCL package (#1054711)

* Wed Jan 08 2014 Jan Zeleny <jzeleny@redhat.com> - 20140108-1
- split _scl_prefix macro in two parts: scl_basedir and scl_vendor (#985233)
- check if temp file is created (#1032666)
- don't split command arguments containing white space (#1032666)
- rename some attr rpm macros to stop confusing rpm (#1023625)

* Thu Oct 17 2013 Jan Zeleny <jzeleny@redhat.com> - 20131017-1
- fixed one issue in scl_source script

* Wed Oct 16 2013 Jan Zeleny <jzeleny@redhat.com> - 20131016-1
- fixed the -- separator behavior

* Wed Oct 09 2013 Jan Zeleny <jzeleny@redhat.com> - 20131015-1
- Correct the %%_sharedstatedir and %%_root_sharedstatedir macros
- Don't install /%%{_lib} when not necessary
- Add LICENSE file
- Add scl_source script
- Don't change directory in %%scl_install
- Don't generate provides from sonames in the SCL root
- Add the SCL prefix to virtual provides of SCL-based packages
- Implement "--" as a command separator
- Removed binary file scl from git tracking
- Fixed typo
- Added example wrapper script.

* Mon Aug 26 2013 Jan Zeleny <jzeleny@redhat.com> - 20130529-3
- updated the file list to handle /etc/scl/conf correctly

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130529-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed May 29 2013 Jan Zeleny <jzeleny@redhat.com> - 20130529-1
- changed the upstream tarball location
- update to 20130529

* Fri Feb 01 2013 Jindrich Novy <jnovy@redhat.com> 20121110-2
- add build compatibility fixes

* Wed Dec 19 2012 Jindrich Novy <jnovy@redhat.com> 20121110-1
- introduce sclbuild utility
- fix exporting of env. variables when mutiple collections are
  enabled at the same time
- better bash completion
- fix changelog

* Thu Sep 27 2012 Jindrich Novy <jnovy@redhat.com> 20120927-1
- update to 20120927
- better BUILDROOT processing
- bash completition for scl command
- debuginfo package now has SCL-specific provide
- non-SCL builds are without warning in build log
- improved help

* Thu Aug 09 2012 Jindrich Novy <jnovy@redhat.com> 20120809-1
- update to 20120809
- processes the SCL buildroot correctly now

* Thu Aug 02 2012 Jindrich Novy <jnovy@redhat.com> 20120802-1
- update to 20120802

* Tue Jul 31 2012 Jindrich Novy <jnovy@redhat.com> 20120731-1
- add functionality that allows to list all packages in a collection
- add dependency generators

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20120613-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Wed Jun 13 2012 Jindrich Novy <jnovy@redhat.com> 20120613-1
- Requires: iso-codes for basic filesystem in build subpackage
- add scl_require_package() macro to depend on a particular package
  from the collection
- fix filesystem file list
- tighten runtime package dependency via scl_require()
- fix _localstatedir to point to the correct path according to redhat-rpm-config
- thanks to Bohuslav Kabrda for feature proposals/QA/fixes

* Thu May 03 2012 Jindrich Novy <jnovy@redhat.com> 20120503-1
- avoid doublefree corruption when reading commands from stdin

* Sun Apr 22 2012 Jindrich Novy <jnovy@redhat.com> 20120423-1
- keep filesystem macros out of the main sources as
  it is distro-dependent

* Fri Apr 13 2012 Jindrich Novy <jnovy@redhat.com> 20120413-1
- filesystem ownership by meta package
- add man page
- fix memory leak when parsing commands from stdin
- use more descriptive error message if /etc/prefixes is missing

* Wed Feb 29 2012 Jindrich Novy <jnovy@redhat.com> 20120229-1
- do not prepend scl_* prefix to package names
- unify package naming to <SCL>-package-version
- add scl --list functionality to list available SCLs

* Thu Feb 09 2012 Jindrich Novy <jnovy@redhat.com> 20120209-1
- fix minor bugs (#788194)
  - clear temp files
  - handle commands from stdin properly
  - run command even if ran as "scl enable SCL command" from already
    enabled SCL

* Wed Jan 25 2012 Jindrich Novy <jnovy@redhat.com> 20120125-1
- remove dsc macros
- trigger scl-utils-build BR inclusion while using scl macros

* Wed Jan 11 2012 Jindrich Novy <jnovy@redhat.com> 20120111-1
- add "dsc" alias to "scl" utility

* Wed Dec 14 2011 Jindrich Novy <jnovy@redhat.com> 20111214-1
- initial review fixes (#767556)

* Fri Dec  9 2011 Jindrich Novy <jnovy@redhat.com> 20111209-1
- allow to use dsc_* macros and dsc* package naming

* Wed Nov 16 2011 Jindrich Novy <jnovy@redhat.com> 20111116-1
- package is now named scl-utils

* Mon Oct 17 2011 Jindrich Novy <jnovy@redhat.com> 20111017-1
- initial packaging for upstream

* Wed Sep 21 2011 Jindrich Novy <jnovy@redhat.com> 0.1-14
- define %%_defaultdocdir to properly relocate docs into
  a stack
- document a way how to pass command to stack via stdin

* Wed Jun 22 2011 Jindrich Novy <jnovy@redhat.com> 0.1-13
- fix Stack meta config configuration

* Fri Jun 17 2011 Jindrich Novy <jnovy@redhat.com> 0.1-12
- use own Stack path configuration mechanism

* Fri Jun 17 2011 Jindrich Novy <jnovy@redhat.com> 0.1-11
- avoid redefinition of %%_root* macros by multiple
  occurence of %%stack_package
- make the Stack root path configurable

* Tue Jun 14 2011 Jindrich Novy <jnovy@redhat.com> 0.1-10
- stack utility allows to read command from stdin

* Mon Jun 13 2011 Jindrich Novy <jnovy@redhat.com> 0.1-9
- introduce stack enablement tracking
- introduce "stack_enabled" helper utility to let a stack
  application figure out which stacks are actually enabled
- disallow running stacks recursively

* Mon Jun 13 2011 Jindrich Novy <jnovy@redhat.com> 0.1-8
- stack utility returns executed commands' exit value

* Fri Jun 10 2011 Jindrich Novy <jnovy@redhat.com> 0.1-7
- fix possible segfault in the stack utility

* Fri Jun 10 2011 Jindrich Novy <jnovy@redhat.com> 0.1-6
- %%stack_name: initial part of stack prefix and name of
  meta package providing scriptlets
- %%stack_prefix: stack namespacing part to be prepended to
  original non-stack package name, can be used for Provides
  namespacing as well
- %%stack_runtime: run-time package name providing scriptlets
- %%stack_require: macro to define dependency to other stacks

* Thu Jun 09 2011 Jindrich Novy <jnovy@redhat.com> 0.1-5
- split the package into two - runtime and build part
- decrease verbosity when enabling a stack

* Wed Jun 08 2011 Jindrich Novy <jnovy@redhat.com> 0.1-4
- prepend stack package with stack_* to prevent namespace
  conflicts with core packages

* Thu Jun 02 2011 Jindrich Novy <jnovy@redhat.com> 0.1-3
- introduce metapackage concept

* Wed Jun 01 2011 Jindrich Novy <jnovy@redhat.com> 0.1-2
- modify macros so that they don't change preamble tags

* Sun May 08 2011 Jindrich Novy <jnovy@redhat.com> 0.1-1
- initial packaging