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

Re: Creating a debian package for a port, from a modified existing Debian package



On Sat, 28 Feb 2009 21:40:22 +0100
Sjors Gielen <mailinglist@dazjorz.com> wrote:

> > Yes. That seems a bit long though - you are correct to use a [a-z][0-9]
> > format, just wondering if it should be [a-z]{2-3}[0-9].
> 
> cyg[1-9] it is then :-)
>      ^ I saw you write em1 everywhere, so I assume that's recommended?

In line with existing conventions, the Debian package is assumed to be
em0 (or cyg0 in your case).

>  > The changes you make will appear in .diff.gz and are applied that way.
> 
> So when I retrieve a Debian source package, make a lot of changes to it, 
> then run dpkg-buildpackage succesfully, I have in the root directory 
> some .debs, maybe some .changes, a modified .diff.gz and a modified 
> .tar.gz for my -cyg1 (or similar) version, and probably a .dsc.

Definitely a .changes file.
the Debian .diff.gz is not modified, it is put alongside the old one
because the version differs.
The .tar.gz is not modified if not a native package - i.e. if you have
a cyg0.diff.gz then you have not modified the .tar.gz and you will
still have the Debian .diff.gz:

/opt/emdebian/trunk/g/gpe-calendar/trunk/gpe-calendar_0.91-3.diff.gz
/opt/emdebian/trunk/g/gpe-calendar/trunk/gpe-calendar_0.91-3em2.diff.gz

You also get a new .dsc:
/opt/emdebian/trunk/g/gpe-calendar/trunk/gpe-calendar_0.91-3.dsc
/opt/emdebian/trunk/g/gpe-calendar/trunk/gpe-calendar_0.91-3em2.dsc

and a new .changes:
/opt/emdebian/trunk/g/gpe-calendar/trunk/gpe-calendar_0.91-3em2_arm.changes

> This .diff.gz now contains all patches between the original version from 
> "upstream upstream" (so the real upstream, not Debian), and the current 
> ported version; that's all patches by the Debian maintainer and all 
> patches by me, right?

Yes, but this .diff.gz is not uploaded to Debian so when the next
Debian revision or new upstream version is uploaded, you have to
re-apply all your patches, with modifications.



> If that's the case: What does your wrapper do? Why 
> doesn't dpkg-source do the job correctly when it applies the .diff.gz?

You can unpack your own built package and you can unpack the original
Debian package but you need to re-apply the patches in order to get the
next version ready.

>  > There is nothing you can do about this. Accept
> > it. Maintainers are in complete control of their own packages and if a
> > maintainer thinks that your patch is irrelevant, unimportant or simply
> > a nuisance, there's little you can do because cygwin just isn't
> > sufficiently important to Debian as-a-whole for anyone else to care.
> 
> Yeah, I see that. I'll just keep all my patches in a seperate directory.

More than that, you'll need your own VCS repository.

Put your patches alongside the .changes etc. - do NOT use a directory
within the source itself. Then your wrapper applies the patches BEFORE
calling dpkg-buildpackage (so that you can patch debian/rules).

Take a look at the source code of emdebian-buildsupport, especially
emsource and the Emdebian::Tools module in libemdebian-tools-perl.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpoR6LEixtJP.pgp
Description: PGP signature


Reply to: