]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - pakfire/pakfire.nm
pakfire: Fix for database conversion.
[people/ms/ipfire-3.x.git] / pakfire / pakfire.nm
index bd8f296201e53cead6f8771cabb54f5a6b4a6bbb..3fb99bfa535621dcab78c9f1a5bef0dbbbe2687b 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = pakfire
-version    = 0.9.15
-release    = 1
+version    = 0.9.26
+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,17 +22,39 @@ source_dl  = http://source.ipfire.org/releases/pakfire/
 
 build
        requires
-               gettext
+               autoconf
+               automake
+               beecrypt-devel
+               elfutils-devel
+               gettext-devel
+               intltool
                libcap-devel
-               libsolv-devel
+               libsolv-devel >= 0.0.0-4
+               popt-devel
                python-devel
+               systemd-devel
+               systemd-units
+               xz-devel
        end
 
-       CFLAGS += -fno-strict-aliasing
+       # libgomp was broken in earlier releases.
+       requires += gcc >= 4.6.2-4
+       requires += beecrypt >= 4.2.1-2
+
+       prepare_cmds
+               # Generate the build system, if this was not a release
+               # tarball.
+               [ -x "configure" ] || sh ./autogen.sh
+       end
 
        test
-               # Check, if the binary module is loadable.
-               cd %{DIR_APP}/python/src/ && python -c "import _pakfire"
+               make check
+       end
+
+       install_cmds
+               # Remove all example repository definitions.
+               # Those will be solely provided by system-release.
+               rm -rfv %{BUILDROOT}%{sysconfdir}/pakfire/repos/*
        end
 end
 
@@ -40,42 +62,115 @@ packages
        package %{name}
                groups += Base
 
-               requires = pakfire-common=%{thisver}
-       end
+               provides
+                       pakfire-common = %{thisver}
+               end
+               obsoletes
+                       pakfire-common < %{thisver}
+               end
 
-       package %{name}-common
                requires
-                       pyliblzma
+                       libsolv >= 0.0.0-4
+                       pygpgme
                        python-progressbar
                        python-urlgrabber
                        system-release
                end
 
-               files
-                       /usr/lib/pakfire/pakfire-multicall.py
-                       /usr/lib*/python*/site-packages/pakfire*
-                       /usr/share/locale
-               end
+               configfiles = %{sysconfdir}/pakfire/general.conf
        end
-       
-       package %{name}-build
-               summary = The pakfire builder.
+
+       package %{name}-builder
+               summary = The Pakfire builder.
                description
                        The tools that are needed to build new pakfire packages.
                end
                groups += Build
 
                requires
-                       %{name}=%{thisver}
-                       quality-agent=%{thisver}
+                       # For --rpm-requires.
+                       bash >= 4.2-7
+
+                       %{name} = %{thisver}
+                       quality-agent = %{thisver}
+                       cpio
+                       elfutils
+               end
+               provides = pakfire-build = %{thisver}
+               obsoletes = pakfire-build < %{thisver}
+
+               conflicts
+                       build-essentials
+                       systemd-devel < 38
+               end
+
+               configfiles
+                       %{sysconfdir}/pakfire/builder.conf
+                       %{sysconfdir}/pakfire/distros
+               end
+
+               files
+                       %{sysconfdir}/pakfire/builder.conf
+                       %{sysconfdir}/pakfire/distros
+                       %{libdir}/libpakfire_preload.so
+                       %{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
-               conflicts = build-essentials
 
                files
-                       /usr/bin/pakfire-builder
-                       /usr/bin/pakfire-server
-                       /usr/lib/pakfire/*
-                       !/usr/lib/pakfire/pakfire-multicall.py
+                       %{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
 
@@ -91,9 +186,22 @@ packages
                end
 
                files
-                       /usr/lib/pakfire/quality-agent*
+                       /usr/lib/pakfire/quality-agent
+                       /usr/lib/quality-agent*
+               end
+
+               requires
+                       gawk
+                       binutils
+                       coreutils
+                       findutils
+                       file
+                       grep
+                       sed
                end
+       end
 
-               requires = binutils file grep
+       package %{name}-debuginfo
+               template DEBUGINFO
        end
 end