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

Re: [MoM] Packaging fis-get

Hi Luis,

at first: thanks for your detailed response and your honest try to
follow my advises.  I'm quite happy that my MoM effort seems to have
quite a good start.

On Fri, Jan 20, 2012 at 06:20:35PM -0500, Luis Ibanez wrote:
> I'm echoing below all the things that I'm doing as I follow
> your instructions. I'm hoping that this is aligned with your
> MoM goal of improving a training path for new packagers.

> > > About section 4, my IRC id is :  luisibanez
> >
> > OK.  In what time zone are you living?
> I'm in New York timezone.
> Will send you email first if we ever need to do IRC.

Yep, that's helpful.
> My suggestion for your next steps would be the following.
> >
> >   1. Check out SVN (as described above and please make sure you use
> >      svn+ssh - in case this will not work see the links for ssh tips
> >      in our policy document)
> Doing:
>     svn co svn+ssh://svn.debian.org/svn/debian-med/
> gave me:
>      svn: Network connection closed unexpectedly
> while, doing:
>      svn co svn://svn.debian.org/svn/debian-med/
> (so, without ssh) actually did a normal checkout.
> I'm guessing that for "svn+ssh" to work I should provide
> my SSH public key to be placed somewhere in the server
> side...   is that right ?
> My search for the policy document led me to:
>    http://www.debian.org/doc/debian-policy/
> and also to installing the "debian-policy" package as:
>         sudo apt-get install debian-policy
> then to find the documents under
>         /usr/share/doc/debian-policy
> normal grepping there,
> didn't return hits for "ssh" or "svn".


Great you found one of the important and general documents.  I'm sorry
that I missed to add the link to the Debian *Med* Pilicy document in my
initial mail - now I added it just to a "helpful links" section on the
MoM Wiki page.  Please read


and put it under your pillow.  The paragraph "SSH tips" ends with a link
to an article which explains the issue you described above (feel free to
come back asking here again if this does not help).  BTW, I think we had
only one single exception when a newcomer did not stumbled upon this very
problem ...
> I'm probably missing something obvious here...

Well, actually I was missing the proper link in my advise.
>   2. cd fis-gtm/fis-gtm-server/trunk
> uscan --force-download
> make: uscan: Command not found
> make: *** [get-orig-source] Error 127
> Used apt-file to find that "uscan"
> is in the "devscripts" package:
>               sudo apt-file find uscan

Cool you are using the same search strategy as I wanted to suggest ...
> then installed the "devscripts" package with:
>             sudo apt-get install devscripts

This package is the friend of any Debian developer.
> uscan --force-download
> fis-gtm-server: Version (54002B) available on remote site:
> http://qa.debian.org/watch/sf.php/fis-gtm/gtm_V54002B_linux_i686_src.tar.gz
>   (local version is 54002A)
> fis-gtm-server: Successfully downloaded updated package
> gtm_V54002B_linux_i686_src.tar.gz
>     and symlinked fis-gtm-server_54002B.orig.tar.gz to it

And there is even a newer version that we worked on ...

> >   4. tar -xzf *.orig.tar.gz
> >
> The files turned out to be placed
> one directory above "trunk" in:
>       debian-med/trunk/packages/fis-gtm/fis-gtm-server
> Doing "ls -l" at that level showed :
>  fis-gtm-server_54002B.orig.tar.gz -> gtm_V54002B_linux_i686_src.tar.gz
>  gtm_V54002B_linux_i686_src.tar.gz
>  tags
>  trunk
> In this directory, then I did:
>               tar -xzf *.orig.tar.gz
> it went smoothly and produced:
> sr_i386
> sr_linux
> sr_port
> sr_port_cm
> sr_unix
> sr_unix_cm
> sr_unix_gnp
> sr_unix_nsb
> sr_x86_64
> sr_x86_regs
> tags
> trunk

Uhmm, perhaps I should have checked this first what you get.  Fis-gtm is
coming from uspstream in a what we call "dirty archive".  It does not
unpack in a single target directory but rather in your current path.
This causes trouble and should be avoided upstream.  I have not checked
whether recent dpkg-buildpackage can cope with this when manually
unpacking into a separate directory (I think I remember vaguely that
this might work - probably yes because Thorsten Alteholz did not take
any means to work around this).  We are now in the comfortable situation
that we have you as upstream here in the boat.  So I would like you to
talk to those poeple who are responsible to release the distribution
tarball and ask them to unpack the tarball to some directory, say


and not straigt into the current working directory. 

