[Debian-med-packaging] r17340 - trunk/packages/velvet/trunk/debian

Tim Booth tbooth at ceh.ac.uk
Mon Jun 30 10:57:00 UTC 2014


Hi Andreas,

> What do you mean by "VelvetOptimiser should be added to Debian"?  Do you
> have some separate packaging?  I vaguely remember that we discussed this
> previously (to lazy to seek the archive - seems you have better
> information anyway).  If you have some packaging it would be great if
> you could inject this as well into VCS and I'll upload to new.

I did this shortly after pushing the Velvet changes.  I think the
package is close to being fit for Debian.

> Any reason to kick the *.pdf files from the source archive?

Both PDF files rebuild from LaTeX source during the build.

> > +	find -name '._*' -delete
> 
> These files should not be in the uploaded source tarball anyway.  I'd
> recommend just sticking to the source tarball in the Debian archive
for
> md5sum identical source tarballs.
> 

I'm wanting my packages to build from pristine upstream tarballs unless
I absolutely have to repack them.  I know you always want to
scrub/repack the upstream tarball, but I really want to have a source
package that can build the same binary debs from the unmodified
upstream, which is why I leave in the extra rules in dh_clean.  Given
that they are harmless I'm hoping you can leave them in.

Actually, the whole Files-Excluded mechanism seems redundant to me, when
one can simply do:

uscan && uupdate && cd <new pkg dir>
dh_clean
cd ..
tar --exclude=debian -cvaf <pkgname_ver+dfsg.orig.tar.xz> <new pkg dir>

Otherwise, I have to remove the .pdf files under Files-Excluded and then
again under dh_clean because they are rebuilt by dh_auto_build.  Surely
easier to put all cleanup under dh_clean?

> > +	rm -rf data.tar.*
> >  
> > -override_dh_auto_build :
> > +build_long_versions :
> > +	touch zlib
> > +	#Make _long version
> > +	dh_auto_build -- LONGSEQUENCES=Y OPENMP=Y velveth velvetg OPENMP=1 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
> > +	mv velveth velveth_long ; mv velvetg velvetg_long
> > +	#Make _63 kmer version
> > +	dh_auto_build -- MAXKMERLENGTH=63 velveth velvetg OPENMP=1 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
> > +	mv velveth velveth_63 ; mv velvetg velvetg_63
> > +	#And also one with both options
> > +	dh_auto_build -- MAXKMERLENGTH=63 LONGSEQUENCES=Y OPENMP=Y velveth velvetg OPENMP=1 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
> > +	mv velveth velveth_63_long ; mv velvetg velvetg_63_long
> > +
> > +override_dh_auto_build : build_long_versions
> >  	touch zlib # prevents the zlib in the ‘third-party’ folder to be built.
> >  	dh_auto_build -- OPENMP=1 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
> >  	dh_auto_build -- color OPENMP=1 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
> > +	#Pack the examples
> > +	tar -cvaf data.tar.xz data
> 
> Could you please explain the role of this data.tar.xz?

Oops - this should be included in the examples package in place of the
data folder.  I missed that fix out.  In the current package, the files
in this folder get individually auto-gzipped by dh_compress, to make use
of them the user needs to copy the whole directory and then run "gunzip
*".  It makes more sense to me if the user just has to extract a tarball
with the files in, so I think that is what should ship in the package.

> >  override_dh_install :
> > -	mkdir -p $(CURDIR)/debian/$(pkg)/usr/share/man/man1/
> > +	mkdir -p debian/$(pkg)/usr/share/man/man1/
> >  	help2man --no-info --name="simple hashing program" \
> > -	         $(CURDIR)/velveth > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/velveth.1
> > +	         ./velveth > debian/$(pkg)/usr/share/man/man1/velveth.1
> >  	help2man --no-info --name="simple hashing program (colorspace version)" \
> > -	         $(CURDIR)/velveth_de > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/velveth_de.1
> > +	         ./velveth_de > debian/$(pkg)/usr/share/man/man1/velveth_de.1
> >  	help2man --no-info --version-option=" " \
> >  	         --name="de Bruijn graph construction, error removal and repeat resolution" \
> > -	         $(CURDIR)/velvetg > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/velvetg.1
> > +	         ./velvetg > debian/$(pkg)/usr/share/man/man1/velvetg.1
> >  	help2man --no-info --version-option=" " \
> >  	         --name="de Bruijn graph construction, error removal and repeat resolution (colorspace version)" \
> > -	         $(CURDIR)/velvetg_de > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/velvetg_de.1
> > +	         ./velvetg_de > debian/$(pkg)/usr/share/man/man1/velvetg_de.1
> >  	dh_install
> > -	rm -rf $(CURDIR)/debian/$(pkg)/usr/share/velvet/contrib/MetaVelvet-v0.3.1/obj
> >  	# remove extra copies of GPL
> >  	find $(CURDIR)/debian -type f -name 'LICENSE*' -delete
> > +	#MetaVelvet should be scrubbed, and VelvetOptimiser is now separate.  Note that these
> > +	#will not have been installed if this was a binarry-only build.
> > +	[ ! -e debian/velvet-example/usr ] || \
> > +	  rm -r debian/velvet-example/usr/share/doc/velvet/contrib/MetaVelvet*
> 
> May be it is sensible to drop MetaVelvet from the source tarball at all
> and add it to Files-Excluded.  What do you think?

Yes.  Not sure why I ever did it like that.

> > +	[ ! -e debian/velvet-example/usr ] || { \
> > +	  rm -r debian/velvet-example/usr/share/doc/velvet/contrib/VelvetOptimiser* && \
> > +	  cp debian/VelvetOptimiser.README debian/velvet-example/usr/share/doc/velvet/contrib/ \
> > +	; }
> 
> To rephrase my question from the beginning:  Where will this separate
> VelvetOptimiser be?

Patience, Andreas, patience!  I can't type SVN commands as fast as
you! :-)

TIM

-- 
Tim Booth <tbooth at ceh.ac.uk>
NERC Environmental Bioinformatics Centre 

Centre for Ecology and Hydrology
Maclean Bldg, Benson Lane
Crowmarsh Gifford
Wallingford, England
OX10 8BB 

http://nebc.nerc.ac.uk
+44 1491 69 2705



More information about the Debian-med-packaging mailing list