hello raúl, i'm not a debian developer myself, so i can't help you with uploading, nor should you rely solely on my opinion here, but i hope these comments are helpful both to you and the developer reviewing your package for upload:
* as your upstream tarball contains the whole python-chardet module,
that should be acknowledged in the copyright file; you can quote from
python-chardet's. (whether or not to remove the duplicate data from
the tarball is a question i've yet to get answered for my opencsg
package too; preferably, upstreams would just not do that, but that's
their decision).
* installing by just copying python files to /usr/share/themole is far
from elegant. there is no byte-compilation of files, unless themole
gets invoked by root (which in term is a bad thing itself as
/usr/share gets written to at run time, and it is not cleaned up on
uninstall).
a simple --with python3 after "dh $@" won't do by itself either.
you could add a rather simple setup.py file to make a bunch of
automatisms kick in (or rather not ... until bug #597105 is solved, it
needs some kickstarting, but then it works), but the upstream package
is not really prepared for that, and the installation would behave
badly in some namespaces. ("import exceptions", from any python
module, would import thmeole's exceptions. the main script would still
be called mole.py, and debian doesn't like that.) see the attached
minimal-setuppy.patch, which shows how it's done. (the setup.py is not
a particularly good example of how to write one, just a very simple
one).
the cleaner solution would be to re-organize the source files into a
more pythonic structure as described in [1] together with upstream.
it's basically moving files around, making sure the import statements
still go where they should (as it's python3, you can use relative
imports without worrying about compatibility), and slimming down
mole.py to the bare essentials (imo, it should be no more than
from mole.commandline import run; if __name == "__main__": run()
-- more or less).
.. [1]:
http://as.ynchrono.us/2007/12/filesystem-structure-of-python-project_21.html
* there seems to be a -p option that is not documented in the man page.
* your package is lintian clean. the only complaint on pedantic (!)
level is unversioned-copyright-format-uri for your dep5 format, and
afict there is no consensus yet on how this should be done exactly.
regards
chrysn
--
Beware paths which narrow future possibilities. Such paths divert you
from infinity into lethal traps.
-- Leto Atreides II
diff --git a/debian/control b/debian/control index 6046ead..17fe0a3 100644 --- a/debian/control +++ b/debian/control @@ -2,9 +2,10 @@ Source: themole Section: web Priority: extra Maintainer: Raúl Benencia <[email protected]> -Build-Depends: debhelper (>= 9.0.0) +Build-Depends: debhelper (>= 9.0.0), python3 Standards-Version: 3.9.2 Homepage: http://themole.nasel.com.ar +X-Python-Version: >= 3.0 Package: themole Architecture: all diff --git a/debian/rules b/debian/rules index ed933e6..65dfb5c 100755 --- a/debian/rules +++ b/debian/rules @@ -2,4 +2,12 @@ #export DH_VERBOSE=1 %: - dh $@ + dh $@ --with python3 + +# everything below this line is only required because of 597105 + +override_dh_auto_clean: + python3 setup.py clean -a + +override_dh_auto_install: + python3 setup.py install --force --root=debian/themole --no-compile -O0 --install-layout=deb diff --git a/debian/themole.install b/debian/themole.install deleted file mode 100644 index a4371ef..0000000 --- a/debian/themole.install +++ /dev/null @@ -1,6 +0,0 @@ -*py usr/share/themole/ -dbmsmoles/* usr/share/themole/dbmsmoles/ -htmlfilters/* usr/share/themole/htmlfilters/ -queryfilters/* usr/share/themole/queryfilters - - diff --git a/debian/themole.links b/debian/themole.links deleted file mode 100644 index dd8d35b..0000000 --- a/debian/themole.links +++ /dev/null @@ -1 +0,0 @@ -usr/share/themole/mole.py /usr/bin/themole diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..fb4efc6 --- /dev/null +++ b/setup.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +from distutils.core import setup + +setup( + name='themole', + version='0.2.6', + py_modules=[ + 'commands', + 'completion', + 'connection', + 'datadumper', + 'dbdump', + 'domanalyser', + 'exceptions', + 'filters', + 'injectioninspector', + 'output', + 'themole', + 'threader', + 'xmlexporter', + 'dbmsmoles.dbmsmole', + 'dbmsmoles.mysql', + 'dbmsmoles.oracle', + 'dbmsmoles.postgres', + 'dbmsmoles.sqlserver', + 'htmlfilters.base', + 'htmlfilters.genericfilters', + 'queryfilters.base', + 'queryfilters.genericfilters', + ], + scripts=['mole.py'], + )
signature.asc
Description: Digital signature

