[Pkg-mono-devel] [Pkg-cli-libs-commits] r3766 - in /packages/libanculus-sharp/trunk/debian: ./ changelog compat control copyright installcligac links rules watch

Mirco Bauer meebey at debian.org
Sun Jun 15 17:57:46 UTC 2008


Hi David,

here a review of your imported libanculus-sharp source package.

On Sun, 2008-06-15 at 17:16 +0000, hanska-guest at users.alioth.debian.org 
wrote:
> Added: packages/libanculus-sharp/trunk/debian/control
> URL: http://svn.debian.org/wsvn/pkg-cli-libs/packages/libanculus-sharp/trunk/debian/control?rev=3766&op=file
> ==============================================================================
> --- packages/libanculus-sharp/trunk/debian/control (added)
> +++ packages/libanculus-sharp/trunk/debian/control Sun Jun 15 17:16:52 2008
> @@ -1,0 +1,44 @@
> +Source: libanculus-sharp
> +Section: libs
> +Priority: optional
> +Maintainer: Debian CLI Libraries Team <pkg-cli-libs-team at lists.alioth.debian.org>
> +Uploaders: David Paleino <d.paleino at gmail.com>
> +Build-Depends: debhelper (>= 6)
> +Build-Depends-Indep: cli-common-dev (>= 0.4.4), autoconf, automake,
> + monodoc-base, mono-gac, mono-gmcs, libmono-dev (>= 1.2.3), autotools-dev,
> + libglib2.0-cil (>= 2.8.0), libgtk2.0-cil (>= 2.8.0), libmono-winforms2.0-cil
> +Standards-Version: 3.8.0
> +Homepage: http://libanculus-sharp.googlecode.com/
> +Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/libanculus-sharp/trunk
> +Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/libanculus-sharp/trunk/
> +
> +Package: libanculus0.3.1-cil

This isn't the right package name, the policy says major+minor, not
major+minor+micro.

quote from 3.2.1 of CLI policy: 
"The major and minor number must mirror the SONAME version and the
resulting package name should be libfooX.Y-cil, where X is the major and
Y the minor number."

later

"If the upstream software does not use major and minor number to reflect
ABI stability or breaks ABI with a change in build or revision, the
package must be renamed to either libfooA.B.C-cil or libfooA.B.C.D-cil
(where A, B, C, D are the complete assembly version numbers), depending
at which point (major or minor) where the breakage occurred."

only on ABI brekage x.y.z would be used, as this is the first version in
debian, there can't be any ABI breakage :)

> +Package: libanculus-sharp
> +Architecture: all
> +Depends: libanculus0.3.1-cil
> +Description: dummy transitional package for libanculus0.3.1-cil
> + This is a dummy package, to ease upgrades because of the renaming to
> + libanculus0.3.1-cil.
> + .
> + Once you have libanculus0.3.1-cil installed, you can safely remove
> + this package.
> +

IMHO this transition package is overkill for a library that is not used
by a single package in debian :) (I would drop it)

And where is the monodoc documentation package? Without it you are
pretty clueless when developing an application using that library. As
example check the webkit-sharp source package (its in pkg-cli-lib SVN
repo).

