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

Re: Packaging GNUstep automatically



On Thu, 26 Dec 2013 12:12:56 +0800, Paul Wise wrote:

> On Thu, Dec 26, 2013 at 11:06 AM, Markus Hitter wrote:
> > Packaging is out of the scope of Debian? That's an unexpected response. :-)
> You asked about automated packaging, which isn't something we do in
> Debian right now AFAIK.

And IMO all attempts that we've seen so far were of rather poor
quality.
I mean, there _is_ a reason why we have Linux distributions and
human packagers :)
 
> > If I knew where to start, which commands to try, I could tell about what
> > isn't working. Instead I can't find a clear path on how to make a
> > package, much less on how to automate this.
> Try maint-guide:
> 
> http://www.debian.org/doc/manuals/maint-guide/update.en.html#inspectnewupstream
> http://www.debian.org/doc/manuals/maint-guide/update.en.html#newupstream

Additionally I'd also recommend Lucas' packaging-tutorial, available
as a package or online at
http://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial
 

On Thu, 26 Dec 2013 13:44:32 +0100, Markus Hitter wrote:
> Am 26.12.2013 05:12, schrieb Paul Wise:

> On the developer side I see pretty much the opposite: a process far more
> complex than what developers feel capable of dealing with, while iPhone
> developers simply drop their binary package somewhere.

Upstream development and packaging are two different tasks and two
different skill sets. Of course it's possible to do both but then one
has to learn both.

> Things I've learned so far:

> 2) To find out which source package is needed, do a dry run for one of
> the binary packages:
> 
>   PKG_NAME=gnustep-make-doc
>   apt-get -s source ${PKG_NAME} | tee /tmp/$$
>   if grep -q "Picking" /tmp/$$; then
>     PKG_NAME=$(awk '/^Picking/ { print substr($2, 2, length($2) - 2); }'
> < /tmp/$$)
>   fi
>   rm -f /tmp/$$

% apt-cache show gnustep-make-doc | grep Source:
or
% apt-cache showsrc gnustep-make-doc
 
> 5) The first step is to grab debian/ from the older package and moving
> it to the new bunch of sources.
> 
>   rm -rf debian
>   tar -xvzf ../${PKG_NAME}*debian.tar.gz

uupdate(1) does this automatically.
 
> 6) Then add a changelog entry with "dch". Important, because debuild
> grabs the version information from here. Also, the version number is
> used for sorting packages by age:
> 
>   . Version
>   dch -v "${GNUSTEP_MAKE_VERSION}-$(date +%Y%m%d)" -D saucy
> 
> "Version" is a file provided by GNUstep, "saucy" is the distribution you
> want to build against. An editor will open, add something like "Weekly
> snapshot.", save and quit.

You can also give the changelog message directly to dch(1):

% dch -v 1234-1 -D saucy "Weekly snapshot."
 
> 8) Now it's a good time to change debian/control.in and/or debian/rules.

debian/control.in is no standard file, just used by some maintainers
to _manually_ manage debian/control outside of the build process.
 
> 9) Build a package locally with "debuild ... "
> 
> Uhm, here I'm stuck. Some instructions recommend "debuild -d", some
> "debuild -i -uc -us", some "debuild -S -sd". All of them fail with the
> same error:
> 
> $ debuild -S -sd
> This package has a Debian revision number but there does not seem to be
> an appropriate original tar file or .orig directory in the parent directory;
> (expected one of gnustep-make_2.6.6.orig.tar.gz,
> gnustep-make_2.6.6.orig.tar.bz2,
> gnustep-make_2.6.6.orig.tar.lzma,  gnustep-make_2.6.6.orig.tar.xz or
> make.orig)
> 
> It's a bit unclear to me why it asks for a tar of the _new_ package. Can
> you help?

Well, to build a package for the new release you need the tarball of
the new upstream release, and it must be named according to what the
error message tells you.
(Unless you're building a "native package" but that's usually not
useful.)
 
> 10) Upload the package:
>   dput ppa:mah-jump-ing/ppa ../${PKG_NAME}*.changes

That's Ubuntu only, obviously.
 

Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Eric Clapton: Lay Down Sally

Attachment: signature.asc
Description: Digital signature


Reply to: