Blame SPECS/pesign.spec

793dd5
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
793dd5
793dd5
Name:    pesign
793dd5
Summary: Signing utility for UEFI binaries
793dd5
Version: 0.112
65f427
Release: 27%{?dist}
793dd5
License: GPLv2
793dd5
URL:     https://github.com/vathpela/pesign
793dd5
793dd5
Obsoletes: pesign-rh-test-certs <= 0.111-7
793dd5
BuildRequires: git nspr nss nss-util popt-devel
793dd5
BuildRequires: nss-tools
793dd5
BuildRequires: nspr-devel >= 4.9.2-1
793dd5
BuildRequires: nss-devel >= 3.13.6-1
793dd5
BuildRequires: efivar-devel >= 31-1
793dd5
BuildRequires: libuuid-devel
793dd5
BuildRequires: tar xz
793dd5
BuildRequires: python3-rpm-macros python3
793dd5
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
793dd5
BuildRequires: systemd
793dd5
%endif
793dd5
Requires: nspr nss nss-util nss-tools popt rpm
793dd5
Requires(pre): shadow-utils
793dd5
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
793dd5
%if 0%{?rhel} == 7
793dd5
BuildRequires: rh-signing-tools >= 1.20-2
793dd5
%endif
793dd5
793dd5
Source0: https://github.com/vathpela/pesign/releases/download/%{version}/pesign-%{version}.tar.bz2
793dd5
Source1: certs.tar.xz
793dd5
Source2: pesign.py
65f427
Source3: pesign.patches
793dd5
65f427
%include %{SOURCE3}
793dd5
793dd5
%description
793dd5
This package contains the pesign utility for signing UEFI binaries as
793dd5
well as other associated tools.
793dd5
793dd5
%prep
793dd5
%setup -q -T -b 0
793dd5
%setup -q -T -D -c -n pesign-%{version}/ -a 1
793dd5
git init
793dd5
git config user.email "pesign-owner@fedoraproject.org"
793dd5
git config user.name "Fedora Ninjas"
793dd5
git add .
793dd5
git commit -a -q -m "%{version} baseline."
793dd5
git am %{patches} 
793dd5
git config --unset user.email
793dd5
git config --unset user.name
793dd5
793dd5
%build
793dd5
make PREFIX=%{_prefix} LIBDIR=%{_libdir}
793dd5
793dd5
%install
793dd5
mkdir -p %{buildroot}/%{_libdir}
793dd5
make PREFIX=%{_prefix} LIBDIR=%{_libdir} INSTALLROOT=%{buildroot} \
793dd5
	install
793dd5
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
793dd5
make PREFIX=%{_prefix} LIBDIR=%{_libdir} INSTALLROOT=%{buildroot} \
793dd5
	install_systemd
