[Rpm-maint] [rpm-software-management/rpm] Handle DistTag (#594)

wladmis notifications at github.com
Thu Aug 1 22:59:18 UTC 2019


> `RPMTAG_BUILDTIME` is recorded from the machine that builds it.

Yes, I know what `RPMTAG_BUILDTIME` is and for what it has been made.

> In addition, I'm not sure it's sane for repositories to contain multiple packages of the same NEVRD with different build-times and consider them unique.

Actually, in any ALT repository there is no multiple NEVRD. And even more, any repository can be only package with given N. What I mean is there cannot be foo-1-1.src.rpm and foo-1-2.src.rpm within a repository simultaneously. When you have built foo-1-2.src.rpm, it replaces foo-1-1.src.rpm, and every binary packages built from foo-1-2.src.rpm goes to the repo, every binaries from foo-1-1.src.rpm are removed.

> There's a loss of obviousness, unless you're encoding the time in the package filename too.

That's right that it loss obviousness, but `RPMTAG_DISTTAG` information is displayed with `rpm -qi`, `apt-cache show|policy` command etc. And, besides branch name, `RPMTAG_DISTTAG` contains some meta-information that is unique for each package build on ALT build system (girar), that allow to differ one package build from another.

Some example:

    $ rpm -qi rpm
    Name        : rpm
    Version     : 4.13.0.1
    Release     : alt12
    DistTag     : sisyphus+234730.200.2.1
    Architecture: x86_64
    ...

One reason to have additional meta in the `RPMTAG_DISTTAG` is that we can differ package builds that way, and make dependencies more strict. Another example:

    $ rpm -qR rpm
    coreutils
    popt >= 1.10.2.1
    /bin/sh
    /bin/bash
    /bin/mv
    /bin/rm
    /bin/sh
    /lib64/ld-linux-x86-64.so.2
    /sbin/ldconfig
    grep
    libpopt.so.0()(64bit) >= set:jgtcU6BLBccTnteGxrE0
    librpm7 = 4.13.0.1-alt12:sisyphus+234730.200.2.1
    rpmlib(PayloadIsLzma)

As you can see, rpm depends on librpm7 with 4.13.0.1-alt12:sisyphus+234730.200.2.1, which is a certain N = EVRD. As result, we can build the same sources to different branches, and can rebuild packages without source changes as well.

> But again, I don't think that kind of precision is required or desired. It makes reasoning RPM's behavior from empirical, obviously presented information much harder.

No offense, but I think you are a bit out of context how it is in ALT, but it's OK: at least we don't have such a big userbase as more popular distros have. But it makes the discussion less clear.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/594#issuecomment-517487144
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20190801/d75e3737/attachment.html>


More information about the Rpm-maint mailing list