On 05/07/2014 11:55, Karanbir Singh wrote:
On 07/03/2014 03:15 PM, Dennis Gilmore wrote:
For example, when using the default URL path rpkg attempts to
download the following file:
https://git.centos.org/sources/a2ps/SOURCES/a2ps-4.14.tar.gz/365abbbe4b7128bf70dad16d06e23c5701874852/SOURCES/a2ps-4.14.tar.gz
The path I wish to set for rpkg to use is:
https://git.centos.org/sources/a2ps/c7/365abbbe4b7128bf70dad16d06e23c5701874852
ewww, seriously eww. the tooling would need to rename the file it gets
to the name in the spec file. this I think doesn't belong in rpkg,
yes, so rather than using a curl -O, you get to give it a name to write
to - a name that maps to sanity in the source repos, and does the sha
validation without needing to waste time doing it down the road, and a
process that allows far better and more effecient duplication checks on
the cache side.

tell me why we'd want to change to lose all that functionality ? I'm
getting assurance on code retreval to match code checkin, for free.

whatever tooling centos people come up with will have to replace rpkgs
function with its own version. I would strongly advocate for centos to
rethink how they are doing it and follow the standard convention.
'standard convention'... which is exactly what ?


I think Dennis is (in general) meaning the dist-git layout that Fedora uses, and fedpkg is designed for. My undertstanding of the history is that Jesse Keating's design for dist-git was inspired by the dist-cvs scheme that Fedora inherited from Red Hat's internal systems when Fedora Core moved out from inside Red Hat's firewall. In turn, I think Jesse then did a very similar conversion inside Red Hat, moving them from their CVS system to a git system based on Fedora's. I've gotten the impression that Red Hat has their own tool internally that, like fedpkg and centpkg, is a layer over rpkg (I'm guessing that's why rpkg exists at all).

CentOS' scheme is conceptually similar (git repo per package, git branches for each OS release, specs, patches etc in git, tarballs and whatnot in a lookaside cache), but the details are a bit different. For example, Fedora's lookaside cache URL scheme is:

http://pkgs.fedoraproject.org/repo/pkgs/<package name>/<filename>/<md5sum>/<filename>

A quick bit of a think doesn't turn up any major differences between the two schemes, other than Fedora's uses the real filename, so doesn't require the file to be renaming during download, so to speak. Oh, and being newer, CentOS is using SHA rather than MD5, but I'm not sure the hash collision issue is that great.

I had a bit of a chat with Jim Perrin in the last couple of weeks and asked why CentOS wasn't using the dist-git scheme (and getting all the existing Fedora tooling for free). He pointed out that the CentOS scheme already existed, and CentOS was being consistant with itself. That's fair enough, really. Changing your own tooling would not doubt be a pain at this point, and making everyone else already consuming git.centos.org's contents change too probably wouldn't go down too well.

Fortunately, the split between the rpkg core and the <vendor>pkg wrapper means that replacing various rpkg core methods is fairly simple, based on my recollection of looking at the code in the past (when implementing another <vendor>pkg wrapper).

--
HJ
--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys

Reply via email to