[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New Packager question again: can you point me to a not flawed package?



Paul Johnson wrote:
> So in my usual process of package development, I'd have the original
> source, a modified source tree, I'd run "diff -rc orig source >
> whatever.patch"  after making specific changes and I'd collect those
> up.
>
> Here are some example. GCC's version of objective C has become more
> strict in its interpretation of methods and return arguments.  It
> generates warnings and errors where it did not do so in the past.  To
> fix those, I have to go in the source and tighten up some things.
> Those changes need to be in a separate patch in order to allow the
> developer to approve the changes I make.
>
> Here's another example. We've been using a graph library a long time,
> at least 12 years.  The developer seems to go missing for months  at a
> time.  We don't make changes in his source, rather we collect up
> patches representing changes we think are needed, and we use the
> software.  He's uninterested in packaging for Debian, Redhat, or
> whatnot.  If we collected up all those little changes into one massive
> diff.gz, there's no way he'd have the patience to wade through it.
>
> If the person who is doing the actual software development makes a
> Debian package, I say hooray, that person can do whatever the hell
> she/he wants inside the code.  That is what developers do.  Packagers,
> on the other hand, should not make unaccountable changes.
>   

It is certainly preferable to use a patch system such as dpatch or quilt
to register Debian-specific changes. However, it is not mandatory to do
that, and it's unlikely to change in the future.

So I'd recommend that you do use the patch system in the packages you
create. You can't go wrong doing that.

As for those who don't, they probably have their reasons. Sometimes a
patch system is an overkill, and it's OK to make the changes directly in
the .diff.gz that constitutes the source package. In some cases it could
be the case that a patch system would make the package better to manage,
but there isn't much that can be done except for contacting the
maintainer and offering help to convert to a patch system --- with no
guarantees that he will accept.

However, note that both methods keep the original upstream source
tarball (distributed along the .diff.gz in the package) intact. Changes
are made to a local extracted copy used when the package is actually built.

I cannot give an example of a package that only changes the source via a
patch system, nor point you to good documentation (but I'm sure it
exists) because the package I maintain does not need patching the
sources. But if you need to alter the source, you can use the patch
system (even if you are not required to).

-- 
A beautiful man is paradise for the eyes, hell for the soul, and
purgatory for the purse.

Eduardo M KALINOWSKI
eduardo@kalinowski.com.br
http://move.to/hpkb


Reply to: