]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - pakfire/pakfire.nm
libuv: New package
[ipfire-3.x.git] / pakfire / pakfire.nm
index 3a418a67fada0cfc94e96176c81c04762ee0fdd8..b16f0791807c7d98f09011ff1416417118c97cdc 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = pakfire
-version    = 0.9.21
-release    = 1
+version    = 0.9.27
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Packaging
-url        = http://www.ipfire.org/
+url        = http://git.ipfire.org/?p=pakfire.git;a=summary
 license    = GPLv3+
 summary    = Package installer/updater.
 
@@ -22,26 +22,37 @@ source_dl  = http://source.ipfire.org/releases/pakfire/
 
 build
        requires
-               beecrypt-devel
-               elfutils-devel
-               gettext
+               autoconf
+               automake
+               gettext-devel
+               intltool
                libcap-devel
-               libsolv-devel
-               popt-devel
+               libsolv-devel >= 0.0.0-4
                python-devel
+               systemd-devel
+               systemd-units
                xz-devel
        end
 
-       # libgomp was broken in earlier releases.
-       requires += gcc >= 4.6.2-4
-       requires += beecrypt >= 4.2.1-2
-
-       CFLAGS += -fno-strict-aliasing
+       prepare_cmds
+               # Generate the build system, if this was not a release
+               # tarball.
+               [ -x "configure" ] || sh ./autogen.sh
+       end
 
        test
-               # Check, if the binary modules are loadable.
-               cd %{DIR_APP}/python/src/ && python -c "import _pakfire"
-               cd %{DIR_APP}/python/src/ && python -c "import _lzma"
+               make check
+       end
+
+       install_cmds
+               # Remove all example repository definitions.
+               # Those will be solely provided by system-release.
+               rm -rfv %{BUILDROOT}%{sysconfdir}/pakfire/repos/*
+
+               mkdir -pv %{BUILDROOT}%{datadir}/pakfire
+               for i in $(find %{datadir}/automake-* -name config.guess -or -name config.sub); do
+                       cp -vf ${i} %{BUILDROOT}%{datadir}/pakfire/
+               done
        end
 end
 
@@ -49,31 +60,36 @@ packages
        package %{name}
                groups += Base
 
-               requires = pakfire-common = %{thisver}
-       end
+               provides
+                       pakfire-common = %{thisver}
+               end
+               obsoletes
+                       pakfire-common < %{thisver}
+               end
 
-       package %{name}-common
                requires
+                       libsolv >= 0.0.0-4
+                       pygpgme
                        python-progressbar
                        python-urlgrabber
                        system-release
                end
 
-               files
-                       /usr/lib/pakfire/pakfire-multicall.py
-                       %{libdir}/python*/site-packages/pakfire*
-                       /usr/share/locale
-               end
+               configfiles = %{sysconfdir}/pakfire/general.conf
        end
-       
+
        package %{name}-builder
-               summary = The pakfire builder.
+               summary = The Pakfire builder.
                description
                        The tools that are needed to build new pakfire packages.
                end
                groups += Build
 
                requires
+                       # For --rpm-requires.
+                       bash >= 4.2-7
+                       debugedit
+
                        %{name} = %{thisver}
                        quality-agent = %{thisver}
                        cpio
@@ -81,14 +97,82 @@ packages
                end
                provides = pakfire-build = %{thisver}
                obsoletes = pakfire-build < %{thisver}
-               conflicts = build-essentials
+
+               conflicts
+                       build-essentials
+                       systemd-devel < 38
+               end
+
+               # Requires GCC 4.9 or later for -fstack-protector-strong
+               conflicts += gcc < 4.9
+
+               configfiles
+                       %{sysconfdir}/pakfire/builder.conf
+                       %{sysconfdir}/pakfire/distros
+               end
 
                files
+                       %{sysconfdir}/pakfire/builder.conf
+                       %{sysconfdir}/pakfire/distros
                        %{libdir}/libpakfire_preload.so
-                       /usr/bin/pakfire-builder
-                       /usr/bin/pakfire-server
-                       /usr/lib/pakfire/*
-                       !/usr/lib/pakfire/pakfire-multicall.py
+                       %{bindir}/pakfire-builder
+
+                       %{prefix}/lib/pakfire
+                       %{libdir}/pakfire
+               end
+       end
+
+       package %{name}-client
+               summary = The Pakfire Hub client.
+               description
+                       The pakfire client has the power to create build jobs
+                       and communicate with the Pakfire Build Service.
+               end
+
+               requires
+                       pakfire-common = %{thisver}
+               end
+
+               files
+                       %{sysconfdir}/pakfire/client.conf
+                       %{bindir}/pakfire-client
+               end
+               configfiles = %{sysconfdir}/pakfire/client.conf
+       end
+
+       package %{name}-daemon
+               summary = The Pakfire daemon.
+               description
+                       The Pakfire daemon takes build jobs from the
+                       Pakfire Build Service and compiles them.
+               end
+
+               requires
+                       pakfire-builder = %{thisver}
+               end
+
+               files
+                       %{sysconfdir}/pakfire/daemon.conf
+                       %{bindir}/pakfire-daemon
+               end
+               configfiles = %{sysconfdir}/pakfire/daemon.conf
+
+               script postin
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script preun
+                       systemctl --no-reload disable pakfire-daemon.service > /dev/null 2>&1 || :
+                       systemctl stop pakfire-daemon.service > /dev/null 2>&1 || :
+               end
+
+               script postun
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script postup
+                       systemctl daemon-reload 2>&1 || :
+                       systemctl reload-or-try-restart pakfire-daemon.service >/dev/null 2>&1 || :
                end
        end
 
@@ -104,7 +188,8 @@ packages
                end
 
                files
-                       /usr/lib/pakfire/quality-agent*
+                       /usr/lib/pakfire/quality-agent
+                       /usr/lib/quality-agent*
                end
 
                requires