From fb1846371667d4eb9f2e0a0c0664ea339e98ca45 Mon Sep 17 00:00:00 2001 From: Toshaan Bharvani Date: Tue, 21 May 2024 11:32:16 +0200 Subject: [PATCH] initial package creation Signed-off-by: Toshaan Bharvani --- ...-patch-from-fedora-famillecollet.com.patch | 31 ++ ...Z-2056462-do-not-error-out-on-SIGINT.patch | 61 +++ SOURCES/BZ-2091000-remove-tmp-file.patch | 21 + SOURCES/macros.scl-filesystem | 342 +++++++++++++ SPECS/scl-utils.spec | 453 ++++++++++++++++++ 5 files changed, 908 insertions(+) create mode 100644 SOURCES/0003-Scl-utils-layout-patch-from-fedora-famillecollet.com.patch create mode 100644 SOURCES/BZ-2056462-do-not-error-out-on-SIGINT.patch create mode 100644 SOURCES/BZ-2091000-remove-tmp-file.patch create mode 100644 SOURCES/macros.scl-filesystem create mode 100644 SPECS/scl-utils.spec diff --git a/SOURCES/0003-Scl-utils-layout-patch-from-fedora-famillecollet.com.patch b/SOURCES/0003-Scl-utils-layout-patch-from-fedora-famillecollet.com.patch new file mode 100644 index 0000000..68f0615 --- /dev/null +++ b/SOURCES/0003-Scl-utils-layout-patch-from-fedora-famillecollet.com.patch @@ -0,0 +1,31 @@ +From c0315dd54bc94c2acf4e4dcf0a72ca42a1cfde60 Mon Sep 17 00:00:00 2001 +From: Lubos Kardos +Date: Wed, 9 Mar 2016 16:11:56 +0100 +Subject: [PATCH] Scl utils layout patch from fedora@famillecollet.com + (#1198693) + +--- + rpm/macros.scl | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/rpm/macros.scl b/rpm/macros.scl +index 1246fde..41c6be4 100644 +--- a/rpm/macros.scl ++++ b/rpm/macros.scl +@@ -69,10 +69,13 @@ package or when debugging this package. + %global _datadir %{_prefix}/share + %global _sysconfdir %{_scl_root}/etc + %{?nfsmountable: %global _sysconfdir %{_root_sysconfdir}%{_scl_prefix}/scls/%{scl}} ++%{?rh_layout: %global _sysconfdir %{_root_sysconfdir}%{_scl_prefix}/%{scl}} + %global _sharedstatedir %{_scl_root}/var/lib + %{?nfsmountable: %global _sharedstatedir %{_root_localstatedir}%{_scl_prefix}/scls/%{scl}/lib} ++%{?rh_layout: %global _sharedstatedir %{_root_localstatedir}%{_scl_prefix}/%{scl}/lib} + %global _localstatedir %{_scl_root}/var + %{?nfsmountable: %global _localstatedir %{_root_localstatedir}%{_scl_prefix}/scls/%{scl}} ++%{?rh_layout: %global _localstatedir %{_root_localstatedir}%{_scl_prefix}/%{scl}} + %global _libdir %{_exec_prefix}/%{_lib} + %global _includedir %{_prefix}/include + %global _infodir %{_datadir}/info +-- +1.9.3 + diff --git a/SOURCES/BZ-2056462-do-not-error-out-on-SIGINT.patch b/SOURCES/BZ-2056462-do-not-error-out-on-SIGINT.patch new file mode 100644 index 0000000..3a076eb --- /dev/null +++ b/SOURCES/BZ-2056462-do-not-error-out-on-SIGINT.patch @@ -0,0 +1,61 @@ +From 9147d3b66e0a263c2eb427b7892b34c925363854 Mon Sep 17 00:00:00 2001 +From: Michal Domonkos +Date: Thu, 17 Feb 2022 17:36:00 +0100 +Subject: [PATCH] Don't error out when command receives SIGINT + +Interrupting a running command isn't really an execution problem so +don't print an error or return a non-zero exit status. + +This is also how it worked in versions older than 2.0. + +Resolves: rhbz#1967686 +--- + src/fallback.c | 3 +++ + src/scllib.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/src/fallback.c b/src/fallback.c +index 4b9c8fd..c907a34 100644 +--- a/src/fallback.c ++++ b/src/fallback.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include "scllib.h" + #include "sclmalloc.h" +@@ -229,6 +230,8 @@ scl_rc fallback_run_command(char * const colnames[], const char *cmd, bool exec) + xasprintf(&bash_cmd, "/bin/bash %s", tmp); + status = system(bash_cmd); + if (status == -1 || !WIFEXITED(status)) { ++ if (WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) ++ goto exit; + debug("Problem with executing command \"%s\"\n", bash_cmd); + ret = ERUN; + goto exit; +diff --git a/src/scllib.c b/src/scllib.c +index a182194..2ba8df8 100644 +--- a/src/scllib.c ++++ b/src/scllib.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "config.h" + #include "errors.h" +@@ -341,6 +342,8 @@ scl_rc run_command(char * const colnames[], const char *cmd, bool exec) + + status = system(cmd); + if (status == -1 || !WIFEXITED(status)) { ++ if (WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) ++ goto exit; + debug("Problem with executing program \"%s\"\n", cmd); + ret = ERUN; + goto exit; +-- +2.35.1 + diff --git a/SOURCES/BZ-2091000-remove-tmp-file.patch b/SOURCES/BZ-2091000-remove-tmp-file.patch new file mode 100644 index 0000000..3c4436c --- /dev/null +++ b/SOURCES/BZ-2091000-remove-tmp-file.patch @@ -0,0 +1,21 @@ +From 864844ecc11f8cf65cd97bcffdb803211f7edaa4 Mon Sep 17 00:00:00 2001 +From: Piotr Wilkosz +Date: Mon, 23 May 2022 16:14:13 +0200 +Subject: [PATCH] remove tmp file at exit + +--- + src/fallback.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/fallback.c b/src/fallback.c +index c907a34..e67654a 100644 +--- a/src/fallback.c ++++ b/src/fallback.c +@@ -246,6 +246,7 @@ scl_rc fallback_run_command(char * const colnames[], const char *cmd, bool exec) + enable_path = _free(enable_path); + colpath = _free(colpath); + bash_cmd = _free(bash_cmd); ++ unlink(tmp); + + return ret; + } diff --git a/SOURCES/macros.scl-filesystem b/SOURCES/macros.scl-filesystem new file mode 100644 index 0000000..b64cba6 --- /dev/null +++ b/SOURCES/macros.scl-filesystem @@ -0,0 +1,342 @@ +%scl_files %{expand: +%defattr(-,root,root,-) +%dir %_scl_prefix +%dir %attr(555,root,root) %{_scl_root} +%dir %attr(555,root,root) %{_scl_scripts} +%{_scl_scripts}/enable +%{_root_sysconfdir}/scl/prefixes/%scl +%{_scl_root}/bin +%attr(555,root,root) %{_scl_root}/boot +%{_scl_root}/dev +%dir %{_sysconfdir} +%{_sysconfdir}/X11 +%{_sysconfdir}/xdg +%{_sysconfdir}/opt +%{_sysconfdir}/pm +%{_sysconfdir}/xinetd.d +%{_sysconfdir}/skel +%{_sysconfdir}/sysconfig +%{_sysconfdir}/pki +%{_scl_root}/home +%{_scl_root}/lib +%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x +%{_scl_root}/%{_lib} +%endif +%{_scl_root}/media +%dir %{_scl_root}/mnt +%dir %{_scl_root}/opt +%attr(555,root,root) %{_scl_root}/proc +%attr(550,root,root) %{_scl_root}/root +%{_scl_root}/run +%{_scl_root}/sbin +%{_scl_root}/srv +%{_scl_root}/sys +%attr(1777,root,root) %{_scl_root}/tmp +%dir %{_scl_root}/usr +%attr(555,root,root) %{_scl_root}/usr/bin +%{_scl_root}/usr/etc +%{_scl_root}/usr/games +%{_scl_root}/usr/include +%dir %attr(555,root,root) %{_scl_root}/usr/lib +%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x +%attr(555,root,root) %{_scl_root}/usr/%{_lib} +%endif +%{_scl_root}/usr/libexec +%{_scl_root}/usr/local +%attr(555,root,root) %{_scl_root}/usr/sbin +%dir %{_scl_root}/usr/share +%{_scl_root}/usr/share/aclocal +%{_scl_root}/usr/share/applications +%{_scl_root}/usr/share/augeas +%{_scl_root}/usr/share/backgrounds +%{_scl_root}/usr/share/desktop-directories +%{_scl_root}/usr/share/dict +%{_scl_root}/usr/share/doc +%attr(555,root,root) %dir %{_scl_root}/usr/share/empty +%{_scl_root}/usr/share/games +%{_scl_root}/usr/share/ghostscript +%{_scl_root}/usr/share/gnome +%{_scl_root}/usr/share/icons +%{_scl_root}/usr/share/idl +%{_scl_root}/usr/share/info +%dir %{_scl_root}/usr/share/licenses +%dir %{_scl_root}/usr/share/locale +%dir %{_scl_root}/usr/share/man +%{_scl_root}/usr/share/mime-info +%{_scl_root}/usr/share/misc +%{_scl_root}/usr/share/omf +%{_scl_root}/usr/share/pixmaps +%{_scl_root}/usr/share/sounds +%{_scl_root}/usr/share/themes +%{_scl_root}/usr/share/xsessions +%{_scl_root}/usr/share/X11 +%{_scl_root}/usr/src +%{_scl_root}/usr/tmp +%dir %{_localstatedir} +%{_localstatedir}/adm +%{_localstatedir}/cache +%{_localstatedir}/db +%{_localstatedir}/empty +%{_localstatedir}/games +%{_localstatedir}/gopher +%{_localstatedir}/lib +%{_localstatedir}/local +%ghost %dir %attr(755,root,root) %{_localstatedir}/lock +%ghost %{_localstatedir}/lock/subsys +%{_localstatedir}/log +%{_localstatedir}/mail +%{_localstatedir}/nis +%{_localstatedir}/opt +%{_localstatedir}/preserve +%ghost %attr(755,root,root) %{_localstatedir}/run +%dir %{_localstatedir}/spool +%attr(755,root,root) %{_localstatedir}/spool/lpd +%attr(775,root,mail) %{_localstatedir}/spool/mail +%attr(1777,root,root) %{_localstatedir}/tmp +%{_localstatedir}/yp +} + +%scl_install %{expand: +# scl specific stuff +mkdir -p %{buildroot}%{_root_sysconfdir}/{rpm,scl/{prefixes,modulefiles}} +cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config << EOF +%%%%scl %scl +%{?nfsmountable:%%%%nfsmountable %{nfsmountable}} +%{?rh_layout:%%%%rh_layout %{rh_layout}} +EOF +cat >> %{buildroot}%{_root_sysconfdir}/scl/prefixes/%{scl} << EOF +%_scl_prefix +EOF +test -e %{buildroot}%{_scl_scripts}/%{scl} && ln -s %{_scl_scripts}/%{scl} %{buildroot}%{_root_sysconfdir}/scl/modulefiles/%{scl} +# filelist +set +x +cat >> %{buildroot}/lang-exceptions << EOF +af_ZA +am_ET +ast_ES +az_IR +bg_BG +bn_IN +ca@valencia +ca_ES +ca_ES@valencian +cs_CZ +de_AT +de_CH +de_DE +default +el_GR +en_AU +en_CA +en_GB +en_US +en_NZ +es_AR +es_CL +es_CO +es_CR +es_DO +es_EC +es_ES +es_GT +es_HN +es_MX +es_NI +es_PA +es_PE +es_PR +es_SV +es_UY +es_VE +et_EE +eu_ES +fa_IR +fi_FI +fr_BE +fr_CA +fr_CH +fr_FR +gl_ES +he_IL +hr_HR +hu_HU +it_CH +it_IT +ja_JP +ko_KR +ks@devanagari +lv_LV +ms_MY +my_MM +nb_NO +nds_DE +nl_BE +nl_NL +pl_PL +pt_BR +pt_PT +ru_RU +sl_SI +sq_AL +sr_RS +sv_SE +uk_UA +ur_PK +zh_CN +zh_CN.GB2312 +zh_HK +zh_TW +zh_TW.Big5 +en@boldquot +en@quot +nds@NFE +sr@ije +sr@ijekavian +sr@ijekavianlatin +sr@latin +sr@Latn +uz@cyrillic +uz@Latn +be@latin +en@shaw +brx +brx_IN +EOF +cat >> %{buildroot}/iso_639.sed << EOF +1,/\\)!{ + x + s/^$// + # we are on the first iso-code--nothing to process here + t + # process and write to output + s/\\s\\+/ /g + s/!! + # use '%' as a separator of parsed and unparsed input + s/\\(.*\\)iso_639_2T_code="\\([^"]\\+\\)"\\(.*\\)/\\2 % \\1 \\3/ + s/\\([^%]\\+\\)%\\(.*\\)iso_639_2B_code="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3 % \\2 \\4/ + # clear subst. memory for the next t + t clear + :clear + s/\\([^%]\\+\\)%\\(.*\\)iso_639_1_code="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3 % \\2 \\4/ + t name + # no 639-1 code--write xx + s/%/\\tXX %/ + :name + s/\\([^%]\\+\\)%\\(.*\\)name="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3/ + s/ \\t/\\t/g + p + b + :noout +} +H +EOF +cat >> %{buildroot}/iso_3166.sed << EOF +1,/\\)!{ + x + s/^$// + # we are on the first iso-code--nothing to process here + t + # process and write to output + s/\\s\\+/ /g + s/!! + # use '%' as a separator of parsed and unparsed input + s/\\(.*\\)alpha_2_code="\\([^"]\\+\\)"\\(.*\\)/\\2 % \\1 \\3/ + s/\\([^%]\\+\\)%\\(.*\\)alpha_3_code="\\([^"]\\+\\)"\\(.*\\)/\\1% \\2 \\4/ + # clear subst. memory for the next t + t clear + :clear + s/\\([^%]\\+\\)%\\(.*\\)numeric_code="\\([^"]\\+\\)"\\(.*\\)/\\1% \\2 \\4/ + t name + # no 3166 code--write xx + s/%/\\tXX %/ + :name + s/\\([^%]\\+\\)%\\(.*\\)name="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3/ + s/ \\t/\\t/g + p + b + :noout +} +H +EOF +mkdir -p %{buildroot}%{_localstatedir} +pushd %{buildroot}%{_localstatedir} +mkdir -p {adm,empty,gopher,lib/{games,misc,rpm-state},local,lock/subsys,log,nis,preserve,run,spool/{mail,lpd,uucp},tmp,db,cache,opt,games,yp} +popd +mkdir -p %{buildroot}%{_sysconfdir} +pushd %{buildroot}%{_sysconfdir} +mkdir -p {X11/{applnk,fontpath.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},xinetd.d,skel,sysconfig,pki} +popd +mkdir -p %{buildroot}%{_scl_root} +rm -f $RPM_BUILD_DIR/%{buildsubdir}/filelist +rm -f $RPM_BUILD_DIR/%{buildsubdir}/filesystem +pushd %{buildroot}%{_scl_root} +mkdir -p boot dev \\ + home media mnt opt proc root run/lock srv sys tmp \\ + usr/{bin,etc,games,include,lib/{games,locale,modules,sse2},libexec,local/{bin,etc,games,lib,sbin,src,share/{applications,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x},info},libexec,include,},sbin,share/{aclocal,applications,augeas/lenses,backgrounds,desktop-directories,dict,doc,empty,games,ghostscript/conf.d,gnome,icons,idl,info,licenses,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p},mime-info,misc,omf,pixmaps,sounds,themes,xsessions,X11},src,src/kernels,src/debug} +%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x +mkdir -p usr/{%{_lib}/{games,sse2,tls,X11,pm-utils/{module.d,power.d,sleep.d}},local/%{_lib}} +%endif +ln -snf %{_localstatedir}/tmp usr/tmp +ln -snf spool/mail %{buildroot}%{_localstatedir}/mail +ln -snf usr/bin bin +ln -snf usr/sbin sbin +ln -snf usr/lib lib +%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x +ln -snf usr/%{_lib} %{_lib} +%endif +sed -n -f %{buildroot}/iso_639.sed /usr/share/xml/iso-codes/iso_639.xml >%{buildroot}/iso_639.tab +sed -n -f %{buildroot}/iso_3166.sed /usr/share/xml/iso-codes/iso_3166.xml >%{buildroot}/iso_3166.tab +grep -av "^$" %{buildroot}/iso_639.tab | grep -av "^#" | while read a b c d ; do + [[ "$d" =~ "^Reserved" ]] && continue + [[ "$d" =~ "^No linguistic" ]] && continue + locale=$c + if [ "$locale" = "XX" ]; then + locale=$b + fi + echo "%lang(${locale}) %{_scl_root}/usr/share/locale/${locale}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist + echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${locale}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist +done +cat %{buildroot}/lang-exceptions | grep -v "^#" | grep -v "^$" | while read loc ; do + locale=$loc + locality= + special= + [[ "$locale" =~ "@" ]] && locale=${locale%%%%@*} + [[ "$locale" =~ "_" ]] && locality=${locale##*_} + [[ "$locality" =~ "." ]] && locality=${locality%%%%.*} + [[ "$loc" =~ "_" ]] || [[ "$loc" =~ "@" ]] || special=$loc + # If the locality is not official, skip it + if [ -n "$locality" ]; then + grep -q "^$locality" %{buildroot}/iso_3166.tab || continue + fi + # If the locale is not official and not special, skip it + if [ -z "$special" ]; then + egrep -q "[[:space:]]${locale%%_*}[[:space:]]" \\ + %{buildroot}/iso_639.tab || continue + fi + echo "%lang(${locale}) %{_scl_root}/usr/share/locale/${loc}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist + echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${loc}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist +done +rm -f %{buildroot}/iso_639.tab +rm -f %{buildroot}/iso_639.sed +rm -f %{buildroot}/iso_3166.tab +rm -f %{buildroot}/iso_3166.sed +rm -f %{buildroot}/lang-exceptions +cat $RPM_BUILD_DIR/%{buildsubdir}/filelist | grep "locale" | while read a b ; do + mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES +done +cat $RPM_BUILD_DIR/%{buildsubdir}/filelist | grep "/share/man" | while read a b c d; do + mkdir -p -m 755 %{buildroot}/$d/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p} +done +for i in man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p}; do + echo "%{_scl_root}/usr/share/man/$i" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist +done +ln -s $RPM_BUILD_DIR/%{buildsubdir}/filelist $RPM_BUILD_DIR/%{buildsubdir}/filesystem +set -x +popd +} diff --git a/SPECS/scl-utils.spec b/SPECS/scl-utils.spec new file mode 100644 index 0000000..bfe04e8 --- /dev/null +++ b/SPECS/scl-utils.spec @@ -0,0 +1,453 @@ +%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: 4%{?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 + +%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 +* Tue Dec 13 2022 Florian Festi - 1:2.0.3-4 +- Remove tmp file (#2151261) + +* Mon Feb 21 2022 Michal Domonkos - 1:2.0.3-3 +- Don't error out when command receives SIGINT (#2056462) + +* Tue Aug 10 2021 Mohan Boddu - 1:2.0.3-2 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jul 26 2021 Michal Domonkos - 1:2.0.3-1 +- Rebase to 2.0.3 (#1986085) + +* Mon Jul 26 2021 Michal Domonkos - 1:2.0.2-21 +- Own directory /etc/scl (#1986040) + +* Fri Jul 23 2021 Honza Horak - 1:2.0.2-20 +- Fix problem with python version in the byte compilation script (#1984598) + +* Wed May 12 2021 Michal Domonkos - 1:2.0.2-19 +- Fix dist tag syntax (#1958982) + +* Fri Apr 16 2021 Mohan Boddu - 1:2.0.2-18 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 1:2.0.2-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Vitaly Zaitsev - 1:2.0.2-16 +- Backported upstream patches to resolve RHBZ#1728450. + +* Wed Jul 29 2020 Fedora Release Engineering - 1:2.0.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Jeff Law - 1:2.0.2-14 +- Use __cmake_in_source_build + +* Thu Jan 30 2020 Fedora Release Engineering - 1:2.0.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Aug 22 2019 Remi Collet - 1:2.0.2-12 +- Fix error: macro %%undefine is a built-in #1744583 + +* Fri Jul 26 2019 Fedora Release Engineering - 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 - 1:2.0.2-10 +- Rebuild for RPM 4.15 + +* Mon Jun 10 15:42:05 CET 2019 Igor Gnatenko - 1:2.0.2-9 +- Rebuild for RPM 4.15 + +* Sat Feb 02 2019 Fedora Release Engineering - 1:2.0.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 24 2018 Vít Ondruch - 1:2.0.2-7 +- Don't enforce modulefile ownership. + +* Sat Jul 14 2018 Fedora Release Engineering - 1:2.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Feb 19 2018 Panu Matilainen - 1:2.0.2-5 +- Explicitly BuildRequire gcc and make + +* Fri Feb 09 2018 Fedora Release Engineering - 1:2.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Aug 25 2017 Panu Matilainen - 1:2.0.2-3 +- Fixup URL and Source, fedorahosted.org is no more + +* Fri Aug 25 2017 Panu Matilainen - 1:2.0.2-2 +- scl-utils is not compatible with Lmod, fix the dependency (#1296383) + +* Fri Aug 25 2017 Panu Matilainen - 1:2.0.2-1 +- Rebase to 2.0.2 + +* Fri Aug 11 2017 Igor Gnatenko - 1:2.0.1-20 +- Rebuilt after RPM update (№ 3) + +* Thu Aug 10 2017 Igor Gnatenko - 1:2.0.1-19 +- Rebuilt for RPM soname bump + +* Thu Aug 10 2017 Igor Gnatenko - 1:2.0.1-18 +- Rebuilt for RPM soname bump + +* Mon Aug 7 2017 Joe Orton - 1:2.0.1-17 +- add aarch64, ppc64le to list of arches with lib64 (#1475718) + +* Thu Aug 03 2017 Fedora Release Engineering - 1:2.0.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1:2.0.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Mar 20 2017 Panu Matilainen - 1:2.0.1-14 +- Permit choosing environment modules implementation (#1296383) + +* Mon Mar 20 2017 Panu Matilainen - 1:2.0.1-13 +- Own license directory by runtime (#1206044) + +* Mon Mar 20 2017 Panu Matilainen - 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 - 1:2.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Mar 09 2016 Lubos Kardos -1:2.0.1-10 +- apply rh layout fixes from Remi Collet (#1198693) + +* Mon Mar 7 2016 Remi Collet - 1:2.0.1-9 +- fix grep usage in macros.scl #1315051 + +* Thu Feb 04 2016 Fedora Release Engineering - 1:2.0.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Aug 27 2015 Lubos Kardos - 1:2.0.1-7 +- Fix core dumps with large input on stdin (#1257274) + +* Mon Jul 27 2015 Lubos Kardos - 1:2.0.1-6 +- Rebuild with the newest rpm. + +* Tue Jul 07 2015 Lubos Kardos - 1:2.0.1-5 +- Honor CFLAGS passed to cmake (#1239997) + +* Fri Jun 19 2015 Fedora Release Engineering - 1:2.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Mar 4 2015 Ville Skyttä - 1:2.0.1-3 +- Install macros in %%{_rpmconfigdir}/macros.d where available (#1074284) + +* Wed Jan 21 2015 Lubos Kardos - 1:2.0.1-2 +- added owning of module file + +* Tue Jan 20 2015 Lubos Kardos - 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 - 1:2.0-2 +- corrected URL of Source0 + +* Thu Jan 08 2015 Lubos Kardos - 1:2.0-1 +- rebase to scl-utils-2.0 + +* Fri Dec 12 2014 Jan Zeleny - 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 - 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 - 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 - 20140815-1 +- rebased to 20140815 +- switched to %%autosetup in %%prep + +* Mon Aug 18 2014 Fedora Release Engineering - 20140127-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 20140127-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 07 2014 Albert Uchytil - 20140127-5 +- changed __os_install_post script paths to keep up with rpm (#1093074) + +* Fri Apr 11 2014 Albert Uchytil - 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 - 20140127-3 +- added scl-runtime requirement for all subpackages + +* Wed Mar 12 2014 Albert Uchytil - 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 - 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 - 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 - 20131017-1 +- fixed one issue in scl_source script + +* Wed Oct 16 2013 Jan Zeleny - 20131016-1 +- fixed the -- separator behavior + +* Wed Oct 09 2013 Jan Zeleny - 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 - 20130529-3 +- updated the file list to handle /etc/scl/conf correctly + +* Sun Aug 04 2013 Fedora Release Engineering - 20130529-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed May 29 2013 Jan Zeleny - 20130529-1 +- changed the upstream tarball location +- update to 20130529 + +* Fri Feb 01 2013 Jindrich Novy 20121110-2 +- add build compatibility fixes + +* Wed Dec 19 2012 Jindrich Novy 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 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 20120809-1 +- update to 20120809 +- processes the SCL buildroot correctly now + +* Thu Aug 02 2012 Jindrich Novy 20120802-1 +- update to 20120802 + +* Tue Jul 31 2012 Jindrich Novy 20120731-1 +- add functionality that allows to list all packages in a collection +- add dependency generators + +* Sat Jul 21 2012 Fedora Release Engineering - 20120613-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Jindrich Novy 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 20120503-1 +- avoid doublefree corruption when reading commands from stdin + +* Sun Apr 22 2012 Jindrich Novy 20120423-1 +- keep filesystem macros out of the main sources as + it is distro-dependent + +* Fri Apr 13 2012 Jindrich Novy 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 20120229-1 +- do not prepend scl_* prefix to package names +- unify package naming to -package-version +- add scl --list functionality to list available SCLs + +* Thu Feb 09 2012 Jindrich Novy 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 20120125-1 +- remove dsc macros +- trigger scl-utils-build BR inclusion while using scl macros + +* Wed Jan 11 2012 Jindrich Novy 20120111-1 +- add "dsc" alias to "scl" utility + +* Wed Dec 14 2011 Jindrich Novy 20111214-1 +- initial review fixes (#767556) + +* Fri Dec 9 2011 Jindrich Novy 20111209-1 +- allow to use dsc_* macros and dsc* package naming + +* Wed Nov 16 2011 Jindrich Novy 20111116-1 +- package is now named scl-utils + +* Mon Oct 17 2011 Jindrich Novy 20111017-1 +- initial packaging for upstream + +* Wed Sep 21 2011 Jindrich Novy 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 0.1-13 +- fix Stack meta config configuration + +* Fri Jun 17 2011 Jindrich Novy 0.1-12 +- use own Stack path configuration mechanism + +* Fri Jun 17 2011 Jindrich Novy 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 0.1-10 +- stack utility allows to read command from stdin + +* Mon Jun 13 2011 Jindrich Novy 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 0.1-8 +- stack utility returns executed commands' exit value + +* Fri Jun 10 2011 Jindrich Novy 0.1-7 +- fix possible segfault in the stack utility + +* Fri Jun 10 2011 Jindrich Novy 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 0.1-5 +- split the package into two - runtime and build part +- decrease verbosity when enabling a stack + +* Wed Jun 08 2011 Jindrich Novy 0.1-4 +- prepend stack package with stack_* to prevent namespace + conflicts with core packages + +* Thu Jun 02 2011 Jindrich Novy 0.1-3 +- introduce metapackage concept + +* Wed Jun 01 2011 Jindrich Novy 0.1-2 +- modify macros so that they don't change preamble tags + +* Sun May 08 2011 Jindrich Novy 0.1-1 +- initial packaging