rpm.org, the story so far (summary)

Jan Rękorajski baggins at pld-linux.org
Wed Dec 2 16:08:18 CET 2020


I want to give the summary of rpm.org findings so far. I believe it would be
better this way, than answering every singe message.

- rpmlib(ShortCircuited) deps
  I have added disable_short_circuited_deps macro to disable this,
  just define 'disable_short_circuited_deps 0' in your .rpmrc to disable those

- patch run with different args: --no-backup-if-mismatch '--fuzz=0'
  I prefer to leave --fuzz=0, anecdotally I have encoutered patches that do
  apply, but break things. I'd rather spend some time updating them, than have
  nasty surprises.

  I think we should remove --no-backup-if-mismatch if no one is against.

- symlink warnings (absolute symlinks, 777 mode / %attr)
  TBH I don't care, this is harmless noise. Let'signore for now,
  maybe silence in the future.

- --blink
  Sorry, but this would require porting transaction code which is completely
  different. We will have to live without this.

- poldek appears to still enforce directory deps
  Fixed, disabled for rpm.org

- most noarch conditions stopped working now since 4.16 < 4.6
  Either remove those (preferred) or replace with noarchpackage macro
  (macro will resolve to 'BuildArch: noarch' when using rpm-pld-macros for rpm4)

- Requires(triggerpostun) is not supported (pam.spec)
  Again, looks like a lot of work to support, just replace with postun.

- virtual obsoletes/provides not supported
- Obsoletes on files (Obsoletes: '/' (msmtp: Obsoletes:      /usr/lib/sendmail))
  Same, would require too much work to support this, replace with packages

- mutual obsoletes (php* only problem?)
  I honestly don't know what to do with this, rpm behavior seems sane to me,
  maybe we should rethink how this is packaged (maybe replace with Conflicts
  and let administrator deal with it?)

- hrmib integration
  Too much work to reimplement, and IMO SNMP is not a good fit for
  monitoring installed packages.

- '@' version in obsoletes/provides/requires (perl.spec: Provides: perldoc = 3.14_02 at 5.30.3 (illegal char '@'))

- Provides for libraries are not populated if ELF is not executable
  Applied workaround to ignore executable bit and always check ELFs.

- missing %{__ln} and __bash macros

- digests algorithms - rpmlib(FileDigests) <= 4.6.0-1
  IMHO we should stick with default, MD5 is a weak algo and, since Ac and Th
  diverged a lot over the years, the upgrade must be manual so adding an
  intermediate step to uprade to a snap should not be such a pain.
  Also, this is solving for a corner case IMHO.

Please add your comments and tell me if I missed anything.

Jan Rękorajski                    | PLD/Linux
SysAdm | baggins<at>pld-linux.org | http://www.pld-linux.org/

More information about the pld-devel-en mailing list