cygport: user-supplied download action?

Corinna Vinschen corinna-cygwin@cygwin.com
Fri May 11 07:51:00 GMT 2012


On May 10 21:55, Yaakov (Cygwin/X) wrote:
> On 2012-05-07 03:49, Corinna Vinschen wrote:
> >Consider I would like to convert the cygwin package to cygport packed.
> >So I create a tag and then...
> >
> >   CVS_URI=":pserver:anoncvs@cygwin.com:/cvs/src"
> >   CVS_MODULE="winsup"
> >   CVS_BRANCH="cygwin-${PV//\./_}-release"
> >   inherit cvs
> >
> >`cygport fetch' fails, because it expects that the unpacked directory
> >is called ${CVS_MODULE}.  But in fact, the source code dir fetched
> >from sourceware is called "src".  "winsup" is just a subdirectory.
> >So the call
> >
> >   tar cf [...] ${CVS_MODULE}
> >
> >doesn't work.
> 
> Right; sourceware.org:/cvs/src is funny that way.  AFAIK it is the
> only time I have seen that with CVS, but do other exceptions exist?

My first version of this patch defined a new variable "CVS_SOURCEWARE"
rather than "CVS_TOPLEVEL", but then it occured to me that you have
potentially the same problem in all CVS repos which are a merge of a
couple of projects in a single tree.  The fact that the CVS_MODULE name
is not the same as the project name in our case is an additional
complication, but this was no problem before.  This is only a problem if
you try to create a packaging tool like cygport, which tries to cover a
lot of upstream situations in a generic way.

> >Using the `cvs checkout -d' option doesn't work either here.  It's not
> >working as one expects it, and the additional -N option makes it only
> >marginally better.
> 
> So I noticed. :-(  Is that a bug or am I misreading the manual?

Did you read the description for the checkout -d option in cvs.info?  To
understand it, you have to read it at least twice, then sleep over it,
and the read it again.  Take it with a strong coffee.  I'm still puzzled
that there's no easy way to just rename the toplevel dir.

> >Here's a suggestion for a patch which allows to do exactly that.  Before
> >calling "inherit cvs", just set a variable $CVS_TOPLEVEL to the name of
> >the toplevel directory of the repository you're trying to fetch from:
> >
> >   CVS_URI=":pserver:anoncvs-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org:/cvs/src"
> >   CVS_MODULE="winsup"
> >   CVS_BRANCH="cygwin-${PV//\./_}-release"
> >   CVS_TOPLEVEL="src"
> >   inherit cvs
> 
> Did I mention that if we wouldn't have this problem if we used git? :-)

You'd still have other projects using CVS or SVN or whatever...

> GTG now but this is in my queue.

Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-apps mailing list