Package icecream: Specfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | %def_enable shared %def_enable static %def_without man %def_disable clang %define _libexecdir %_prefix/libexec %define _localstatedir %_var Name: icecream %define lname libicecc Version: 1.0.1 Release: alt2 Summary: Icecream is a distributed compile system for C and C++ License: GPLv2+ and LGPLv2.1+ Group: Development/Tools URL: https://github.com/icecc/%name Source: %name-%version.tar Source1: iceccd.init.in Source2: icecc-scheduler.init.in Source3: %name.sysconfig.in Source4: %name.logrotate.in Patch: %name-%version-%release.patch Provides: icecc = %version-%release %{?_enable_shared:Requires: %lname = %version-%release} Requires: gcc-c++ BuildRequires: gcc-c++ libcap-ng-devel %description Icecream is a distributed compile system for C and C++. Icecream is created by SUSE and is based on ideas and code by distcc. Like distcc it takes compile jobs from your build and distributes it to remote machines allowing a parallel build on several machines you've got. But unlike distcc Icecream uses a central server that schedules the compile jobs to the fastest free server and is as this dynamic. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them anyway. %if_enabled shared %package -n %lname Summary: Icecream library Group: System/Libraries Provides: lib%name = %version-%release %description -n %lname Icecream is a distributed compile system for C and C++. This package contains Icecream shared library. %endif %package -n %lname-devel Summary: Files for development with libicecc Group: Development/C++ Provides: lib%name-devel = %version-%release Provides: %name-devel = %version-%release Provides: icecc-devel = %version-%release Requires: libstdc++-devel Requires: %lname%{?_disable_shared:-devel-static} = %version-%release %description -n %lname-devel Icecream is a distributed compile system for C and C++. This package contains files for development with libicecc. %if_enabled static %package -n %lname-devel-static Summary: Static Icecream library Group: Development/C++ Requires: %lname-devel = %version-%release %description -n %lname-devel-static Icecream is a distributed compile system for C and C++. This package contains static Icecream library. %endif %prep %setup -q %patch -p1 %{?_without_man:sed -i '/^[[:blank:]]*doc[[:blank:]]/d' Makefile.am} install -d -m 0755 ./altlinux install -p -m 0644 %{S:1} %{S:2} %{S:3} %{S:4} ./altlinux/ %build ./autogen.sh %configure \ %{subst_enable shared} %{subst_enable static} \ %{subst_enable clang}-rewrite-includes %{subst_enable clang}-wrappers \ %{subst_with man} %make_build for f in altlinux/*.in; do sed 's|@logdir@|%_logdir|g;s|@cachedir@|%_cachedir|g;s|@initddir@|%_initddir|g' $f > ${f%%.in} done %install %makeinstall_std ln -sf icecc %buildroot%_bindir/icerun install -d -m 0755 %buildroot{%_initddir,%_cachedir/%name,%_logdir/{%name,icecc}} for f in altlinux/*.init; do install -p -m 0755 $f %buildroot%_initddir/$(basename $f .init) done install -Dp -m 0644 altlinux/%name.sysconfig %buildroot%_sysconfdir/sysconfig/%name install -Dp -m 0644 altlinux/%name.logrotate %buildroot%_logrotatedir/%name %post %post_service iceccd %post_service icecc-scheduler %preun %preun_service iceccd %preun_service icecc-scheduler %pre /usr/sbin/groupadd -r _%name 2>/dev/null ||: /usr/sbin/useradd -r -g _%name -s /bin/false -c "Icecream Daemon" -d /var/cache/%name _%name 2>/dev/null ||: %files %doc BENCH NEWS README.md TODO %_bindir/* %_sbindir/* %{?_with_man:%_man1dir/*} %_libexecdir/* %_initddir/* %config %_logrotatedir/* %config %_sysconfdir/sysconfig/* %attr(0775,root,_%name) %dir %_cachedir/%name %attr(0775,root,_%name) %dir %_logdir/%name %attr(0775,root,_%name) %dir %_logdir/icecc %if_enabled shared %files -n %lname %_libdir/*.so.* %endif %files -n %lname-devel %_includedir/* %{?_enable_shared:%_libdir/*.so} %_pkgconfigdir/* %if_enabled static %files -n %lname-devel-static %_libdir/*.a %endif %changelog * Mon Jul 29 2013 Led <led@altlinux.ru> 1.0.1-alt2 - handle $HOME not being set * Sat Jul 13 2013 Led <led@altlinux.ru> 1.0.1-alt1 - 1.0.1 * Tue Apr 15 2013 Led <led@altlinux.ru> 1.0.0-alt1 - initial build |