[Pkg-mono-devel] Qyoto [packaging review]

Mirco Bauer meebey at debian.org
Wed Oct 10 18:09:33 UTC 2007


Hi Jonathan,

On Wed, 2007-10-10 at 16:12 +0100, Jonathan Riddell wrote:
> I've packaged Qyoto, the C# Qt bindings, for Kubuntu.  I hope this
> will also be useful to Debian.  Not having any previous C# packaging
> experience I'd welcome any feedback from someone who is more
> familiar.  The draft Debian CLI policy was very useful.

btw, the Debian CLI Policy is official by now [0], it only still says
draft on the webpage because nothing changed in the policy since then :)

> 
> https://launchpad.net/ubuntu/+source/qyoto

Here some comments about the packaging....

Build-Deps:
look ok, besides unversioned cli-common-dev (without version you also
get warnings from dh_clideps and dh_makeclilib), as older versions are
known to have critical bugs, so please version it (currenty its >=
0.4.4)

Package naming:
qyoto seems to be the project name, while the library is actually called
qt-dotnet.dll as it's a CLI binding for QT. We prefere to name the
package like the native library it binds.
For example GTK# (gtk-sharp) binds GTK+, GTK+ package name is
libgtk2.0-0, GTK# package name is libgtk2.0-cil, same with Glade, ATK,
etc. If you expect that qyoto will never be the official QT binding for
the CLI platform and official bindings probably will be created, then it
might be better to not use the package name of the original library it
binds.

Package description:
Using Mono/.NET to refere to the CLI implementations is alright, MS .NET
would be a bit clearer though. But "Mono C# CLI" is confusing, does it
target Mono, C# or CLI? all 3 very different things.
Best is to use "XXX bindings for CLI" or "CLI bindings for XXX" and then
in the long description: "Can be used with all CLI languages (C#, Boo,
VB.NET, etc)"
Also it would be nice if the package description could say which
parts/libs of QT are supported. Or is QT just a single monolithic lib?

Package dependencies:
Look all good (using shlibs and clilibs variables) except the manually
deps on libqyoto1.0-cil, I doubt the tools neither the examples (source
code), uses the library. (if they would, dh_clideps would pick it up)

debian/rules:
+	# fix permissions on DLLs for lintian 
+	cd $(CURDIR)/debian && find . -type f -name "*.dll" -or -name "*.cs" |
xargs chmod -x

that can by replaced with calling dh_clifixperms

libqyoto.so:
If that library is just "glue code" to bind the QT lib without any
useful C or C++ API for external applications, then that library should
go in /usr/lib/cli/qyoto-1.0/ instead of /usr/lib/

missing pkg-config file:
A pkg-config file is not required but recommended by the policy (section
3.2.4).
The Mono compiler (mcs and gmcs) have extra support for easy compiling
C# applications, e.g. "mcs -pkg:gtk-sharp-2.0 foobar.cs" instead of "mcs
-r:/usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll". C# applications can be
either compiled the cross-platform "nant way" or the Mono way (-pkg),
also applications like MonoDevelop make use of pkg-config files.

+	gacutil -i obj-*-linux-gnu/lib/qt-dotnet.dll -package qyoto -root
$(DEB_DESTDIR)/usr/
+

Not sure why you install manually the lib into the mono specific GAC, to
later not ship that file in the package but using the "late-GAC-install"
feature of dh_installcligac.
Just copy the lib into the /usr/lib/cli directory directly.

Joined packaging effort:
It would be nice if you could maintain the qyoto packages in Debian
within the Debian Mono Group. We didn't consider to package qyoto as
nobody in the group has the required QT knowledge.
We are hanging around #debian-mono on OFTC if you are interested.

Beside all my pickyness: Nice work!

> 
> Jonathan

-- 
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: 481 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-kde-talk/attachments/20071010/8a865f8f/attachment.pgp 


More information about the pkg-kde-talk mailing list