Because I want to stick to my mentoring role I'd like to give an
additional hint:  If I see a situation where I have a technical question
like "How to handle a dirty tarball that unpacks to current working
directory?" I would ask the mailing list debian-mentors@lists.debian.org
where you usually get good advise what to do.  But in our current
situation we do not need to answer this question immediately (see

> Google led me to this document:
> http://debianpaket.de/svn-buildpackage/index.html
> (put this path on hold, since it
>  requires concentrated reading..)

Right, you need some time until you get everything by heart.
> >   B) Simply
> >        cp -a debian <source_directory>
> >        cd <source_directory>
> >        debuild
> >
> In path (B),
> being in the directory
>    debian-med/trunk/packages/fis-gtm/fis-gtm-server/trunk
> did the commands:
>     cp -a debian gtmsource
>     cd gtmsource/
>     debuild
> and got back the message:
> debuild: found debian/changelog for package fis-gtm-server in the directory
>   /tmp/debian-med/trunk/packages/fis-gtm/fis-gtm-server/trunk
> but this directory name does not match the package name according to the
> regex  PACKAGE(-.+)?.
> To run debuild on this package, see the --check-dirname-level and
> --check-dirname-regex options; run debuild --help for more info.

Well, I think I started at an uninformed state when I gave my advise.  I
now tried to do the very same as you and I unpacked to a clean directory,
copied the debian/ dir into it and tried:

fis-gtm-server_54002B$ debuild
 dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package fis-gtm-server
dpkg-buildpackage: source version 54002A-1
dpkg-buildpackage: source changed by Thorsten Alteholz <debian@alteholz.de>
 dpkg-source --before-build fis-gtm-server_54002B
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libgpgme11-dev fis-gtm-initial
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.

This shows two things:  I'm missing on my box the package libgpgme11-dev
which could be easily installed.  However, the package fis-gtm-initial
should be installed as well and you guess that this package can not yet
be easily installed. :-) 

So sorry for missguiding you in the first place - we need to start with
this first.  I now checked what Thorsten did.  When doing so I realised
that it was a bit outdated.  Due to changes on our main developmet
server we larned that the way we specified the fields Vcs-Svn and
Vcs-Browser not correctly (Debian Med policy now fiyxed but it was
recommending a wrong spelling).  So I fixed this and I also added the
deep link fis-gtm-initial-i386 to guide directly to our packaging for
fis-gtm-initial.  This package should be now in our focus because we at
first need to bootstrap GT.M (well, you have choosen a complex package
for the beginning - if you manage this one you can do probably 99.9% of
all Debian packages. ;-))
If you look at the svn log of the commited revision 9356 I not only
changed the file debian/control but also debian/changelog.  For not yet
uploaded packages this is ... how to say ... voluntary.  Usually the
first upload of a Debian package has only one entry saying "Initial
upload".  However, there is no reason not to specify what we changed and
for the purpose of MoM I decided to be pretty verbose to guide you
patiently as promised.

When you edit debian changelog the best thing you can do is to move
do the directory below the debian/ dir (where you could type
`edit debian/changelog`).  There you do

    dch        (or debchange - dch is the shortcut for lazy people)

This brings up your $EDITOR setting the date properly and will even
inject a new section for *your* changelog entries - quite practical
if you ask me.  Moreover some syntax checking is done after editing.
If you want to inject a new upstream version you do

    dch -i

which is what I actually did for the new upstream version.

Please also notice the target distribution field which I setted to
"UNRELEASED" (also for the previous version).  This is described in
Debian Med policy and tells other people of the team that this is work
in progress.  (You sometimes find bad examples in our SVN where people
just set "unstable" which is the distribution the upload is finally
targeting to - we want to do proper work and use UNRELEASED, right.)

> Both should lead you to a Debian package.
> not quite there yet...
> but getting closer.

Coming back to my previous advise.  Please replace in my advise "server"
by "initial" and try again.  Please pay specifiv attention to the script
debian/get-orig-source.  You can read more about its purpose in our
policy document.  It is a work around dirty tarballs and in this case
specifically reflects the extraordinary complexity of the fis-gtm case.
I have to admit that we do *not* have a typical package, but anyway we
should try to fight our way.
> So to summarize:
> 1) I need to learn how to use "svn+ssh://..."

Hope my hints are sufficient - just keep on asking if not.

> 2) I need to read fully the policy document
>     http://www.debian.org/doc/debian-policy/
>     (do I got the right document ?)

Answered above.
> 3) I have to read the instructions on
>             svn-buildpackage
>      to learn about path (A).
>      Is this below, the right document ?:
>      http://debianpaket.de/svn-buildpackage/index.html

I hope so.  As I said I'm no svn-buildpackage expert.  You might like to
ask separate specific questions here on the Debian Med list.
> 4)  I can use advice on what went wrong
>      when attempting path (B).

Wrong package - my fault.
> I'll do (2) and (3) as homework.

Thanks Luis for your work.  I really have to admit that I'm very happy
how you were dealing with your first tasks.  You did not gave up on the
first steps (ssh) but went over to other tasks fighting hard against my
incomplete advises.  I'm really happy that we startet MoM and I'm quite
positive that it will be work and fun at the same time - which finally
is the good thing in Free Software.

Hope my explanations bring you a bit foreward and looking foreward for
your response about new success and failure stories.

Kind regards



Reply to: