Blob Blame History Raw
%global commit 36e5aa09692614a8c114a8af42931f57fb2b6a04
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           lpf
Version:        0.1
Release:        8.%{shortcommit}%{?dist}
Summary:        Local package factory - build non-redistributable rpms

                # Icon from iconarchive.com
License:        MIT
URL:            https://github.com/leamas/lpf
Group:          Development/Tools
Source0:        %{url}/archive/%{commit}/lpf-%{version}-%{shortcommit}.tar.gz
BuildArch:      noarch

BuildRequires:  appdata-tools
BuildRequires:  desktop-file-utils
Buildrequires:  python2-devel
Requires:       hicolor-icon-theme
Requires:       inotify-tools
Requires:       polkit
Requires:       procps-ng
Requires:       rpmdevtools
Requires:       rpm-build
Requires:       shadow-utils
Requires:       sudo
Requires:       yum-utils
Requires:       zenity
Requires(pre):  shadow-utils

Patch1:         0001-README-Add-a-note-on-dependencies-22.patch
Patch2:         0002-lpf-Bugfix.patch
Patch3:         0003-pkgbuild-Bugfix-respect-CONFIG-bz-1057878.patch
Patch4:         0001-Add-umask-as-required-bz-1080149.patch
Patch5:         0002-Add-missing-y-to-yum-builddep-upstream-24.patch


%description
lpf (Local Package Factory) is designed to handle two separate
problems:
 - Packages built from sources which does not allow redistribution.
 - Packages requiring user to accept EULA-like terms.

It works by downloading sources, possibly requiring a user to accept
license terms and then building and installing rpm package(s) locally.
Besides being interactive the operation is similar to akmod and dkms.


%prep
%setup -qn lpf-%{commit}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
rm -rf examples


%build


%install
make DESTDIR=%{buildroot} install
desktop-file-validate %{buildroot}%{_datadir}/applications/lpf.desktop


%%check
if  ping -qc 1 -i 4  www.redhat.com &>/dev/null; then
    appdata-validate appdata/lpf.appdata.xml
fi


%pre
getent group pkg-build >/dev/null || groupadd -r pkg-build
getent passwd pkg-build >/dev/null || \
    useradd -r -g pkg-build -d /var/lib/lpf -s /sbin/nologin \
        -c "lpf local package build user" pkg-build
exit 0

%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
/usr/bin/lpf scan || :

%postun
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files
%doc README.md LICENSE
%{_bindir}/lpf
%{_bindir}/lpf-gui
/usr/lib/rpm/macros.d/macros.lpf
%{_datadir}/lpf
%{_datadir}/applications/lpf.desktop
%{_datadir}/applications/lpf-gui.desktop
%{_datadir}/applications/lpf-notify.desktop
%{_datadir}/icons/hicolor/*/apps/lpf*.png
# No sane owner to depend on.
%{_datadir}/appdata
%{_datadir}/man/man1/lpf*
%{_libexecdir}/lpf-kill-pgroup
%attr(440, root, root) %config(noreplace)  /etc/sudoers.d/pkg-build
%attr(2775, pkg-build, pkg-build)/var/lib/lpf


%changelog
* Sat Aug 30 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-8.36e5aa0
- Fix for umask problem (bz #1080149).
- Fix for missing -y tobuilddep (upstream #24).

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-7.36e5aa0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon Jan 27 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-6.36e5aa0
- Patch for bz #1057878 added.

* Thu Jan 23 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-5.36e5aa0
- Adding two patches, doc update + bugfix in lpf script.

* Fri Jan 17 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-4.36e5aa0
- rebuilt

* Wed Jan 08 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-3.36e5aa0
- Remove bad requirement, reinstall %%check, confirm fedkpg bug fixed.

* Wed Jan 08 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-2.36e5aa0
- Rebuilt, checking fo fedpkg bug.

* Wed Jan 08 2014 Alec Leamas <leamas.alec@gmail.com> - 0.1-1.36e5aa0
- First upstream release 0.1.

* Thu Dec 12 2013 Alec Leamas <leamas.alec@gmail.com> - 0-14.fc43f57
- upstream bugfix: Don't terminate running process in scripts.

* Wed Dec 04 2013 Alec Leamas <leamas.alec@gmail.com> - 0-13.ff55de0
- Fix for upstream bug #13: ignore errors in lpf-kill-pgroup

* Wed Nov 27 2013 Alec Leamas <leamas.alec@gmail.com> - 0-12.1478565
- Upstream bugfixes.

* Fri Nov 22 2013 Alec Leamas <leamas@nowhere.net> - 0-11.c885df3
- Upstream: Automate adding of pkg-build group to user.
- Upstream: Handle packages built only on i386.
- Fix left behind cruft after uninstalling lpf-* packages.

* Sat Nov 16 2013 Alec Leamas <leamas@nowhere.net> - 0-10.d18db6d
- Upstream bugfixes.
- Fix bug when installing pkg with eula.
- Fix bug in lpf install scriptlets.

* Sun Nov 10 2013 Alec Leamas <leamas@nowhere.net> - 0-9.b40e846
- Upstream bugfixes.

* Sun Nov 10 2013 Alec Leamas <leamas.alec@gmail.com> - 0-8.ff50a5b
- Adding missing Requires:

* Sat Oct 26 2013 Alec Leamas <leamas.alec@gmail.com> - 0-6.ff50a5b
- Yet another bugfix.

* Sat Oct 26 2013 Alec Leamas <leamas.alec@gmail.com> - 0-6.354c031
- Fixing silly version error.

* Sat Oct 26 2013 Alec Leamas <leamas.alec@gmail.com> - 0-5.6d285c5
- Allow spec file to be named .spec.in

* Fri Oct 25 2013 Alec Leamas <leamas.alec@gmail.com> - 0-4.3051236
- Updating examples

* Sun Jun 23 2013 Alec Leamas <leamas@nowhere.net> - 0-3.fe3defcf9
- Removed examples, added lpf spec tamplate.
- Add manpage

* Thu Jun 13 2013 Alec Leamas <leamas@nowhere.net> - 0-3.fe3defcf9
- Added BR: python2-devel
- Simplified Source0 (https://fedorahosted.org/fpc/ticket/284)
- Using 2775 instead of 775 perms (https://fedorahosted.org/fpc/ticket/286)

* Tue Jun 11 2013 Alec Leamas <leamas@nowhere.net> - 0-1.c4bc5a2
- Upstream Makefile added, clean up installation

* Mon Jun 10 2013 Alec Leamas <leamas@nowhere.net> - 0-1.d961366
- Initial release