The Fedora and CentOS infrastructure teams are working on synchronizing branches between src.fedoraproject.org and git.centos.org this means that CentOS developers will see Fedora branches when they work on things, and Fedora developers will see the branches pushed from Red Hat into CentOS. Consider an example package a2ps
We should define a layout object that contains configuration for all of the information about where the files go in a package directory. This would eventually allow us to use the same tool to work across Fedora and CentOS branches, and to translate between the two formats. Sometimes packagers might want to take a package branched for Fedora, and bring it into a Special Interest Group in CentOS (for example).
New layouts can be registered, we differentiate the layouts by specifying a file to look for in the root of the package directory to signify which layout to use. For the 2 existing layouts we search for the lookaside metadata file: @Layout.subclass('sources'), for example, looks for the 'sources' file in a standard dist-git directory and registers the layout with the handler.
I've tested this current PR with centpkg and fedpkg, and it seems to support functionality as it exists (that is to say, no harm was done).
What's needed to remove the [WIP] tag?
Fix unit test failures
Finish modifying the various places where we put things in the package directory so that we use the layout configuration
Find a way to specify the site based on the layout. We want to push to the proper lookaside, and use the appropriate buildsystem based on what the layout tells us to do
Add a cli method to translate between different layouts
Background
The Fedora and CentOS infrastructure teams are working on synchronizing branches between src.fedoraproject.org and git.centos.org this means that CentOS developers will see Fedora branches when they work on things, and Fedora developers will see the branches pushed from Red Hat into CentOS. Consider an example package a2ps
Fedora follows the dist-git layout:
CentOS uses the exploded SRPM layout:
Proposal
We should define a layout object that contains configuration for all of the information about where the files go in a package directory. This would eventually allow us to use the same tool to work across Fedora and CentOS branches, and to translate between the two formats. Sometimes packagers might want to take a package branched for Fedora, and bring it into a Special Interest Group in CentOS (for example).
New layouts can be registered, we differentiate the layouts by specifying a file to look for in the root of the package directory to signify which layout to use. For the 2 existing layouts we search for the lookaside metadata file:
@Layout.subclass('sources'), for example, looks for the 'sources' file in a standard dist-git directory and registers the layout with the handler.I've tested this current PR with centpkg and fedpkg, and it seems to support functionality as it exists (that is to say, no harm was done).
What's needed to remove the
[WIP]tag?