Gebruikershulpmiddelen

Site-hulpmiddelen


werkinstructies:rpm_van_een_binary

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisie Vorige revisie
Volgende revisie
Vorige revisie
werkinstructies:rpm_van_een_binary [2022/01/05 13:38]
abel [spec file bouwen]
werkinstructies:rpm_van_een_binary [2022/06/07 21:31] (huidige)
abel [.rpmmacros aanpassen]
Regel 5: Regel 5:
 voor deze acties heb je de volgende tools nodig; tar, gzip, rpmbuild. Installeer die door: voor deze acties heb je de volgende tools nodig; tar, gzip, rpmbuild. Installeer die door:
  
-''sudo yum install -y rpm-build redhat-rpm-config rpmdevtools tar gzip''+''sudo yum install -y rpm-build redhat-rpm-config rpm-sign rpmdevtools tar gzip''
  
  
Regel 57: Regel 57:
  
 ===== spec file bouwen ===== ===== spec file bouwen =====
 +Van het hele proces is dit het meest ingewikkeld, documentatie hierover is vaak gemaakt voor complete compilaties of niet up to date voor de laatste versie van rpm.
  
 maak in de directory ''~/rpmbuild/SPECS'' de file ''appagent.spec'' aan met daarin: maak in de directory ''~/rpmbuild/SPECS'' de file ''appagent.spec'' aan met daarin:
  
 <code> <code>
-# Something that need for rpm-4.1+# Something that need for rpm-4.1 since we have no docs
 %define _missing_doc_files_terminate_build 0 %define _missing_doc_files_terminate_build 0
 +%define debug_package %{nil}
  
 Name:           appagent Name:           appagent
Regel 95: Regel 97:
 #%systemd_post %{name}.service #%systemd_post %{name}.service
 %systemd_post appagent.service %systemd_post appagent.service
 +
 +%preun
 +%systemd_preun appagent.service
 +
 +%postun
 +%systemd_postun_with_restart appagent.service
  
 %changelog %changelog
 * Wed Jan 05 2022 Pietje Puk <pietje.puk@nergens.nl> 1.0.0 * Wed Jan 05 2022 Pietje Puk <pietje.puk@nergens.nl> 1.0.0
 +- first draft
 </code> </code>
  
Regel 109: Regel 117:
 ''rpmbuild -ba appagent.spec'' ''rpmbuild -ba appagent.spec''
 ===== GPG signing ===== ===== GPG signing =====
 +==== GPG key aanmaken ====
 +Mocht je niet een bestaande GPG key gaan gebruiken kan je er een aanmaken door:
 +
 +''gpg %%--%%gen-key''
 +
 +vul alles in, eventueel ook een passphrase.
 +
 +controleer door: ''gpg %%--%%list-keys''
 +
 +==== GPG key importeren ====
 +kopieer de bestaande GPG-key die je wilt importeren naar je systeem.
 +
 +importeer de GPG key door:\\
 +''sudo rpm %%--import /path/to/%%YOUR-RPM-GPG-KEY''
 +
 +controleer door:\\
 +''%%sudo rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'%%''
 +
 +
 +==== .rpmmacros aanpassen ====
 +
 +wordt root ''sudo -i'' en maak de file ''.rpmmacros'' aan met daarin:
 +<code>
 +%__os_install_post %{nil}%_topdir
 +%(echo $HOME)/rpmbuild%_tmppath
 +%(echo $HOME)/rpmbuild/rpm
 +%_signature gpg
 +%_gpg_name YOUR-RPM-GPG-KEY
 +</code>
 +==== sign the rpm ====
 +
 +''rpm --resign /home/naam/rpmbuild/RPMS/x86_64/appagent-1.0-1.el7.x86_64.rpm''
 +
 +
 +
 ===== Bronnen ===== ===== Bronnen =====
  
Regel 117: Regel 160:
 https://unix.stackexchange.com/questions/429511/how-to-use-rpmbuild-to-build-a-rpm-package-from-binary-tarball https://unix.stackexchange.com/questions/429511/how-to-use-rpmbuild-to-build-a-rpm-package-from-binary-tarball
  
 +https://fedoraproject.org/wiki/RPMGroups
 +
 +https://stackoverflow.com/questions/5613954/extract-the-spec-file-from-rpm-package
  
 +https://stackoverflow.com/questions/67094819/why-is-systemd-post-used-in-the-spec-file-not-enabling-or-starting-the-servic
  
 +http://aerostitch.github.io/linux_and_unix/RedHat/build_sample_rpm.html
  
werkinstructies/rpm_van_een_binary.1641386318.txt.gz · Laatst gewijzigd: 2022/01/05 13:38 door abel