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

Re: Beginners packaging example from Debian Med sprint: pscoils



Le Fri, Feb 10, 2012 at 03:00:35PM +0100, Andreas Tille a écrit :
> 
> > 2. then download it with
> > debcheckout ssh://svn.debian.org/debian-med/trunk/packages/pscoils/trunk
> > pscoils
> 
> Hmmmm, you are right that this is written in our policy and I checked and
> failed.  The correct string is:
> 
>    debcheckout svn+ssh://svn.debian.org/svn/debian-med/trunk/packages/pscoils
>                ^^^^                     ^^^^
> 
> Charles, I guess the ssh in front is just a typo and I can replace it by
> "svn+ssh".  I really wonder about the "svn/" before debian-med.  I
> remember clearly that you changed this at some point in time and I asked
> you about this explicitely and you answered that this should never have
> been there.  However, I just found out that it is actually necessary!

Hello everybody,

our Subversion and Git repositories are hosted on a machine called
vasks.debian.org, and svn.debian.org or git.debian.org are DNS names pointing
to the same IP address.

In this machine, the repsitories are stored in /srv/svn.debian.org/svn/ and
/srv/git.debian.org/git/, and convenience symbolic links are provided, /svn and
/git respectively.  Whenever we make direct file access by SSH to these
repositories, we therefore need the to provide a file path that includes "svn"
or "git".

The anonymous access, on the other hand, is done through a machine called
wagner.debian.org, and anonscm.debian.org is a DNS name pointing to the same
IP address.  On top of this, if a HTTP request for svn.debian.org
or git.debian.org (vasks.debian.org), it looks like it is redirected to
wagner.debian.org, but I have not figured out the mechanism for this.

HTTP and anonymous access to the repositories does not rely on direct file
access via SSH, so the URLs do not need to contain a real file path.
Therefore, the /git or /svn component is omitted; the type of repository is
anyway indicated elsewhere in the URL.  To avoid problems when one forgets to
shorten the path, there are convenience symbolic links like /git/git pointing
to /git.

All of this is not so simple, but this is where debcheckout helps.  It has
a --user option that will translate an anonymous URL in a SSH URL:

  $ debcheckout --user plessy -d svn://svn.debian.org/debian-med/trunk/packages/pscoils/trunk
  type	svn
  url	svn+ssh://plessy@svn.debian.org/svn/debian-med/trunk/packages/pscoils/trunk

This is why I recommend debcheckout in our group policy.

  http://debian-med.alioth.debian.org/docs/policy.html#source

Have a nice week-end,

-- 
Charles Plessy
Debian Med packaging team,
http://www.debian.org/devel/debian-med
Tsurumi, Kanagawa, Japan


Reply to: