Hi,

My "OSTree" system which I'd like to deploy in Fedora treats operating system binaries like git treats source code - they have a versioned history.  This is in contrast to the default mode of operation with RPM and higher level systems like Koji which will garbage collect older binaries that are not part of a release.

This rpm-ostree is not a new source-level build system - merely a new representation of the binary RPMs.

Now, I want this system to be compliant with both the letter and spirit of the GPL - you should be able to find the source for a given binary that's included in the OSTree repository.

My understanding is that normally with yum/rpm as they are today, "rpm -qf /usr/bin/bash" telling you the binary came from the bash package, and then "rpm -qi bash" showing you the source RPM name, then finally locating the bash-$version.src.rpm provided from e.g. http://koji.fedoraproject.org/koji/buildinfo?buildID=482681
is sufficient.

With OSTree, I may not even include rpm inside the composed tree (the system shipped to users) - in that case, I include the output of "rpm -qa".  While the file -> package mapping is not included in this model, the source is available and provided by Fedora.

So that's my first question - do I need to include the file-level mapping so one can go from binary -> package -> source package?

Second, Koji may garbage collect the RPMs and SRPMs, for an obsoleted build, but rpm-ostree may retain the binaries.

Is the package git sufficient for this purpose?  One can reconstruct the SRPMs from that.  Or would we need integration between Koji and rpm-ostree to avoid having SRPMs garbage collected as long as they're stored in the OSTree repository?

Thanks in advance for any advice or help!