Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Contributions to ELOG  Not logged in ELOG logo
Entry   RPM build process enhancements, posted by Laurent Jean-Rigaud on Fri Feb 21 19:05:18 2020 elog_patch_for_4936b76915d63a9ebb3788d50d62faadf49cdb6b.patch
    Reply   Re: RPM build process enhancements, posted by Laurent Jean-Rigaud on Mon Mar 2 14:31:12 2020 elog-git_dd35f04ec8effce1c12927078a9efb59822ceb3f-add_use_options.diff
       Reply   Re: Re: RPM build process enhancements, posted by Laurent Jean-Rigaud on Wed Mar 4 18:40:57 2020 elog.spec.template
Message ID: 151     Entry time: Mon Mar 2 14:31:12 2020     In reply to: 150     Reply to this: 152
Author: Laurent Jean-Rigaud 
Author Email: lollspam@free.fr 
Category: Other 
Subject: Re: RPM build process enhancements 
Status: Stable 
Last Revision: Wed Mar 4 18:40:40 2020 by Laurent Jean-Rigaud 

Hi Stefan,

2nd patch for RPM build which adds :

  • dynamic build options for krb5/ldap/pam/ssl support :
    • for git / non rpm users : 
      • buildrpm version release [-krb5] [-ldap] [-pam] [-ssl]
    • for rpm users using SRPMS (dependances are managed) :
      • rpm -i elog-ver-rel.src.rpm && rpmbuld -bb [--use krb5] [--use ldap] [--use pam] [--use ssl] ~/rpmbuild/SPECS/elog.spec
  • dynamic 2 last changelog entries :
    • last with build information with
      • dynamic user 's info (use your info if builded from PSI, or use %packager from ~/.rpmmacros if exists, or set to username username@ostname)
      • build options list (KBR5, LDAP, PAM, SSL)
    • before last for product changelog of current ELOG version-release
  • customrel flag for local rebuild :
    • release = %elogrel%{?customrel}%{?dist)
    • so custom builder can add --define 'customrel NSA'  at rpmbuild command or in .rpmmacros file -> elog-3.1.4-2.NSA.el7.x86_64.rpm by example.
  • elog version and release are delivered in specfile as default for rebuild (tarball name uses it so it can not be changed for local rebuild from SRPMS).
  • buildrpm uses ~/rpmbuild/SPECS/elog.spec generated from elog.spec.template (elog.spec is deleted in repo, replaced by elog.spec.template).

 

Tested on EL6 and EL7 x86_64 :-)

Bye

 

Laurent Jean-Rigaud wrote:

Hi Stefan,

I enclosed a patch for RPM build process available on GIT.

changes :

  • rpmbuild :
    • checks if provider or custom build (the rm/mv are done on your computers only :-))
    • call rpmbuild with version / release given as parameters
  • elog.spec :
    • last changelog entry date is set to build date
    • build with debug for debuginfo rpms (product rpms are normally automatically strimmed)
    • elog.init call /etc/ini.d/functions for RHEL/Centos/Fedora/? dists

 

Todo:

  • add RPMbuild options for ldap/pam/...
  • enclosed git log in changelog automatically (the dream :-))

 

Attachment 1: elog-git_dd35f04ec8effce1c12927078a9efb59822ceb3f-add_use_options.diff  12 kB  Uploaded Mon Mar 2 17:17:45 2020  | Show | Show all
ELOG V3.1.5-fe60aaf