793dd5
%endif
793dd5
793dd5
# there's some stuff that's not really meant to be shipped yet
793dd5
rm -rf %{buildroot}/boot %{buildroot}/usr/include
793dd5
rm -rf %{buildroot}%{_libdir}/libdpe*
793dd5
mkdir -p %{buildroot}%{_sysconfdir}/pki/pesign/
793dd5
mkdir -p %{buildroot}%{_sysconfdir}/pki/pesign-rh-test/
793dd5
cp -a etc/pki/pesign/* %{buildroot}%{_sysconfdir}/pki/pesign/
793dd5
cp -a etc/pki/pesign-rh-test/* %{buildroot}%{_sysconfdir}/pki/pesign-rh-test/
793dd5
793dd5
if [ %{macrosdir} != %{_sysconfdir}/rpm ]; then
793dd5
	mkdir -p %{buildroot}%{macrosdir}
793dd5
	mv %{buildroot}%{_sysconfdir}/rpm/macros.pesign \
793dd5
		%{buildroot}%{macrosdir}
793dd5
	rmdir %{buildroot}%{_sysconfdir}/rpm
793dd5
fi
793dd5
rm -vf %{buildroot}/usr/share/doc/pesign-%{version}/COPYING
793dd5
793dd5
# and find-debuginfo.sh has some pretty awful deficencies too...
793dd5
cp -av libdpe/*.[ch] src/
793dd5
793dd5
install -d -m 0755 %{buildroot}%{python3_sitelib}/mockbuild/plugins/
793dd5
install -m 0755 -p %{SOURCE2} %{buildroot}%{python3_sitelib}/mockbuild/plugins/
793dd5
793dd5
%pre
793dd5
getent group pesign >/dev/null || groupadd -r pesign
793dd5
getent passwd pesign >/dev/null || \
1d9031
	useradd -r -g pesign -d /run/pesign -s /sbin/nologin \
793dd5
		-c "Group for the pesign signing daemon" pesign
793dd5
exit 0
793dd5
793dd5
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
793dd5
%post
793dd5
%systemd_post pesign.service
793dd5
793dd5
#%%posttrans
793dd5
#%%{_libexecdir}/pesign/pesign-authorize
793dd5
793dd5
%preun
793dd5
%systemd_preun pesign.service
793dd5
793dd5
%postun
793dd5
%systemd_postun_with_restart pesign.service
793dd5
%endif
793dd5
793dd5
%files
793dd5
%{!?_licensedir:%global license %%doc}
793dd5
%license COPYING
793dd5
%doc README TODO
793dd5
%{_bindir}/authvar
793dd5
%{_bindir}/efikeygen
793dd5
%{_bindir}/efisiglist
793dd5
%{_bindir}/pesigcheck
793dd5
%{_bindir}/pesign
793dd5
%{_bindir}/pesign-client
793dd5
%dir %{_libexecdir}/pesign/
793dd5
%dir %attr(0770,pesign,pesign) %{_sysconfdir}/pki/pesign/
793dd5
%config(noreplace) %attr(0660,pesign,pesign) %{_sysconfdir}/pki/pesign/*
793dd5
%dir %attr(0775,pesign,pesign) %{_sysconfdir}/pki/pesign-rh-test/
793dd5
%config(noreplace) %attr(0664,pesign,pesign) %{_sysconfdir}/pki/pesign-rh-test/*
793dd5
%{_libexecdir}/pesign/pesign-authorize
793dd5
%config(noreplace)/%{_sysconfdir}/pesign/users
793dd5
%config(noreplace)/%{_sysconfdir}/pesign/groups
793dd5
%{_sysconfdir}/popt.d/pesign.popt
793dd5
%{macrosdir}/macros.pesign
793dd5
%{_mandir}/man*/*
1d9031
%dir %attr(0770, pesign, pesign) /%{_rundir}/%{name}
1d9031
%ghost %attr(0660, -, -) %{_rundir}/%{name}/socket
1d9031
%ghost %attr(0660, -, -) %{_rundir}/%{name}/pesign.pid
793dd5
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
793dd5
%{_tmpfilesdir}/pesign.conf
793dd5
%{_unitdir}/pesign.service
793dd5
%endif
793dd5
%{python3_sitelib}/mockbuild/plugins/*/pesign.*
793dd5
%{python3_sitelib}/mockbuild/plugins/pesign.*
793dd5
793dd5
%changelog
65f427
* Wed Jan 18 2023 Robbie Harwood <rharwood@redhat.com> - 0.112-27
65f427
- Deprecate pesign-authorize and drop ACL
65f427
- Resolves: CVE-2022-3560
65f427
1d9031
* Mon Nov 08 2021 Robbie Harwood <rharwood@redhat.com> - 0.112-26
1d9031
- Perform the /var/run to /run "migration" stupidity
1d9031
- Resolves: rhbz#1801976
1d9031
793dd5
* Mon Oct 01 2018 Peter Jones <pjones@redhat.com> - 0.112-25
793dd5
- Preserve .py timestamp during install so .pyc/.pyo files have the same
793dd5
  timestamp on all arches, preventing rpmdiff from complaining.
793dd5
  Related: rhbz#1625388
793dd5
793dd5
* Fri Sep 28 2018 Peter Jones <pjones@redhat.com> - 0.112-24
793dd5
- Require nss-tools at runtime so the rpm signing macros will have it
793dd5
  Resolves: rhbz#1625388
793dd5
793dd5
* Wed Aug 01 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.112-23
793dd5
- Rebuild for platform-python
793dd5
793dd5
* Mon Jan 22 2018 Peter Robinson <pbrobinson@fedoraproject.org> 0.112-22
793dd5
- Minor spec cleanups, fix arm conditional
793dd5
793dd5
* Fri Oct 06 2017 Troy Dawson <tdawson@redhat.com> - 0.112-21
793dd5
- Cleanup spec file conditionals
793dd5
793dd5
* Tue Aug 15 2017 Peter Jones <pjones@redhat.com> - 0.112-20
793dd5
- Maybe fewer typoes would be better.
793dd5
793dd5
* Tue Aug 15 2017 Peter Jones <pjones@redhat.com> - 0.112-19
793dd5
- Update to match f26's build so new kernel builds will work.
793dd5
793dd5
* Thu Aug 10 2017 Peter Jones <pjones@redhat.com> - 0.112-10
793dd5
- Try to fix the db problem nirik is seeing trying to upgrade the builders.
793dd5
793dd5
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.112-9
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
793dd5
793dd5
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.112-8
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
793dd5
793dd5
* Sat Jul 08 2017 Peter Jones <pjones@redhat.com> - 0.112-7
793dd5
- Rebuild for efivar-31-1.fc26
793dd5
  Related: rhbz#1468841
793dd5
793dd5
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.112-6
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
793dd5
793dd5
* Fri Jan 06 2017 Peter Jones <pjones@redhat.com> - 0.112-5
793dd5
- Don't Req: or BuildReq: coolkey or opensc; those belong in system deploy
793dd5
  scripts.
793dd5
  Related: rhbz#1349073
793dd5
793dd5
* Wed Aug 17 2016 Peter Jones <pjones@redhat.com> - 0.112-4
793dd5
- Build as -4 to make bodhi happy.
793dd5
793dd5
* Fri Aug 12 2016 Adam Williamson <awilliam@redhat.com> - 0.112-3
793dd5
- backport fix for command line parsing from upstream master
793dd5
793dd5
* Wed Aug 10 2016 Peter Jones <pjones@redhat.com> - 0.112-2
793dd5
- Build with newer efivar.
793dd5
793dd5
* Wed Apr 20 2016 Peter Jones <pjones@redhat.com> - 0.112-1
793dd5
- Update to 0.112
793dd5
- Also fix up some spec file woes:
793dd5
  - dumb things in %%setup
793dd5
  - find-debuginfo.sh not working right for some source files...
793dd5
793dd5
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.111-8
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
793dd5
793dd5
* Thu Dec 10 2015 Peter Jones <pjones@redhat.com> - 0.111-7
793dd5
- Obsolete pesign-rh-test-certs, it was in -1's update.
793dd5
  Resolves: rhbz#1283475
793dd5
793dd5
* Wed Dec 02 2015 Peter Jones <pjones@redhat.com> - 0.111-6
793dd5
- *Don't* use --certdir if we're using the socket.
793dd5
  Related: rhbz#1283475
793dd5
  Related: rhbz#1284063
793dd5
  Related: rhbz#1284561
793dd5
793dd5
* Tue Dec 01 2015 Peter Jones <pjones@redhat.com> - 0.111-5
793dd5
- Actually do a better job of choosing which cert to use when, so people will
793dd5
  stop seeing any of this problem.  (Thanks for the thought, jforbes.)
793dd5
  Resolves: rhbz#1283475
793dd5
  Resolves: rhbz#1284063
793dd5
  Resolves: rhbz#1284561
793dd5
793dd5
* Mon Nov 30 2015 Peter Jones <pjones@redhat.com> - 0.111-5
793dd5
- setfacl even harder.
793dd5
  Related: rhbz#1283475
793dd5
  Related: rhbz#1284063
793dd5
  Related: rhbz#1284561
793dd5
793dd5
* Fri Nov 20 2015 Peter Jones <pjones@redhat.com> - 0.111-3
793dd5
- Better ACL setting code.
793dd5
  Related: rhbz#1283475
793dd5
793dd5
* Thu Nov 19 2015 Peter Jones <pjones@redhat.com> - 0.111-2
793dd5
- Allow the mockbuild user to read the nss database if the account exists.
793dd5
793dd5
* Wed Oct 28 2015 Peter Jones <pjones@redhat.com> - 0.111-1
793dd5
- Rebase to 0.111
793dd5
- Split test certs out into a "Recommends" subpackage.
793dd5
793dd5
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.110-3
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
793dd5
793dd5
* Wed Mar  4 2015 Ville Skyttä <ville.skytta@iki.fi> - 0.110-2
793dd5
- Install macros in %%{_rpmconfigdir}/macros.d where available (#1074281)
793dd5
793dd5
* Fri Oct 24 2014 Peter Jones <pjones@redhat.com> - 0.110-1
793dd5
- Update to pesign-0.110
793dd5
793dd5
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.108-4
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
793dd5
793dd5
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.108-3
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
793dd5
793dd5
* Thu May 29 2014 Peter Jones <pjones@redhat.com> - 0.108-2
793dd5
- Fix a networking problem nirik observed when reinstalling builders.
793dd5
793dd5
* Sat Aug 10 2013 Peter Jones <pjones@redhat.com> - 0.108-1
793dd5
- Remove errant result files and raise an error from %%pesign 
793dd5
793dd5
* Tue Aug 06 2013 Peter Jones <pjones@redhat.com> - 0.106-3
793dd5
- Add code for signing in RHEL 7
793dd5
793dd5
* Mon Aug 05 2013 Peter Jones <pjones@redhat.com> - 0.106-2
793dd5
- Fix for new %%doc rules.
793dd5
793dd5
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.106-2
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
793dd5
793dd5
* Tue May 21 2013 Peter Jones <pjones@redhat.com> - 0.106-1
793dd5
- Update to 0.106
793dd5
- Hopefully fix the segfault dgilmore was seeing.
793dd5
793dd5
* Mon May 20 2013 Peter Jones <pjones@redhat.com> - 0.105-1
793dd5
- Various bug fixes.
793dd5
793dd5
* Wed May 15 2013 Peter Jones <pjones@redhat.com> - 0.104-1
793dd5
- Make sure alignment is correct on signature list entries
793dd5
  Resolves: rhbz#963361
793dd5
- Make sure section alignment is correct if we have to extend the file
793dd5
793dd5
* Wed Feb 06 2013 Peter Jones <pjones@redhat.com> - 0.103-2
793dd5
- Conditionalize systemd bits so they don't show up in RHEL 6 builds
793dd5
793dd5
* Tue Feb 05 2013 Peter Jones <pjones@redhat.com> - 0.103-1
793dd5
- One more compiler problem.  Let's expect a few more, shall we?
793dd5
793dd5
* Tue Feb 05 2013 Peter Jones <pjones@redhat.com> - 0.102-1
793dd5
- Don't use --std=gnu11 because we have to work on RHEL 6 builders.
793dd5
793dd5
* Mon Feb 04 2013 Peter Jones <pjones@redhat.com> - 0.101-1
793dd5
- Update to 0.101 to fix more "pesign -E" issues.
793dd5
793dd5
* Fri Nov 30 2012 Peter Jones <pjones@redhat.com> - 0.100-1
793dd5
- Fix insertion of signatures from a file.
793dd5
793dd5
* Mon Nov 26 2012 Matthew Garrett <mjg59@srcf.ucam.org> - 0.99-9
793dd5
- Add a patch needed for new shim builds
793dd5
793dd5
* Fri Oct 19 2012 Peter Jones <pjones@redhat.com> - 0.99-8
793dd5
- Get the Fedora signing token name right.
793dd5
793dd5
* Fri Oct 19 2012 Peter Jones <pjones@redhat.com>
793dd5
- Add coolkey and opensc modules to pki database during %%install.
793dd5
793dd5
* Fri Oct 19 2012 Peter Jones <pjones@redhat.com> - 0.99-7
793dd5
- setfacl u:kojibuilder:rw /var/run/pesign/socket
793dd5
- Fix command line checking in client
793dd5
- Add client stdin pin reading.
793dd5
793dd5
* Thu Oct 18 2012 Peter Jones <pjones@redhat.com> - 0.99-6
793dd5
- Automatically select daemon as signer when using rpm macros.
793dd5
793dd5
* Thu Oct 18 2012 Peter Jones <pjones@redhat.com> - 0.99-5
793dd5
- Make it work on the -el6 branch as well.
793dd5
793dd5
* Wed Oct 17 2012 Peter Jones <pjones@redhat.com> - 0.99-4
793dd5
- Fix some more bugs found by valgrind and coverity.
793dd5
- Don't build utils/ ; we're not using them and they're not ready anyway. 
793dd5
793dd5
* Wed Oct 17 2012 Peter Jones <pjones@redhat.com> - 0.99-3
793dd5
- Fix daemon startup bug from 0.99-2
793dd5
793dd5
* Wed Oct 17 2012 Peter Jones <pjones@redhat.com> - 0.99-2
793dd5
- Fix various bugs from 0.99-1
793dd5
- Don't make the database unreadable just yet.
793dd5
793dd5
* Mon Oct 15 2012 Peter Jones <pjones@redhat.com> - 0.99-1
793dd5
- Update to 0.99
793dd5
- Add documentation for client/server mode.
793dd5
- Add --pinfd and --pinfile to server mode.
793dd5
793dd5
* Fri Oct 12 2012 Peter Jones <pjones@redhat.com> - 0.98-1
793dd5
- Update to 0.98
793dd5
- Add client/server mode.
793dd5
793dd5
* Mon Oct 01 2012 Peter Jones <pjones@redhat.com> - 0.10-5
793dd5
- Fix missing section address fixup.
793dd5
793dd5
* Wed Aug 15 2012 Peter Jones <pjones@redhat.com> - 0.10-4
793dd5
- Make macros.pesign even better (and make it work right for i686 packages)
793dd5
793dd5
* Tue Aug 14 2012 Peter Jones <pjones@redhat.com> - 0.10-3
793dd5
- Only sign things on x86_64; all else ignore gracefully.
793dd5
793dd5
* Tue Aug 14 2012 Peter Jones <pjones@redhat.com> - 0.10-2
793dd5
- Make macros.pesign more reliable
793dd5
793dd5
* Mon Aug 13 2012 Peter Jones <pjones@redhat.com> - 0.10-1
793dd5
- Update to 0.10
793dd5
- Include rpm macros to support easy custom signing of signed packages.
793dd5
793dd5
* Fri Aug 10 2012 Peter Jones <pjones@redhat.com> - 0.9-1
793dd5
- Update to 0.9
793dd5
- Bug fix from Gary Ching-Pang Lin
793dd5
- Support NSS Token selection for use with smart cards.
793dd5
793dd5
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com> - 0.8-1
793dd5
- Update to 0.8
793dd5
- Don't open the db read-write
793dd5
- Fix permissions on keystore (everybody can sign with test keys)
793dd5
793dd5
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com> - 0.7-2
793dd5
- Include test keys.
793dd5
793dd5
* Mon Jul 30 2012 Peter Jones <pjones@redhat.com> - 0.7-1
793dd5
- Update to 0.7
793dd5
- Better fix for MS compatibility.
793dd5
793dd5
* Mon Jul 30 2012 Peter Jones <pjones@redhat.com> - 0.6-1
793dd5
- Update to 0.6
793dd5
- Bug-for-bug compatibility with signtool.exe .
793dd5
793dd5
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-2
793dd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
793dd5
793dd5
* Wed Jul 11 2012 Peter Jones <pjones@redhat.com> - 0.5-1
793dd5
- Rebase to 0.5
793dd5
- Do more rigorous bounds checking when hashing a new binary.
793dd5
793dd5
* Tue Jul 10 2012 Peter Jones <pjones@redhat.com> - 0.3-2
793dd5
- Rebase to 0.4
793dd5
793dd5
* Fri Jun 22 2012 Peter Jones <pjones@redhat.com> - 0.3-2
793dd5
- Move man page to a more reasonable place.
793dd5
793dd5
* Fri Jun 22 2012 Peter Jones <pjones@redhat.com> - 0.3-1
793dd5
- Update to upstream's 0.3 .
793dd5
793dd5
* Thu Jun 21 2012 Peter Jones <pjones@redhat.com> - 0.2-4
793dd5
- Do not build with smp flags.
793dd5
793dd5
* Thu Jun 21 2012 Peter Jones <pjones@redhat.com> - 0.2-3
793dd5
- Make it build on i686, though it's unclear it'll ever be necessary.
793dd5
793dd5
* Thu Jun 21 2012 Peter Jones <pjones@redhat.com> - 0.2-2
793dd5
- Fix compile problem with f18's compiler.
793dd5
793dd5
* Thu Jun 21 2012 Peter Jones <pjones@redhat.com> - 0.2-1
793dd5
- Fix some rpmlint complaints nirik pointed out
793dd5
- Add popt-devel build dep
793dd5
793dd5
* Fri Jun 15 2012 Peter Jones <pjones@redhat.com> - 0.1-1
793dd5
- First version of SRPM.