[Debian-med-packaging] r5655 - trunk/packages/biomaj/trunk/debian

Andreas Tille andreas at an3as.eu
Tue Jan 11 16:27:06 UTC 2011


Hi Oliver,

it seems you are proceeding with the packaging which is great.

I have some additional remarks regarding to your commit:

On Tue, Jan 11, 2011 at 03:51:26PM +0000, olivier sallou wrote:
> 
> Added: trunk/packages/biomaj/trunk/debian/biomaj-watcher.README.source
> ===================================================================
> --- trunk/packages/biomaj/trunk/debian/biomaj-watcher.README.source	                        (rev 0)
> +++ trunk/packages/biomaj/trunk/debian/biomaj-watcher.README.source	2011-01-11 15:51:24 UTC (rev 5655)
> @@ -0,0 +1,3 @@
> +The BmajWatcher war application is made with GWT toolkit. Once compiled and war directory is produced, war file must be uploaded on a repository. The generation must be done before package creation, GWT is not executed at package build time nor installation.
> +
> +To recreate the debian package structure, a script biomajwatcher_deb.sh is available in packaging directory in svn structure. It copies necessary files from svn to a debian structure. For BmajWatcher, the war file must have been uploaded to a repository. The scripts define 2 versions for each element (biomaj/bmajwatcher) at the beginning of the file. It must be  updated to the required version prior to execution.

Hmmm, this does sound a bit suspicious to me.  Usually a text which is
intended to give advise how to build a Debian package contains something
like:

   Call dpkg-buildpackage / debuild / pdebuild / ... as you prefer.

I have not checked biomajwatcher_deb.sh to find out what it really does.

What I'm actually missing is some code to fetch the upstream code.  This
can either be done using a debian/watch file as input for uscan or you
might provide a get-orig-source target in debian/rules which fetches the
upstream source tarball.  This would be needed before one of us can check
the packaging.
 
> Property changes on: trunk/packages/biomaj/trunk/debian/biomaj-watcher.config
> ___________________________________________________________________
> Added: svn:executable
>    + *

As Charles previosely pointed out:  The executable flag is only
necessary for debian/rules.  All other files in debian/ directory
do not need (read: for esthetical reasons should not even if there
is no real harm done) to be executable.  I'm not sure whether there
is a more easy way in svn to reset the executable flag rather than
removing and adding the file again.
 
> Added: trunk/packages/biomaj/trunk/debian/biomaj-watcher.templates
> ===================================================================
> --- trunk/packages/biomaj/trunk/debian/biomaj-watcher.templates	                        (rev 0)
> +++ trunk/packages/biomaj/trunk/debian/biomaj-watcher.templates	2011-01-11 15:51:24 UTC (rev 5655)

For consistency reasons I would rename debian/templates to
biomaj.templates to make sure debhelper has good chances to put the
template into the right package.

> Modified: trunk/packages/biomaj/trunk/debian/control
> ===================================================================
> --- trunk/packages/biomaj/trunk/debian/control	2011-01-11 13:38:28 UTC (rev 5654)
> +++ trunk/packages/biomaj/trunk/debian/control	2011-01-11 15:51:24 UTC (rev 5655)
> @@ -21,9 +21,10 @@
>   bioinformaticians. For example, it can transform original fasta files to blast 
>   indexes. It is very flexible and post-processes can be extended very easily.
>  
> -### PLEASE FIXME HERE
>  Package: biomaj-watcher
>  Architecture: all
> -Depends: biomaj
> -Description: <INSERT DESCRIPTION HERE>
> - <INSERT LONG DESCRIPTION HERE>
> +Depends: openjdk-6-jdk, tomcat6, zip, biomaj (>= 1.1), debconf, ${misc:Depends}
> +Description: BioMAJ web interface
> + BioMAJ watcher provide a management interface for the BiomAJ tool.
> + It runs in a web container (tomcat) and is accessible at address:
> + http://myhost:myport/BmajWatcher