> 
> Added: packages/libanculus-sharp/trunk/debian/copyright
> URL: http://svn.debian.org/wsvn/pkg-cli-libs/packages/libanculus-sharp/trunk/debian/copyright?rev=3766&op=file
> ==============================================================================
> --- packages/libanculus-sharp/trunk/debian/copyright (added)
> +++ packages/libanculus-sharp/trunk/debian/copyright Sun Jun 15 17:16:52 2008
> @@ -1,0 +1,37 @@
> +Source: http://code.google.com/p/libanculus-sharp/downloads/list
> +
> +Files: debian/*
> +Copyright: © 2008, David Paleino <d.paleino at gmail.com>
> +License: GPL-2+
> + This package is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 2 of the License, or
> + (at your option) any later version.
> +
> +Files: *
> +Copyright: © 2006-2008, Ben Motmans <ben.motmans at gmail.com>
> +License: MIT
> + The MIT License
> + .
> + Copyright (c) 2006-2008  Ben Motmans  <ben.motmans at gmail.com>
> + .
> + Permission is hereby granted, free of charge, to any person obtaining a copy
> + of this software and associated documentation files (the "Software"), to deal
> + in the Software without restriction, including without limitation the rights
> + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + copies of the Software, and to permit persons to whom the Software is
> + furnished to do so, subject to the following conditions:
> + .
> + The above copyright notice and this permission notice shall be included in
> + all copies or substantial portions of the Software.
> + .
> + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + THE SOFTWARE.
> +
> +On Debian systems, the complete text of the GNU General
> +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'.

Inconsistency here, above it says GPL-2+ (notice the +), while this
reference is for v2 only.

> 
> Added: packages/libanculus-sharp/trunk/debian/installcligac
> URL: http://svn.debian.org/wsvn/pkg-cli-libs/packages/libanculus-sharp/trunk/debian/installcligac?rev=3766&op=file
> ==============================================================================
> --- packages/libanculus-sharp/trunk/debian/installcligac (added)
> +++ packages/libanculus-sharp/trunk/debian/installcligac Sun Jun 15 17:16:52 2008
> @@ -1,0 +1,3 @@
> +/usr/lib/libanculus-sharp/Anculus.Gui.dll
> +/usr/lib/libanculus-sharp/Anculus.Core.dll
> +/usr/lib/libanculus-sharp/Anculus.Core.Extended.dll
> 

Wrong location, check 3.1.2 of the CLI policy.

> Added: packages/libanculus-sharp/trunk/debian/links
> URL: http://svn.debian.org/wsvn/pkg-cli-libs/packages/libanculus-sharp/trunk/debian/links?rev=3766&op=file
> ==============================================================================
> --- packages/libanculus-sharp/trunk/debian/links (added)
> +++ packages/libanculus-sharp/trunk/debian/links Sun Jun 15 17:16:52 2008
> @@ -1,0 +1,3 @@
> +usr/lib/pkgconfig/anculus-core-extended-0.3.1.pc	/usr/lib/pkgconfig/anculus-core-extended.pc
> +usr/lib/pkgconfig/anculus-core-0.3.1.pc				/usr/lib/pkgconfig/anculus-core.pc
> +usr/lib/pkgconfig/anculus-gui-0.3.1.pc				/usr/lib/pkgconfig/anculus-gui.pc

Same here with the ABI version, see above (only major+minor instead of
major+minor+micro).

> 
> Added: packages/libanculus-sharp/trunk/debian/rules
> URL: http://svn.debian.org/wsvn/pkg-cli-libs/packages/libanculus-sharp/trunk/debian/rules?rev=3766&op=file
> ==============================================================================
> --- packages/libanculus-sharp/trunk/debian/rules (added)
> +++ packages/libanculus-sharp/trunk/debian/rules Sun Jun 15 17:16:52 2008
> @@ -1,0 +1,71 @@
> +#!/usr/bin/make -f
> +# -*- makefile -*-
> +
> +# Uncomment this to turn on verbose mode.
> +#export DH_VERBOSE=1
> +
> +export MONO_SHARED_DIR=$(CURDIR)
> +
> +DEST=$(CURDIR)/debian/libanculus0.3.1-cil/
> +
> +configure: configure-stamp
> +configure-stamp:
> +	dh_testdir
> +	sh $(CURDIR)/autogen.sh --prefix=/usr
> +	touch $@
> +
> +build: build-stamp
> +build-stamp: configure-stamp  
> +	dh_testdir
> +	$(MAKE)
> +	touch $@
> +
> +clean: 
> +	dh_testdir
> +	dh_testroot
> +	rm -f build-stamp configure-stamp
> +
> +	[ ! -f Makefile ] || $(MAKE) distclean
> +	-rm -rf auom4te.cache/
> +	-rm -rf aclocal.m4 configure install-sh missing
> +	find $(CURDIR) -name "Makefile.in" -delete
> +	-rm -rf $(CURDIR)/docs/sources/libanculus-sharp.tree
> +	-rm -rf $(CURDIR)/docs/sources/libanculus-sharp.zip
> +
> +	dh_clean 
> +
> +install: build
> +	dh_testdir
> +	dh_testroot
> +	dh_clean -k 
> +	dh_installdirs
> +
> +	$(MAKE) DESTDIR=$(DEST) install
> +	
> +	find $(CURDIR) -name "*.dll" -exec chmod 644 {} \;

you should use dh_clifixperms instead.

> +	-rm -rf $(DEST)/usr/bin
> +	for i in $(DEST)/usr/lib/pkgconfig/*.pc; \
> +		do mv -- $$i `dirname $$i`/`basename $$i .pc`-0.3.1.pc; \
> +	done
> +
> +binary-arch: build install
> +binary-indep: build install
> +	dh_testdir
> +	dh_testroot
> +	dh_installchangelogs 
> +	dh_installdocs
> +	dh_installman
> +	dh_link
> +	dh_strip
> +	dh_compress
> +	dh_fixperms
> +	dh_installcligac
> +	dh_makeclilibs
> +	dh_clideps
> +	dh_installdeb
> +	dh_gencontrol
> +	dh_md5sums
> +	dh_builddeb
> +
> +binary: binary-indep binary-arch
> +.PHONY: build clean binary-indep binary-arch binary install configure

The debian/rules file would be much shorter and thus simpler and easier
to maintain, if you use dh7 minimalistic style packaging, as example
take a look at webkit-sharp.

-- 
Regards,

Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    meebey at meebey.net  http://www.meebey.net/
PEAR Developer    meebey at php.net     http://pear.php.net/
Debian Developer  meebey at debian.org  http://www.debian.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-mono-devel/attachments/20080615/3b45d5dc/attachment.pgp 


More information about the Pkg-mono-devel mailing list