ESR "fedora-submit"

Jesse Keating jkeating at redhat.com
Mon Dec 25 22:50:18 UTC 2006


On Sunday 24 December 2006 18:57, Eric S. Raymond wrote:
> Can I write a procedure in shell or Python, to be invoked by
> 'make ship' from my project's top-level makefile, that will automate
> my release process so I *don't have to think about it*?
>
> I *don't* *fucking* *care*  what happens on the back end. If one
> of the possible consequences is email bounceback that says "your
> point release failed QA because *BLAH*, that's OK.  I'll fix the
> problem and try again.

One big thing you need to think about is that within the Fedora package 
infrastructure, spec files are managed outside of tarballs.  One side effect 
to this is that the specfile can change between tarball releases, be it for 
an automated rebuild (many reasons), update for new package guidelines, 
change in a BuildRequires stack, etc...  These changes can happen in the 
package SCM which is outside of the source SCM by nature.  Therefor, you 
can't always blindly shove what comes from upstream into our package 
infrastructure without making sure that nothing has changed downstream first.  
Doing this has led to re-introduction of bugs in packaging, inconsistent 
package changelogs, etc...  There really is a difference between downstream 
and upstream.  Fedora is a downstream of many upstream projects.  Many times 
the upstream maintainer/author is the same as the downstream, but there are 
different needs/procedures that need to be kept in mind.  However, quite 
often the downstream maintainer is _not_ the upstream, for many reasons.  
Sometimes its a time issue, upstream doesn't want to deal with downstream 
issues (yes, there are more issues than just 'get my latest release into 
downstream, local rebuilds, SCM changes, guideline updates, release freezes, 
etc...), othertimes it is to prevent a conflict of interst.  Downstream 
interests are at times different than upstreams.  Release timelines, 
features, freezes, but priorities, all of these things could lead to 
conflicts if the same person runs upstream as downstream.

So, while a tool to automatically do an upstream _and_ downstream release 
might be nice/interesting, it by nature cannot handle many of the things I've 
outlined above.

Instead what can be done, if you're upstream process produces an srpm that is 
suitable for the Fedora infrastructure, you can make use of the cvs-import.sh 
script which can import an srpm onto a given "branch".  This automates the 
update of the source tarball and spec file changes.  If (this is a BIG IF) 
you _KNOW_ that no changes have been made that your upstream spec doesn't 
take into consideration, it can be used to import the new release.  'make tag 
build' still needs to be ran, and frankly that could be scriptable as part of 
the script that handles cvs-import.sh, but as I said there are many issues 
that a human has to take into consideration when doing a downstream release.  
Especially on released branches, where we're moving to doing specific updates 
with email notifications which will require even more human 
thought/consideration.  You can't just bump a package that will break a ton 
of deps, that's irresponsible as a downstream maintainer.  Not something that 
an upstream maintainer will really care about, but most certainly something a 
downstream should.

I think the bottom line here (sorry for the long email) is that for YOU Eric, 
it may not be in your best interst to be both the upstream and the downstream 
maintainer of your software.  It may be better for you to find an intersted 
party to be your downstream within Fedora who will keep all the above issues 
(and more!) in mind while doing releases of your software for us.  This 
allows you to continue doing the upstream thing as you need, and we the 
downstream will consume it when it is appropriate and in a way that is 
appropriate.

-- 
Jesse Keating
Release Engineer: Fedora
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20061225/2ef6e9a7/attachment-0002.bin 


More information about the devel mailing list