That's not a good long description:  It basically consists of advises
how to use the package and not what it really does.  The advises could
be rather putted into debian/biomaj-watcher.README.Debian or raised
in a debconf notice if necessary.

A further advise: I think myport should be defined by the Debian default
tomcat port.  If I'm not totally wrong this was discussed in the OpenMRS
packaging - perhaps you might like to have a look into SVN for this
package.
 
> Modified: trunk/packages/biomaj/trunk/debian/rules
> ===================================================================
> --- trunk/packages/biomaj/trunk/debian/rules	2011-01-11 13:38:28 UTC (rev 5654)
> +++ trunk/packages/biomaj/trunk/debian/rules	2011-01-11 15:51:24 UTC (rev 5655)
> @@ -1,85 +1,99 @@
>  #!/usr/bin/make -f
> -# Partie de debian/rules utilisant debhelper.
> -# GNU copyright 1997-1999 par Joey Hess.
> +# -*- makefile -*-
> +# Sample debian/rules that uses debhelper.
> ...

Thanks for the English translations. :-)

> -binary-indep: build install
> -	# ant -f usr/local/biomaj/build.xml
> -	# Il n'y a rien à faire par défaut
> -	#dh_installdirs /etc/biomaj
> -	#dh_installdirs /var/log/biomaj
> -	#dh_installdirs /usr/local
> -	# DESTDIR Doit Etre Exctement /usr/src/packages/BUILD/debian/<nomDuPaquet>
> -	#dh_install  general.conf.deb /etc/biomaj/general.conf
> -	#dh_install  conf/* /etc/biomaj/
> -	#dh_install   * /usr/local/biomaj/
> -	#dh_link /etc/biomaj/general.conf /usr/local/biomaj/general.conf
> -	dh_installdirs
> -	dh_install
> -	dh_install usr
> -	dh_install var
> -	dh_install etc
> +# Compile here architecture independant files
> +binary-indep: build install  biomaj biomaj-watcher
>  	dh_testdir
>  	dh_testroot
> -	dh_installdebconf
> -	dh_installdocs
> -	dh_installexamples
> -	dh_installmenu
> -#	dh_installlogrotate
> -#	dh_installemacsen
> -#	dh_installpam
> -#	dh_installmime
> -#	dh_installinit
> -	dh_installcron
> -	dh_installman
> -	dh_installinfo
> -#	dh_undocumented
> -	dh_installchangelogs
> -	dh_link
> -	dh_strip
> -	dh_compress
> -	dh_fixperms
> -#	dh_makeshlibs
> -	dh_installdeb
> -#	dh_perl
> -	dh_shlibdeps
> -	dh_gencontrol
> -	dh_md5sums
> -	dh_builddeb
>  
> +biomaj:

Uhm, that's not good.  Why did you replaced

binary-indep: build install

???  There should be no need at all to do this.  You are trying to
circumvent debhelper logic which makes the packaging really hard to
maintain.

> +	dh_installdirs  -p$@
> +	dh_install  -p$@
> +	dh_install -p$@ usr/share/biomaj
> +	dh_install -p$@ usr/share/doc
> +	dh_install -p$@ usr/bin/biomaj
> +	dh_install -p$@ var/lib/biomaj
> +	dh_install -p$@ var/log/biomaj
> +	dh_install -p$@ etc/biomaj

I guess you was trying to force -p<packagename> when changing the
target.

I think you missinterpreted the usage of dh_install.  Please have a look
into other packages in our SVN which are providing install files.  Debhelper
is *very* clever and is doing a lot automatically.  There is never any
need to do such stuff as you are trying here.

I'd recommend you try to provide a means to enable others to download
your upstream source tarball (either via watch file or a get-orig-source
target) to make sure we are working on the same base.  Then I will try
to work on the debian/rules file to avoid those hacks.

Kind regards and thanks for your patience

     Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list