Re: Python applications: private dirs and PYTHONPATH issue
Hi Piotr,
On Wed, Sep 10, 2014 at 04:03:40PM +0200, Piotr Ożarowski wrote:
>
> if you install your script to the same directory as the application¹ then
> all you need is `dh_link /usr/bin/foo /usr/share/pkgname/foo` in
> debian/rules or adequate line in debian/pkgname.links file.
> No need to write wrappers that set PYTHONPATH, etc.
>
> [¹] pybuild exmaple:
> export PYBUILD_INSTALL_ARGS=--install-lib=/usr/share/pkgname/ --install-scripts=/usr/share/pkgname
If I try this
$ svn diff
Index: rules
===================================================================
--- rules (Revision 17978)
+++ rules (Arbeitskopie)
@@ -8,14 +8,16 @@
DEBPKGNAME := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2}')
+export PYBUILD_INSTALL_ARGS=--install-lib=/usr/share/dicompyler/ --install-scripts=/usr/share/dicompyler
+
%:
dh $@ --with python2 --buildsystem=pybuild
override_dh_install:
- mkdir -p debian/$(DEBPKGNAME)/usr/share/$(DEBPKGNAME)
- mv debian/$(DEBPKGNAME)/usr/lib/python*/dist-packages/$(DEBPKGNAME) debian/$(DEBPKGNAME)/usr/share/$(DEBPKGNAME)
+# mkdir -p debian/$(DEBPKGNAME)/usr/share/$(DEBPKGNAME)
+# mv debian/$(DEBPKGNAME)/usr/lib/python*/dist-packages/$(DEBPKGNAME) debian/$(DEBPKGNAME)/usr/share/$(DEBPKGNAME)
dh_install
- rm -rf debian/$(DEBPKGNAME)/usr/lib
+# rm -rf debian/$(DEBPKGNAME)/usr/lib
I get:
...
Copying dicompyler.egg-info to /tmp/buildd/dicompyler-0.4.2/debian/dicompyler/usr/share/dicompyler/dicompyler-0.4.2.egg-info
running install_scripts
Installing dicompyler script to /tmp/buildd/dicompyler-0.4.2/debian/dicompyler/usr/share/dicompyler
error: [Errno 21] Is a directory: '/tmp/buildd/dicompyler-0.4.2/debian/dicompyler/usr/share/dicompyler/dicompyler'
E: pybuild pybuild:256: install: plugin distutils failed with: exit code=1: /usr/bin/python setup.py install --root /tmp/buildd/dicompyler-0.4.2/debian/dicompyler --install-lib=/usr/share/dicompyler/ --install-scripts=/usr/share/dicompyler
dh_auto_install: pybuild --install -i python{version} -p 2.7 --dir . --dest-dir /tmp/buildd/dicompyler-0.4.2/debian/dicompyler returned exit code 13
debian/rules:14: recipe for target 'binary' failed
make: *** [binary] Error 13
I have tried this before but due to this failure I decided for manual
moving. Is this a bug in pybuild or did I simply something wrong?
I can confirm that linking the app works if (and only if) I put the
modules into /usr/share/dicompyler/dicompyler (as can be seen in current
SVN).
Kind regards
Andreas.
--
http://fam-tille.de
Reply to: