###############################################################################
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.
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
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
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