This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygport: user-supplied download action?


Yaakov?  Ping?  Did you have a look into the patch?


Thanks,
Corinna

On May  7 10:49, Corinna Vinschen wrote:
> [...]
> I played with the cvs cygclass and I still have a problem.  The problem
> is that the code expects the checked out CVS module to have the same
> name as ${PN}.  Yes, I can change the CVS_MODULE variable (which is not
> documented, btw), but it doesn't really help.
> 
> 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.
> 
> 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.
> 
> What I'm missing here is a way to rename the checked out directory "src"
> (or whatever it's name is) to ${PN}-${PV}, and then use ${PN}-${PV} in
> the tar call and for the SRC_DIR name as usual for other packages.
> 
> 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@cygwin.com:/cvs/src"
>   CVS_MODULE="winsup"
>   CVS_BRANCH="cygwin-${PV//\./_}-release"
>   CVS_TOPLEVEL="src"
>   inherit cvs
> 
> The patch:
> 
> --- cygclass/cvs.cygclass.ORIG	2012-05-07 10:40:14.961697400 +0200
> +++ cygclass/cvs.cygclass	2012-05-07 10:42:38.240696236 +0200
> @@ -44,10 +44,19 @@
>  # is this truly necessary?
>  CVS_MODULE=${CVS_MODULE:-${ORIG_PN:-${PN}}}
>  
> -cvs_tarball="${CVS_MODULE//\//-}-${PV}.tar.bz2"
> +if defined CVS_TOPLEVEL
> +then
> +	cvs_tarball="${PN}-${PV}.tar.bz2"
> +else
> +	cvs_tarball="${CVS_MODULE//\//-}-${PV}.tar.bz2"
> +fi
>  
>  SRC_URI="${cvs_tarball} "
> -SRC_DIR="${CVS_MODULE}"
> +
> +if ! defined CVS_TOPLEVEL
> +then
> +	SRC_DIR="${CVS_MODULE}"
> +fi
>  
>  cvs_fetch() {
>  	local cvs_branch
> @@ -93,7 +102,13 @@ cvs_fetch() {
>  	cd ${T}
>  	verbose cvs -d ${CVS_URI} checkout ${cvs_branch} ${cvs_date} ${CVS_MODULE}
>  
> -	tar ${_tar_bz2_flag}cf ${top}/${cvs_tarball} --exclude-vcs ${CVS_MODULE}
> +	if defined CVS_TOPLEVEL
> +	then
> +		mv "${CVS_TOPLEVEL}" "${PN}-${PV}"
> +		tar ${_tar_bz2_flag}cf ${top}/${cvs_tarball} --exclude-vcs "${PN}-${PV}"
> +	else
> +		tar ${_tar_bz2_flag}cf ${top}/${cvs_tarball} --exclude-vcs ${CVS_MODULE}
> +	fi
>  }
>  
>  readonly -f cvs_fetch

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]