Hello community, here is the log from the commit of package icecream.1822 for openSUSE:12.2:Update checked in at 2013-07-05 13:39:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.2:Update/icecream.1822 (Old) and /work/SRC/openSUSE:12.2:Update/.icecream.1822.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icecream.1822" Changes: -------- New Changes file: --- /dev/null 2013-07-02 09:26:14.908030755 +0200 +++ /work/SRC/openSUSE:12.2:Update/.icecream.1822.new/icecream.changes 2013-07-05 13:39:58.000000000 +0200 @@ -0,0 +1,837 @@ +------------------------------------------------------------------- +Thu Jun 27 16:27:43 UTC 2013 - llu...@suse.com + +- avoid crash on first launch after reboot (bnc#827118): + fix-startup.patch + +------------------------------------------------------------------- +Thu Apr 4 14:11:53 UTC 2013 - llu...@suse.com + +- update to 1.0.0 (bnc#813996) + - log error message when cleaning up cache fails during startup + - if getuid() != 0, then our u/gid will be getu/gid() the whole time + - chmod/chown envs dir when preparing this + - be more careful when cleaning up envs directory + - cleanup envs dir still with root privileges + - mkdir -p + - Revert "cleanup envs dir still with root privileges" + - cleanup envs dir in %post in specfile + - fix scheduler binary name in suse specfile + - with cap-ng geteuid() is not a sign of being able to do chroot + - avoid debug message without endl + - avoid unused parameter warnings + - install clang/clang++ wrappers symlinks conditionally again + - adjust specfile for optional clang symlinks + - make clang wrappers package also require clang + - fix clang wrappers build + - refer to icecream-us...@googlegroups.com ML as the contact + - mention the Linux3_ hack leading to nodes sometimes not being used + - Linux3_ nodes may not compile on other nodes either, actually + - prevent icerun-wrapped commands failing if path contains 'clang' + - remove unnecessary references to KDE to make icecream look KDE-specific + - adjust references to icecream path + - sync the ccache section between README.md and the manpage + - AC_CONFIG_HEADERS instead of obsolete and removed AM_CONFIG_HEADER + - add the README.md to the tar + - mild relicensing, the code taken from ksysguardd is really a minor part by now +- remove treat-linux3-as-separate-platform.diff +- remove icecream-include.patch +- remove handle-extrafiles-on-assembler.patch + +------------------------------------------------------------------- +Tue Jan 29 13:06:21 UTC 2013 - dmuel...@suse.com + +- install COPYING, README.md and NEWS as useful user documentation + +------------------------------------------------------------------- +Wed Jan 9 15:42:41 UTC 2013 - co...@suse.com + +- update to 0.9.98.3 (1.0rc5) + - fix cap_ng support + - chmod/chown envs dir when preparing this + - be more careful when cleaning up envs directory + - cleanup envs dir in %post in specfile + - install clang/clang++ wrappers symlinks conditionally again + - add the README.md to the tar + - mild relicensing, the code taken from ksysguardd is really a minor part by now + +------------------------------------------------------------------- +Sun Jan 6 08:13:56 UTC 2013 - co...@suse.com + +- update to 0.9.98.2 (1.0rc4) + - suse: Backports from OBS and create symlinks in /opt/icecream/bin on openSUSE <= 12.2. + - fix libexec dir name in opensuse specfile + - icecream doesn't use m4 directory + - explicit configure option for whether to use clang's include rewriting + - use the clang rewrite options in opensuse specfile + - fix builddir != srcdir + - icecream user on suse is 'icecream', not 'icecc' + - do not remove env. basedir itself + - do not chown() with root uid + - do not complain needlessly about missing icecc user + - Fix icecc-create-env for relative paths + - Use docbook2man to generate manpages rather than KDE calls. + +------------------------------------------------------------------- +Wed Dec 26 09:08:13 UTC 2012 - co...@suse.com + +- update to 0.9.98.1 (1.0rc3) + - install icecc links in a more convenient dir + - fix for assembler usage during kvm builds + - fix generation of man pages + - some readme generated from en.opensuse.org content + - update autoconf and automake macros + - install clang++ clang symlinks unconditionally. + - move openSUSE's rpm install scripts to suse/Makefile.am. + - links installation should be pkglibexec instead of libexec + - rename scheduler to icecc-scheduler to avoid name clash + - change to an unprivileged user when running the scheduler as root. + - move scheduler logs to icecc specific dir + - ignore if meinproc is not avilable + - version bump minilzo to 2.0.6. + +------------------------------------------------------------------- +Tue Dec 18 10:44:08 UTC 2012 - co...@suse.com + +- update to 0.9.97 (1.0rc1) + - support for Clang compiler + Clang now should work out of the box just like GCC. + Clang with -frewrite-includes option is recommended (3.2+ or patched). + - support 'icecc <compilername>' properly + - try to avoid compiling on the local machine if it is busy + - do not use old compiler if it was changed while icecream daemon was running + - verify if remote hosts can actually be used for compilation (avoids + problems with old kernel versions) + - support for custom compiler plugins (GCC/Clang) + - fix gcc 4.6 support + - reduce usage of PATH_MAX for better portability + - fix build-native to add default GNU assembler + - fix SIGSEGV calling build_native without args + - parse @file option + - skip .[h,hpp] header files and check precompiled headers from -include opts + - move log and socket to an icecc especific folder + - rename nobody to user + - add support for libcap-ng + - moving to https://github.com/icecc/icecream + - add clang wrapper symlinks + - allow normal users to actually connect to the daemon's unix socket + - rebuild environment if the compiler changes + - check if the remote node can actually use an environment + - setting to avoid using hosts where the environment cannot be checked + - add [compiler] to the command line template in --help + - support for compiler plugins / multiple native environments + - do not create environments containing both gcc and clang + - check env cache size also when creating new native environment + - keep native envs longer only if there aren't too many + - no "basic" native env really anymore, now with env per each compiler + - include paths in tarball md5sum + - do not use gcc when creating env.tarball for clang + - force env. tarball regeneration if it doesn't exist + - fix for assembler usage during kvm builds + +------------------------------------------------------------------- +Wed Sep 12 17:44:35 CEST 2012 - r...@suse.de + +- prevent endless loop in last change + +------------------------------------------------------------------- +Fri Sep 7 13:01:37 UTC 2012 - dmuel...@suse.com + +- fallback to local build for some building BIOS (bnc#778924) + +------------------------------------------------------------------- +Sun Jul 22 06:20:28 UTC 2012 - a...@suse.de + +- Add icecream-include.patch: missing sys/resource include (glibc 2.16) + +------------------------------------------------------------------- +Thu Mar 22 18:03:02 CET 2012 - dmuel...@suse.de + +- make linux 3 based kernel hosts incompatible with the rest, just + as a workaround for glibc becoming incompatble + +------------------------------------------------------------------- +Thu May 19 10:55:02 UTC 2011 - co...@novell.com + +- update to 0.9.7 + - bug fix for -MD and -MF + - bug fix for gcc 4.6 plugins + +------------------------------------------------------------------- +Tue Aug 3 09:58:28 UTC 2010 - co...@novell.com + +- Update to 0.9.6 + - fix installation issues + - add a value type of ticks in /proc - and make it long long + - fix kFreeBSD build + - fix run-failure with glibc 2.11 + - allow tgz as extension + - support more local args (bnc#625621) + +------------------------------------------------------------------- +Thu May 27 09:57:43 CEST 2010 - dmuel...@suse.de + +- fix build against glibc 2.11 + +------------------------------------------------------------------- +Mon Feb 1 09:36:00 UTC 2010 - co...@novell.com + +- Update to 0.9.5 + - fix: close the file descriptor (novell bug bnc#525799) + - log PID even if no prefix is specified + - allow get_msg() to fetch data from the kernel even if timeout is 0. + - clean up event loop of gcc invocation + - Install an "icerun" symlink that will serialize commands through + icecream's local daemon + +------------------------------------------------------------------- +Thu Apr 30 14:49:13 CEST 2009 - co...@suse.de + +- Update to 0.9.4 + - don't leak file descriptor to create-env + - don't use the shell to call simple commands + - make a special exception for - in rest args (bnc#495786) + - Fix way icecream changes permissions of /var/cache/icecream + +------------------------------------------------------------------- +Sun Feb 15 14:59:10 CET 2009 - co...@suse.de ++++ 640 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.2:Update/.icecream.1822.new/icecream.changes New: ---- fix-startup.patch icecc-1.0.0.tar.bz2 icecream.changes icecream.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icecream.spec ++++++ # # spec file for package icecream # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # icecream 0 Name: icecream BuildRequires: gcc-c++ %if 0%{?suse_version} > 1110 BuildRequires: libcap-ng-devel %endif Summary: For Distributed Compile in the Network License: GPL-2.0+ and LGPL-2.1+ Group: Development/Tools/Building Url: https://github.com/icecc/icecream Requires: /bin/tar Requires: /usr/bin/bzip2 %if 0%{?suse_version} PreReq: %fillup_prereq PreReq: %insserv_prereq %endif PreReq: /usr/sbin/useradd PreReq: /usr/sbin/groupadd Requires: gcc-c++ Version: 1.0.0 Release: 0 Source0: ftp://ftp.suse.com/pub/projects/icecream/icecc-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build # PATCH-FIX-UPSTREAM 714e64160f2002693d760b1144f7ece8b74fd203 Patch1: fix-startup.patch %description icecream is the next generation distcc. %package -n libicecream-devel Summary: For Distributed Compile in the Network Group: Development/Tools/Building Requires: libstdc++-devel %description -n libicecream-devel icecream is the next generation distcc. %package -n icecream-clang-wrappers Summary: Distributed Compile Wrappers for Clang Group: Development/Tools/Building Requires: clang Requires: icecream Supplements: packageand(icecream:clang) %description -n icecream-clang-wrappers Wrapper symlinks for clang/clang++ for icecream distributed building. %prep %setup -q -n icecc-%{version} # DO NOT ADD PATCHES without github reference %patch1 -p1 %build export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" %configure \ %if 0%{?suse_version} >= 1230 --enable-clang-rewrite-includes \ %endif --enable-clang-wrappers \ --libexecdir %_libexecdir make %{?jobs:-j %jobs} %install make DESTDIR=$RPM_BUILD_ROOT install # Create symlinks in /opt/icecream/bin on openSUSE <= 1220 %if 0%{?suse_version} <= 1220 mkdir -p $RPM_BUILD_ROOT/opt/icecream/bin for i in g++ gcc cc c++ clang++ clang; do ln -sf %_bindir/icecc $RPM_BUILD_ROOT/opt/icecream/bin/$i done %endif %preun %stop_on_removal icecream %pre /usr/sbin/groupadd -r icecream 2> /dev/null || : /usr/sbin/useradd -r -g icecream -s /bin/false -c "Icecream Daemon" -d /var/cache/icecream icecream 2> /dev/null || : %post # older icecream versions may have left some files owned by root:root in the cache rm -rf -- %_localstatedir/cache/icecream/* %if 0%{?suse_version} %{fillup_and_insserv -n icecream icecream} %endif %postun %restart_on_update icecream %{insserv_cleanup} %files %defattr(-,root,root) %doc COPYING README.md NEWS %config %_sysconfdir/logrotate.d/icecream %config %_sysconfdir/init.d/icecream %_bindir/icecc %_bindir/icerun %_sbindir/icecc-scheduler %_sbindir/iceccd %_sbindir/rcicecream %_mandir/man*/* %_libexecdir/icecc %exclude %_libexecdir/icecc/bin/clang %exclude %_libexecdir/icecc/bin/clang++ %if 0%{?suse_version} %_sysconfdir/sysconfig/SuSEfirewall2.d/services/* %_localstatedir/adm/fillup-templates/sysconfig.icecream %if 0%{?suse_version} <= 1220 /opt/icecream %exclude /opt/icecream/bin/clang %exclude /opt/icecream/bin/clang++ %endif %endif %attr(-,icecream,icecream) %_localstatedir/cache/icecream %attr(-,icecream,icecream) %_localstatedir/log/icecream %files -n libicecream-devel %defattr(-,root,root) %_includedir/icecc %_libdir/libicecc.* %_libdir/pkgconfig/icecc.pc %files -n icecream-clang-wrappers %defattr(-,root,root) %_libexecdir/icecc/bin/clang %_libexecdir/icecc/bin/clang++ %if 0%{?suse_version} <= 1220 /opt/icecream/bin/clang /opt/icecream/bin/clang++ %endif %changelog ++++++ fix-startup.patch ++++++ commit 714e64160f2002693d760b1144f7ece8b74fd203 Author: Luboš Luňák <l.lu...@suse.cz> Date: Thu Jun 27 17:33:48 2013 +0200 fix /var/run/icecc handling Was severely broken by 203b51b588fa2e550feeeef73d91e6d72afeafa9. It first created /var/run/icecc, which was successful and didn't have the follow-up chown/chmod, so they ended up as root-owned, because this happened before dropping privileges using libcap-ng. This caused the later access() check for it to fail, and ended up using the user path, which however crashed because of there being no $HOME set. So after every boot, if /var/run was empty, the first launch failed. All following launches were successful, because the mkdir() failed, leaving to proper chown/chmod. Fix by always doing chown/chmod unconditionally. Also do not use the access() check for detecting if it's the system or user way of launching. diff --git a/daemon/main.cpp b/daemon/main.cpp index 6682e26..28ec158 100644 --- a/daemon/main.cpp +++ b/daemon/main.cpp @@ -543,11 +543,16 @@ bool Daemon::setup_listen_fds() memset(&myaddr, 0, sizeof(myaddr)); myaddr.sun_family = AF_UNIX; mode_t old_umask = -1U; - if (access("/var/run/icecc", R_OK|W_OK|X_OK) == 0) { +#ifdef HAVE_LIBCAP_NG + // We run as system daemon. + if (capng_have_capability( CAPNG_PERMITTED, CAP_SYS_CHROOT )) { +#else + if (getuid()==0) { +#endif strncpy(myaddr.sun_path, "/var/run/icecc/iceccd.socket", sizeof(myaddr.sun_path)-1); unlink(myaddr.sun_path); old_umask = umask(0); - } else { + } else { // Started by user. strncpy(myaddr.sun_path, getenv("HOME"), sizeof(myaddr.sun_path)-1); strncat(myaddr.sun_path, "/.iceccd.socket", sizeof(myaddr.sun_path)-1-strlen(myaddr.sun_path)); unlink(myaddr.sun_path); @@ -1785,22 +1790,16 @@ int main( int argc, char ** argv ) if (getuid() == 0) { if (!logfile.length() && detach) { - if (mkdir("/var/log/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)) { - if (errno == EEXIST) { - chmod("/var/log/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); - chown("/var/log/icecc", d.user_uid, d.user_gid); - } - } - + mkdir("/var/log/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + chmod("/var/log/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + chown("/var/log/icecc", d.user_uid, d.user_gid); logfile = "/var/log/icecc/iceccd.log"; } - if (mkdir("/var/run/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) == -1) { - if (errno == EEXIST) { - chmod("/var/run/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); - chown("/var/run/icecc", d.user_uid, d.user_gid); - } - } + mkdir("/var/run/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + chmod("/var/run/icecc", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + chown("/var/run/icecc", d.user_uid, d.user_gid); + #ifdef HAVE_LIBCAP_NG capng_clear(CAPNG_SELECT_BOTH); capng_update(CAPNG_ADD, (capng_type_t)(CAPNG_EFFECTIVE|CAPNG_PERMITTED), CAP_SYS_CHROOT); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org