diff --git a/.gitignore b/.gitignore index fe1dce6..798a575 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ icecream-manpages.tar.bz2 /icecream-1c15f6b.tar.gz /icecream-22fcc39.tar.gz /icecream-1.1.tar.gz +/icecream-1.2.tar.gz +/icecream-1.3.tar.gz +/icecream-1.4rc1.tar.gz diff --git a/0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch b/0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch index fd59fde..d94e4e4 100644 --- a/0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch +++ b/0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch @@ -1,4 +1,4 @@ -From a38c813764c36f24bbfdc3713c4d5db262e984bb Mon Sep 17 00:00:00 2001 +From 6212a5ec03bdcfea197ca205c3ca06c2d275c41e Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Mon, 26 Aug 2013 17:08:52 +0200 Subject: [PATCH 1/4] Revert "chmod/chown envs dir when preparing this" @@ -14,10 +14,10 @@ and its owned by root:icecc. We cannot and do not want to chown/chmod it. 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/daemon/environment.cpp b/daemon/environment.cpp -index 65cad30270..37079bb94b 100644 +index 4cfb504e39..fac3334754 100644 --- a/daemon/environment.cpp +++ b/daemon/environment.cpp -@@ -203,7 +203,7 @@ static bool cleanup_directory(const string &directory) +@@ -162,7 +162,7 @@ static bool cleanup_directory(const string &directory) return true; } @@ -26,7 +26,7 @@ index 65cad30270..37079bb94b 100644 { flush_debug(); -@@ -222,11 +222,6 @@ bool cleanup_cache(const string &basedir, uid_t user_uid, gid_t user_gid) +@@ -181,11 +181,6 @@ bool cleanup_cache(const string &basedir, uid_t user_uid, gid_t user_gid) return false; } @@ -39,7 +39,7 @@ index 65cad30270..37079bb94b 100644 } diff --git a/daemon/environment.h b/daemon/environment.h -index cae6fbd808..dd37005201 100644 +index dd61e7104b..9fbd331c5b 100644 --- a/daemon/environment.h +++ b/daemon/environment.h @@ -29,7 +29,7 @@ @@ -50,12 +50,12 @@ index cae6fbd808..dd37005201 100644 +extern bool cleanup_cache(const std::string &basedir); extern int start_create_env(const std::string &basedir, uid_t user_uid, gid_t user_gid, - const std::string &compiler, const std::list &extrafiles); + const std::string &compiler, const std::list &extrafiles, diff --git a/daemon/main.cpp b/daemon/main.cpp -index f87a799d28..00dfab7fe2 100644 +index b0dbd95ee4..9fe151a275 100644 --- a/daemon/main.cpp +++ b/daemon/main.cpp -@@ -2326,7 +2326,7 @@ int main(int argc, char **argv) +@@ -2535,7 +2535,7 @@ int main(int argc, char **argv) pidFile << dcc_master_pid << endl; pidFile.close(); @@ -65,5 +65,5 @@ index f87a799d28..00dfab7fe2 100644 } -- -2.13.0 +2.21.0 diff --git a/0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch b/0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch index 887ae81..af909ed 100644 --- a/0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch +++ b/0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch @@ -1,4 +1,4 @@ -From 1fb8269ea6bbefafb627f4f070cba41d3f01a0d8 Mon Sep 17 00:00:00 2001 +From 0ca327dd48e5c9b7c1c26529cdc86e35c5eb30e3 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Thu, 29 Aug 2013 18:12:02 +0200 Subject: [PATCH 2/4] daemon/main: do not create /run/icecc by ourselves @@ -11,10 +11,10 @@ instead of creating it from the daemon. 1 file changed, 4 deletions(-) diff --git a/daemon/main.cpp b/daemon/main.cpp -index 00dfab7fe2..e86534118b 100644 +index 9fe151a275..3119555f6d 100644 --- a/daemon/main.cpp +++ b/daemon/main.cpp -@@ -2231,10 +2231,6 @@ int main(int argc, char **argv) +@@ -2437,10 +2437,6 @@ int main(int argc, char **argv) logfile = "/var/log/icecc/iceccd.log"; } @@ -26,5 +26,5 @@ index 00dfab7fe2..e86534118b 100644 capng_clear(CAPNG_SELECT_BOTH); capng_update(CAPNG_ADD, (capng_type_t)(CAPNG_EFFECTIVE | CAPNG_PERMITTED), CAP_SYS_CHROOT); -- -2.13.0 +2.21.0 diff --git a/0003-Ignore-the-suse-directory.patch b/0003-Ignore-the-suse-directory.patch index 4518af0..05e94e3 100644 --- a/0003-Ignore-the-suse-directory.patch +++ b/0003-Ignore-the-suse-directory.patch @@ -1,4 +1,4 @@ -From e36ef9d943bc18759ee1a55e3f48db709c7fc98a Mon Sep 17 00:00:00 2001 +From b84e85638790fa51667c7440f5a79bb63196999f Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Fri, 11 Nov 2016 15:14:28 +0100 Subject: [PATCH 3/4] Ignore the 'suse' directory @@ -12,17 +12,17 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1393742 1 file changed, 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 316893602e..52d0002fd3 100644 +index 00fdf8a5f1..7311a9f4dd 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -7,7 +7,6 @@ SUBDIRS = \ +@@ -8,7 +8,6 @@ SUBDIRS = \ daemon \ client \ doc \ - suse \ compilerwrapper \ scheduler \ - tests + tests \ -- -2.13.0 +2.21.0 diff --git a/0004-do-not-use-usr-bin-env.patch b/0004-do-not-use-usr-bin-env.patch index a4c3ade..5e101ac 100644 --- a/0004-do-not-use-usr-bin-env.patch +++ b/0004-do-not-use-usr-bin-env.patch @@ -1,4 +1,4 @@ -From e8b48461f4269a5680bb968f0ea5be63e3cb67ce Mon Sep 17 00:00:00 2001 +From 8d14b19ed2bc174e2669e0effaafcb862a7c4054 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Fri, 11 Nov 2016 15:23:40 +0100 Subject: [PATCH 4/4] do not use #!/usr/bin/env @@ -8,7 +8,7 @@ Subject: [PATCH 4/4] do not use #!/usr/bin/env 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/icecc-create-env.in b/client/icecc-create-env.in -index 414f18cae0..2f1eae5c49 100755 +index cb52c9daa7..deb686fd65 100755 --- a/client/icecc-create-env.in +++ b/client/icecc-create-env.in @@ -1,4 +1,4 @@ @@ -18,5 +18,5 @@ index 414f18cae0..2f1eae5c49 100755 # # Copyright (C) 2004 by the Icecream Authors -- -2.13.0 +2.21.0 diff --git a/changelog b/changelog new file mode 100644 index 0000000..7c40dbd --- /dev/null +++ b/changelog @@ -0,0 +1,337 @@ +* Thu Jul 22 2021 Fedora Release Engineering - 1.4-0.3.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed May 05 2021 Izabela Bakollari - 1.4-0.2.rc1 +- run unit tests during the build + +* Wed Mar 24 2021 Izabela Bakollari - 1.4-0.1.rc1 +- Upstream release 1.4rc1 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.3-5 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Sep 27 2019 Michal Schmidt - 1.3-1 +- Upstream release 1.3. + +* Thu Aug 01 2019 Michal Schmidt - 1.2-4 +- Fix FTBFS, rely on PATH to run hardlink. + +* Thu Jul 25 2019 Fedora Release Engineering - 1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Nov 09 2018 Michal Schmidt - 1.2-1 +- Upstream release 1.2. +- selinux: allow symlinks in foreign environment + +* Fri Jul 13 2018 Fedora Release Engineering - 1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Mar 05 2018 Michal Schmidt - 1.1-4 +- BuildRequire gcc-c++. + +* Wed Feb 07 2018 Fedora Release Engineering - 1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Aug 14 2017 Michal Schmidt - 1.1-2 +- selinux: allow scheduler to perform connection checks + +* Wed Aug 09 2017 Michal Schmidt - 1.1-1 +- Upstream release 1.1. + +* Wed Aug 02 2017 Fedora Release Engineering - 1.1-0.10.rc3.g22fcc39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.1-0.9.rc3.g22fcc39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Michal Schmidt - 1.1-0.8.rc3.g22fcc39 +- Update to upstream rc3 plus latest commits. + +* Mon Jul 03 2017 Michal Schmidt - 1.1-0.7.rc2.g1c15f6b +- Current git snapshot. + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1-0.6.rc2.ga79f70f +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 14 2016 Michal Schmidt - 1.1-0.5.rc2.ga79f70f +- In scriptlets split the semanage calls for robustness. (#1391871) + +* Fri Nov 11 2016 Michal Schmidt - 1.1-0.4.rc2.ga79f70f +- Fix FTBFS on s390x. (#1393742) +- Do not use #!/usr/bin/env. + +* Fri Nov 04 2016 Michal Schmidt - 1.1-0.3.rc2.ga79f70f +- One more SELinux fix. (#1389570) + +* Fri Nov 04 2016 Michal Schmidt - 1.1-0.2.rc2.ga79f70f +- Fix fallout from 'icecream'->'icecc' user name change. +- Drop Group tag. + +* Thu Nov 03 2016 Michal Schmidt - 1.1-0.1.rc2.ga79f70f +- Update to current git snapshot. +- SELinux policy fixes. (#1389570, #1391871) +- Drop PATH_MAX patch of no obvious benefit. +- Prod firewalld in %%post. +- Move environment module file from under /etc to /usr. +- Do not ship /var/log/icecream. +- spec file cleanups. + +* Wed Mar 16 2016 Helio Chissini de Castro - 1.0.98-4 +- Default user is icecc, not icecream + +* Tue Mar 08 2016 Helio Chissini de Castro - 1.0.98-3 +- Re-apply config cleanup patch +- Remove libexec from configure since is already on macro +- Remove logrotate as not be a good idea +- Add github pull requests from Pino Toscano ( RedHat ) + +* Wed Mar 02 2016 Helio Chissini de Castro - 1.0.98-2 +- Add log entries and log dir +- Remove profile entries. We shouldn't be in the path, since tools rely on icecc binary +and this break the process since it relies on recursive call due to be in path. + +* Thu Feb 25 2016 Helio Chissini de Castro - 1.0.98-1 +- Update for most recent version available by Suse +- Icecream is now in github + +* Thu Feb 04 2016 Fedora Release Engineering - 1.0.1-14.20140822git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.0.1-13.20140822git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.0.1-12.20140822git +- Rebuilt for GCC 5 C++11 ABI change + +* Fri Dec 12 2014 Michal Schmidt - 1.0.1-11.20140822git +- selinux: allow icecc_scheduler_t to read /proc/meminfo + +* Fri Dec 12 2014 Michal Schmidt - 1.0.1-10.20140822git +- selinux: fix daemons running as unconfined_service_t +- selinux: fix label of icecc-create-env +- Fixes: rhbz#1173477 + +* Thu Nov 27 2014 Michal Schmidt - 1.0.1-9.20140822git +- selinux: allow the scheduler to read state via netlink route sockets +- Fixes: rhbz#1162321 + +* Fri Sep 05 2014 Michal Schmidt - 1.0.1-8.20140822git +- Update to current upstream git. +- Drops bundled minilzo, use system lzo library. (#1131794, CVE-2014-4607) +- Fix build of manpages (use docbook2X). +- Enable clang wrappers. +- Remove no longer necessary restorecon /var/log/icecc. +- Drop merged patches. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Sep 02 2013 Michal Schmidt - 1.0.1-5 +- Drop the permissions to log to the old files from the SELinux policy. + +* Mon Sep 02 2013 Michal Schmidt - 1.0.1-4 +- Fix dropping of capabilities. +- Log everything to journal/syslog, not the custom log files. + +* Fri Aug 30 2013 Michal Schmidt - 1.0.1-3 +- Disable building with librsync. The upstream code to use it is unfinished + and the only thing it does is leak memory. + +* Fri Aug 30 2013 Michal Schmidt - 1.0.1-2 +- Update the SELinux policy module and build it. +- Use tmpfiles.d to create /run/icecc instead of letting the daemon write to + var_run_t directly. +- Add a patch to stop icecc-create-env from reading /etc/passwd. +- Batch semenage calls in scriptlets. + +* Mon Aug 26 2013 Michal Schmidt - 1.0.1-1 +- Rebase to current upstream release. (#888183, #914087, #925572, #992557) +- Build with librsync and libcap-ng support. +- Build manpages from included DocBook sources. +- Disable the SELinux module, it's out of date. +- Enable PIE. (#955456) +- Modernize spec file. (#850154) + +* Sat Aug 03 2013 Fedora Release Engineering - 0.9.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.9.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 0.9.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Feb 28 2012 Fedora Release Engineering - 0.9.7-3 +- Rebuilt for c++ ABI breakage + +* Tue Feb 07 2012 Michal Schmidt - 0.9.7-2 +- systemd conversion + +* Mon Feb 06 2012 Michal Schmidt - 0.9.7-1 +- Upstream release 0.9.7. + +* Fri Jan 13 2012 Fedora Release Engineering - 0.9.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue May 03 2011 Michal Schmidt - 0.9.6-4 +- Add lto plugin for -fuse-linker-plugin (patch from dtardon) +- Fixes: BZ#675663 + +* Wed Feb 09 2011 Fedora Release Engineering - 0.9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Aug 16 2010 Michal Schmidt 0.9.6-2 +- Fix spaces instead of ':' separator for $PATH in icecream.csh. + +* Tue Aug 03 2010 Michal Schmidt 0.9.6-1 +- New upstream release. With an official tarball this time. +- Dropped icecream-fix-createenv-when-ldconfig-fails.patch + It was never accepted upstream and it is not necessary with working ldconfig. +- Refreshed icecream-rename-scheduler.patch + +* Thu Jul 08 2010 Michal Schmidt 0.9.5-7 +- Build without SELinux only on RHEL 5. + +* Thu Jul 08 2010 Michal Schmidt 0.9.5-6 +- Moved away from fedora-usermgmt in favor of plain shadow-utils. + +* Sun Jun 13 2010 Michal Schmidt 0.9.5-5 +- Mark UDP port 8765 as icecc_scheduler_port_t. + +* Sat Jun 12 2010 Michal Schmidt 0.9.5-4 +- Require /usr/sbin/semanage for scriptlets. (BZ#581272) + +* Sat Jun 12 2010 Michal Schmidt 0.9.5-3 +- Fix incorrect handling of SELinux in the scriptlets. +- Avoid recursive rpm invocation (fixfiles -R). +- Fixes: BZ#581272 + +* Thu Mar 25 2010 Michal Schmidt 0.9.5-2 +- SELinux policy fix (current selinux-policy assigns port 8765 to LIRC). + +* Thu Mar 25 2010 Michal Schmidt 0.9.5-1 +- Upstream release 0.9.5. + - new command 'icerun': serialize possibly resource-intensive tasks + - minor bugfixes +- Refreshed icecream-rename-scheduler.patch. + +* Mon Oct 12 2009 Michal Schmidt 0.9.4-5 +- Fix failure to build native environment in SELinux enforcing mode. +- 'cvs rm ...' unused patches. + +* Mon Aug 17 2009 Michal Schmidt 0.9.4-4 +- SELinux policy: Allow untrusted binaries to getattr all filesystems. + (BSD process accounting does vfs_getattr() to check disk space.) + +* Fri Aug 14 2009 Michal Schmidt 0.9.4-3 +- Create the logfile for the scheduler in the initscript. +- Allow the scheduler to write to the log in the SELinux policy (BZ#517251). + +* Fri Jul 24 2009 Fedora Release Engineering - 0.9.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Apr 30 2009 Michal Schmidt - 0.9.4-1 +- Upstream release 0.9.4. +- Dropped merged patches. + +* Mon Apr 06 2009 Michal Schmidt - 0.9.3-6 +- Fix wrong permissions on the cache dir preventing the jobs from being + distributed. +- SELinux policy update based on review comments on refpolicy ML. + +* Mon Mar 02 2009 Michal Schmidt - 0.9.3-5 +- Fix a fd leak from iceccd + avoid using system(). +- Allows tighter SELinux policy. + +* Tue Feb 24 2009 Fedora Release Engineering - 0.9.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 16 2009 Michal Schmidt - 0.9.3-3 +- Do not use --disable-rpath, icecream's configure script does not understand + it and warns about it. We still remove rpath using the sed tricks. +- One more SELinux policy tweak. + +* Mon Feb 16 2009 Michal Schmidt - 0.9.3-2 +- Updated and re-enabled the SELinux policy. The scheduler is now confined too. + +* Mon Feb 16 2009 Michal Schmidt - 0.9.3-1 +- new upstream release +- Dropped merged patches. +- Added an upstream patch to fix compilation with gcc 4.4. + +* Sat Feb 07 2009 Michal Schmidt - 0.9.2-4 +- one more fix for gcc 4.4. +- updated the scheduler renaming patch. + +* Sat Feb 07 2009 Michal Schmidt - 0.9.2-3 +- add an upstream patch to fix FTBFS with gcc 4.4 + +* Wed Jan 28 2009 Michal Schmidt - 0.9.2-2 +- Fix the create-env script not to crash on relative paths in ld.so.conf. +- No need to build the native environment as root anymore. +- Disable the SELinux policy for now, it needs more work. + +* Thu Nov 13 2008 Michal Schmidt - 0.9.2-1 +- Update to upstream release 0.9.2. +- The license is GPLv2+. +- Add manpages from SUSE src package. +- Add patch to run icecc --build-native as root. + +* Tue Sep 2 2008 Michael Schwendt - 0.8.0-12.20080117svn +- Include unowned icecc directories. +- Add defattr in devel pkg. + +* Thu Mar 13 2008 Michal Schmidt - 0.8.0-11.20080117svn +- Minor SELinux policy fix. + +* Sun Feb 10 2008 Michal Schmidt - 0.8.0-10.20080117svn +- Compile fix (added missing #includes). +- Conditional building of SELinux policy and documentation. +- Fix build on RHEL5. + +* Tue Jan 29 2008 Michal Schmidt - 0.8.0-9.20080117svn +- SELinux policy fixes. + +* Thu Jan 17 2008 Michal Schmidt - 0.8.0-8.20080117svn +- Update to current icecream-make-it-cool branch. + +* Tue Jan 8 2008 Michal Schmidt - 0.8.0-7.20071101svn +- Build fix. meinproc is now in kdelibs3. BuildRequire that instead of kdelibs. + +* Thu Nov 29 2007 Michal Schmidt - 0.8.0-6.20071101svn +- Rewritten the profile scripts to make icecream work together with ccache. + +* Tue Nov 27 2007 Michal Schmidt - 0.8.0-5.20071101svn +- SELinux: Allow iceccd to contact the scheduler via UDP. +- Don't add icecream to PATH in the profile scripts if ccache is installed + to avoid recursive invocations (bz #377761). + +* Tue Nov 20 2007 Michal Schmidt - 0.8.0-4.20071101svn +- Add a SELinux policy for iceccd +- Initscripts as sources instead of patches in the .spec file +- Don't touch /var/log/iceccd in the initscript. Let iceccd create it. + +* Mon Nov 12 2007 Michal Schmidt - 0.8.0-3.20071101svn +- Add icecc to $PATH using scripts in profile.d + +* Tue Nov 6 2007 Michal Schmidt - 0.8.0-2.20071101svn +- Use the _datadir macro instead of hardcoded /usr/share + +* Thu Nov 01 2007 Michal Schmidt - 0.8.0-1.20071101svn +- Initial package for Fedora. diff --git a/icecream.spec b/icecream.spec index da07f75..aef219f 100644 --- a/icecream.spec +++ b/icecream.spec @@ -1,15 +1,16 @@ %global _hardened_build 1 %bcond_without selinux -%{!?_modulesdir: %global _modulesdir %{_datadir}/Modules/modulefiles } +%global preversion rc1 Name: icecream -Version: 1.1 -Release: 2%{?dist} +Version: 1.4 +Release: %autorelease -p -e %{preversion} Summary: Distributed compiler -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later URL: https://github.com/icecc/icecream -Source0: https://github.com/icecc/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: https://github.com/icecc/%{name}/archive/%{version}%{preversion}.tar.gz#/%{name}-%{version}%{preversion}.tar.gz Source1: fedora-sysconfig.icecream Source2: icecream.module.in Source3: icecream.fc @@ -27,17 +28,17 @@ Patch2: 0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch Patch3: 0003-Ignore-the-suse-directory.patch Patch4: 0004-do-not-use-usr-bin-env.patch +BuildRequires: gcc-c++ BuildRequires: systemd BuildRequires: libcap-ng-devel -BuildRequires: lzo-devel +BuildRequires: lzo-devel libzstd-devel libarchive-devel BuildRequires: docbook2X -BuildRequires: environment-modules +BuildRequires: environment(modules) BuildRequires: firewalld-filesystem BuildRequires: autoconf automake libtool Requires: firewalld-filesystem -Requires: environment-modules -Requires(pre): shadow-utils +Requires: environment(modules) Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -46,6 +47,7 @@ Requires(post): findutils %if %{with selinux} # For SELinux protection: BuildRequires: checkpolicy selinux-policy-devel hardlink +BuildRequires: make # semanage is in policycoreutils (EL-5) or policycoreutils-python (Fedora). File dep will work in both. Requires(post): policycoreutils /usr/sbin/semanage Requires(preun): policycoreutils /usr/sbin/semanage @@ -71,18 +73,27 @@ locally on the node where the compilation is started. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libcap-ng-devel%{?_isa} +Requires: lzo-devel%{?_isa} +Requires: libzstd-devel%{?_isa} +Requires: libarchive-devel%{?_isa} %description devel This package contains development files for %{name}. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{version}%{preversion} mkdir SELinux cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} SELinux mkdir fedora cp -p %{SOURCE6} %{SOURCE7} %{SOURCE9} %{SOURCE10} %{SOURCE11} fedora +# Create a sysusers.d config file +cat >icecream.sysusers.conf </dev/null || groupadd -r icecc -getent passwd icecc >/dev/null || \ - useradd -r -g icecc -d %{_localstatedir}/cache/icecream \ - -s /sbin/nologin -c "Icecream distributed compiler" icecc -exit 0 - %post /sbin/ldconfig %if %{with selinux} @@ -239,6 +248,7 @@ exit 0 %doc README NEWS TODO %{_bindir}/icecc %{_bindir}/icecc-create-env +%{_bindir}/icecc-test-env %{_bindir}/icerun %{_libexecdir}/icecc/ %{_libdir}/libicecc.so.* @@ -254,6 +264,7 @@ exit 0 %{?with_selinux:%{_datadir}/selinux/*/icecream.pp} %{_prefix}/lib/firewalld/services/icecream.xml %{_prefix}/lib/firewalld/services/icecream-scheduler.xml +%{_sysusersdir}/icecream.conf %files devel %dir %{_includedir}/icecc/ @@ -262,293 +273,4 @@ exit 0 %{_libdir}/pkgconfig/icecc.pc %changelog -* Mon Aug 14 2017 Michal Schmidt - 1.1-2 -- selinux: allow scheduler to perform connection checks - -* Wed Aug 09 2017 Michal Schmidt - 1.1-1 -- Upstream release 1.1. - -* Fri Jul 21 2017 Michal Schmidt - 1.1-0.8.rc3.g22fcc39 -- Update to upstream rc3 plus latest commits. - -* Tue Jul 04 2017 Michal Schmidt - 1.1-0.7.rc2.g1c15f6b.el7.1 -- Adjust dependencies. In RHEL7 the only supported implementation of - environment modules is environment-modules. The 'environment(modules)' - provide is not present. -- Define _modulesdir. environment-modules in RHEL7 does not define the macro. - -* Mon Jul 03 2017 Michal Schmidt - 1.1-0.7.rc2.g1c15f6b -- Current git snapshot. - -* Fri Feb 10 2017 Fedora Release Engineering - 1.1-0.6.rc2.ga79f70f -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Nov 14 2016 Michal Schmidt - 1.1-0.5.rc2.ga79f70f -- In scriptlets split the semanage calls for robustness. (#1391871) - -* Fri Nov 11 2016 Michal Schmidt - 1.1-0.4.rc2.ga79f70f -- Fix FTBFS on s390x. (#1393742) -- Do not use #!/usr/bin/env. - -* Fri Nov 04 2016 Michal Schmidt - 1.1-0.3.rc2.ga79f70f -- One more SELinux fix. (#1389570) - -* Fri Nov 04 2016 Michal Schmidt - 1.1-0.2.rc2.ga79f70f -- Fix fallout from 'icecream'->'icecc' user name change. -- Drop Group tag. - -* Thu Nov 03 2016 Michal Schmidt - 1.1-0.1.rc2.ga79f70f -- Update to current git snapshot. -- SELinux policy fixes. (#1389570, #1391871) -- Drop PATH_MAX patch of no obvious benefit. -- Prod firewalld in %%post. -- Move environment module file from under /etc to /usr. -- Do not ship /var/log/icecream. -- spec file cleanups. - -* Wed Mar 16 2016 Helio Chissini de Castro - 1.0.98-4 -- Default user is icecc, not icecream - -* Tue Mar 08 2016 Helio Chissini de Castro - 1.0.98-3 -- Re-apply config cleanup patch -- Remove libexec from configure since is already on macro -- Remove logrotate as not be a good idea -- Add github pull requests from Pino Toscano ( RedHat ) - -* Wed Mar 02 2016 Helio Chissini de Castro - 1.0.98-2 -- Add log entries and log dir -- Remove profile entries. We shouldn't be in the path, since tools rely on icecc binary -and this break the process since it relies on recursive call due to be in path. - -* Thu Feb 25 2016 Helio Chissini de Castro - 1.0.98-1 -- Update for most recent version available by Suse -- Icecream is now in github - -* Thu Feb 04 2016 Fedora Release Engineering - 1.0.1-14.20140822git -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jun 17 2015 Fedora Release Engineering - 1.0.1-13.20140822git -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 02 2015 Kalev Lember - 1.0.1-12.20140822git -- Rebuilt for GCC 5 C++11 ABI change - -* Fri Dec 12 2014 Michal Schmidt - 1.0.1-11.20140822git -- selinux: allow icecc_scheduler_t to read /proc/meminfo - -* Fri Dec 12 2014 Michal Schmidt - 1.0.1-10.20140822git -- selinux: fix daemons running as unconfined_service_t -- selinux: fix label of icecc-create-env -- Fixes: rhbz#1173477 - -* Thu Nov 27 2014 Michal Schmidt - 1.0.1-9.20140822git -- selinux: allow the scheduler to read state via netlink route sockets -- Fixes: rhbz#1162321 - -* Fri Sep 05 2014 Michal Schmidt - 1.0.1-8.20140822git -- Update to current upstream git. -- Drops bundled minilzo, use system lzo library. (#1131794, CVE-2014-4607) -- Fix build of manpages (use docbook2X). -- Enable clang wrappers. -- Remove no longer necessary restorecon /var/log/icecc. -- Drop merged patches. - -* Sat Aug 16 2014 Fedora Release Engineering - 1.0.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 1.0.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Sep 02 2013 Michal Schmidt - 1.0.1-5 -- Drop the permissions to log to the old files from the SELinux policy. - -* Mon Sep 02 2013 Michal Schmidt - 1.0.1-4 -- Fix dropping of capabilities. -- Log everything to journal/syslog, not the custom log files. - -* Fri Aug 30 2013 Michal Schmidt - 1.0.1-3 -- Disable building with librsync. The upstream code to use it is unfinished - and the only thing it does is leak memory. - -* Fri Aug 30 2013 Michal Schmidt - 1.0.1-2 -- Update the SELinux policy module and build it. -- Use tmpfiles.d to create /run/icecc instead of letting the daemon write to - var_run_t directly. -- Add a patch to stop icecc-create-env from reading /etc/passwd. -- Batch semenage calls in scriptlets. - -* Mon Aug 26 2013 Michal Schmidt - 1.0.1-1 -- Rebase to current upstream release. (#888183, #914087, #925572, #992557) -- Build with librsync and libcap-ng support. -- Build manpages from included DocBook sources. -- Disable the SELinux module, it's out of date. -- Enable PIE. (#955456) -- Modernize spec file. (#850154) - -* Sat Aug 03 2013 Fedora Release Engineering - 0.9.7-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 0.9.7-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Thu Jul 19 2012 Fedora Release Engineering - 0.9.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Feb 28 2012 Fedora Release Engineering - 0.9.7-3 -- Rebuilt for c++ ABI breakage - -* Tue Feb 07 2012 Michal Schmidt - 0.9.7-2 -- systemd conversion - -* Mon Feb 06 2012 Michal Schmidt - 0.9.7-1 -- Upstream release 0.9.7. - -* Fri Jan 13 2012 Fedora Release Engineering - 0.9.6-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue May 03 2011 Michal Schmidt - 0.9.6-4 -- Add lto plugin for -fuse-linker-plugin (patch from dtardon) -- Fixes: BZ#675663 - -* Wed Feb 09 2011 Fedora Release Engineering - 0.9.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Aug 16 2010 Michal Schmidt 0.9.6-2 -- Fix spaces instead of ':' separator for $PATH in icecream.csh. - -* Tue Aug 03 2010 Michal Schmidt 0.9.6-1 -- New upstream release. With an official tarball this time. -- Dropped icecream-fix-createenv-when-ldconfig-fails.patch - It was never accepted upstream and it is not necessary with working ldconfig. -- Refreshed icecream-rename-scheduler.patch - -* Thu Jul 08 2010 Michal Schmidt 0.9.5-7 -- Build without SELinux only on RHEL 5. - -* Thu Jul 08 2010 Michal Schmidt 0.9.5-6 -- Moved away from fedora-usermgmt in favor of plain shadow-utils. - -* Sun Jun 13 2010 Michal Schmidt 0.9.5-5 -- Mark UDP port 8765 as icecc_scheduler_port_t. - -* Sat Jun 12 2010 Michal Schmidt 0.9.5-4 -- Require /usr/sbin/semanage for scriptlets. (BZ#581272) - -* Sat Jun 12 2010 Michal Schmidt 0.9.5-3 -- Fix incorrect handling of SELinux in the scriptlets. -- Avoid recursive rpm invocation (fixfiles -R). -- Fixes: BZ#581272 - -* Thu Mar 25 2010 Michal Schmidt 0.9.5-2 -- SELinux policy fix (current selinux-policy assigns port 8765 to LIRC). - -* Thu Mar 25 2010 Michal Schmidt 0.9.5-1 -- Upstream release 0.9.5. - - new command 'icerun': serialize possibly resource-intensive tasks - - minor bugfixes -- Refreshed icecream-rename-scheduler.patch. - -* Mon Oct 12 2009 Michal Schmidt 0.9.4-5 -- Fix failure to build native environment in SELinux enforcing mode. -- 'cvs rm ...' unused patches. - -* Mon Aug 17 2009 Michal Schmidt 0.9.4-4 -- SELinux policy: Allow untrusted binaries to getattr all filesystems. - (BSD process accounting does vfs_getattr() to check disk space.) - -* Fri Aug 14 2009 Michal Schmidt 0.9.4-3 -- Create the logfile for the scheduler in the initscript. -- Allow the scheduler to write to the log in the SELinux policy (BZ#517251). - -* Fri Jul 24 2009 Fedora Release Engineering - 0.9.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu Apr 30 2009 Michal Schmidt - 0.9.4-1 -- Upstream release 0.9.4. -- Dropped merged patches. - -* Mon Apr 06 2009 Michal Schmidt - 0.9.3-6 -- Fix wrong permissions on the cache dir preventing the jobs from being - distributed. -- SELinux policy update based on review comments on refpolicy ML. - -* Mon Mar 02 2009 Michal Schmidt - 0.9.3-5 -- Fix a fd leak from iceccd + avoid using system(). -- Allows tighter SELinux policy. - -* Tue Feb 24 2009 Fedora Release Engineering - 0.9.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Mon Feb 16 2009 Michal Schmidt - 0.9.3-3 -- Do not use --disable-rpath, icecream's configure script does not understand - it and warns about it. We still remove rpath using the sed tricks. -- One more SELinux policy tweak. - -* Mon Feb 16 2009 Michal Schmidt - 0.9.3-2 -- Updated and re-enabled the SELinux policy. The scheduler is now confined too. - -* Mon Feb 16 2009 Michal Schmidt - 0.9.3-1 -- new upstream release -- Dropped merged patches. -- Added an upstream patch to fix compilation with gcc 4.4. - -* Sat Feb 07 2009 Michal Schmidt - 0.9.2-4 -- one more fix for gcc 4.4. -- updated the scheduler renaming patch. - -* Sat Feb 07 2009 Michal Schmidt - 0.9.2-3 -- add an upstream patch to fix FTBFS with gcc 4.4 - -* Wed Jan 28 2009 Michal Schmidt - 0.9.2-2 -- Fix the create-env script not to crash on relative paths in ld.so.conf. -- No need to build the native environment as root anymore. -- Disable the SELinux policy for now, it needs more work. - -* Thu Nov 13 2008 Michal Schmidt - 0.9.2-1 -- Update to upstream release 0.9.2. -- The license is GPLv2+. -- Add manpages from SUSE src package. -- Add patch to run icecc --build-native as root. - -* Tue Sep 2 2008 Michael Schwendt - 0.8.0-12.20080117svn -- Include unowned icecc directories. -- Add defattr in devel pkg. - -* Thu Mar 13 2008 Michal Schmidt - 0.8.0-11.20080117svn -- Minor SELinux policy fix. - -* Sun Feb 10 2008 Michal Schmidt - 0.8.0-10.20080117svn -- Compile fix (added missing #includes). -- Conditional building of SELinux policy and documentation. -- Fix build on RHEL5. - -* Tue Jan 29 2008 Michal Schmidt - 0.8.0-9.20080117svn -- SELinux policy fixes. - -* Thu Jan 17 2008 Michal Schmidt - 0.8.0-8.20080117svn -- Update to current icecream-make-it-cool branch. - -* Tue Jan 8 2008 Michal Schmidt - 0.8.0-7.20071101svn -- Build fix. meinproc is now in kdelibs3. BuildRequire that instead of kdelibs. - -* Thu Nov 29 2007 Michal Schmidt - 0.8.0-6.20071101svn -- Rewritten the profile scripts to make icecream work together with ccache. - -* Tue Nov 27 2007 Michal Schmidt - 0.8.0-5.20071101svn -- SELinux: Allow iceccd to contact the scheduler via UDP. -- Don't add icecream to PATH in the profile scripts if ccache is installed - to avoid recursive invocations (bz #377761). - -* Tue Nov 20 2007 Michal Schmidt - 0.8.0-4.20071101svn -- Add a SELinux policy for iceccd -- Initscripts as sources instead of patches in the .spec file -- Don't touch /var/log/iceccd in the initscript. Let iceccd create it. - -* Mon Nov 12 2007 Michal Schmidt - 0.8.0-3.20071101svn -- Add icecc to $PATH using scripts in profile.d - -* Tue Nov 6 2007 Michal Schmidt - 0.8.0-2.20071101svn -- Use the _datadir macro instead of hardcoded /usr/share - -* Thu Nov 01 2007 Michal Schmidt - 0.8.0-1.20071101svn -- Initial package for Fedora. +%autochangelog diff --git a/icecream.te b/icecream.te index c1d7248..a3d14dc 100644 --- a/icecream.te +++ b/icecream.te @@ -1,5 +1,5 @@ -policy_module(icecream,0.1.8) +policy_module(icecream,0.1.9) ######################################## # @@ -129,6 +129,7 @@ auth_use_nsswitch(iceccd_t) allow iceccd_createenv_t self:fifo_file rw_fifo_file_perms; +dontaudit iceccd_createenv_t self:process { setfscreate }; dontaudit iceccd_createenv_t iceccd_tmp_t:file { execute }; manage_dirs_pattern(iceccd_createenv_t, iceccd_cache_t, iceccd_cache_t) @@ -137,6 +138,7 @@ manage_files_pattern(iceccd_createenv_t, iceccd_cache_t, iceccd_cache_t) manage_dirs_pattern(iceccd_createenv_t, iceccd_tmp_t, iceccd_tmp_t) manage_files_pattern(iceccd_createenv_t, iceccd_tmp_t, iceccd_tmp_t) +allow iceccd_createenv_t iceccd_tmp_t:file { map }; files_tmp_filetrans(iceccd_createenv_t, iceccd_tmp_t, { dir file }) corecmd_exec_bin(iceccd_createenv_t) @@ -159,6 +161,8 @@ libs_use_shared_libs(iceccd_createenv_t) miscfiles_read_localization(iceccd_createenv_t) +fs_getattr_tmpfs(iceccd_createenv_t) + userdom_dontaudit_search_user_home_dirs(iceccd_createenv_t) optional_policy(` @@ -175,6 +179,7 @@ allow iceccd_untrusted_t self:process signal_perms; allow iceccd_untrusted_t iceccd_t:unix_stream_socket rw_stream_socket_perms; manage_files_pattern(iceccd_untrusted_t, iceccd_cache_t, iceccd_cache_t) +manage_lnk_files_pattern(iceccd_untrusted_t, iceccd_cache_t, iceccd_cache_t) can_exec(iceccd_untrusted_t, iceccd_cache_t) diff --git a/sources b/sources index 50e9413..586d5ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (icecream-1.1.tar.gz) = 62f8f2040dc25d1e5009ad22724809364c2c792bb1e089fb3282abee460de3295424004ba7dce8a471c8d4b6d70f97d3bf3a0940335c22622bc5611f0b672679 +SHA512 (icecream-1.4rc1.tar.gz) = 0804e410387b60c9a4fd061cf12a47c8c9d1eb1eff3737ccc39874460a5e3223c0cb514992a7ace91dacd4b786ed50931948ac280889762815a593579fd0b8b0