Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
On Mon, Mar 19, 2007 at 06:07:56PM +1100, Ben Finney wrote: > Howdy all, > > I'm attempting to package a Python package according to the > python-central instructions > http://python-modules.alioth.debian.org/python-central_howto.txt>. When > building the package, I get the following output: > > = > [...] > dh_pycentral > dh_link > dh_strip > dh_compress > dh_fixperms > dh_installdeb > dh_shlibdeps > dh_gencontrol > dpkg-gencontrol: warning: unknown substitution variable ${python:Depends} > dh_md5sums > dh_builddeb > = > > This is referring to the debian/control Depends field: > > Depends: ${python:Depends} > > Earlier, I had > > Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends} > > and 'dpkg-gencontrol' complained about every one of those. > > Searching for information about this, I've seen references to > 'packagename.substvars' that should be created during package > building. What is it that should be creating these? A missing 'dh_foo' > command? you should use dh_pythonsupport (from python-support). (or dh_pycentral from python-central). python-support comes with a very friendly documentation in /usr/share/doc/python-support/README.Debian to help you through python packaging. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgptc4dXk9fnl.pgp Description: PGP signature
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
On Mon, 19 Mar 2007, Ben Finney wrote: > Searching for information about this, I've seen references to > 'packagename.substvars' that should be created during package > building. What is it that should be creating these? A missing 'dh_foo' > command? dh_pycentral should do it for you... what's the content of the package ? If it uses private modules, you should indicate the directory where they are stored as parameter to dh_pycentral. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Ben Finney wrote: > This is referring to the debian/control Depends field: > > Depends: ${python:Depends} > > Earlier, I had > > Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends} By removing misc:Depends, you are simply potentially shooting yourself in the foot. Debhelper could need to add a dependency via misc:Depends at some point in the future, and the only way you'll find out about it is if you notice it in the changelog. If you keep misc:Depends in the control file, debhelper will automatically do the right thing in the future. > and 'dpkg-gencontrol' complained about every one of those. This is a misfeature of dpkg-gencontrol. -- see shy jo signature.asc Description: Digital signature
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Raphael Hertzog <[EMAIL PROTECTED]> writes: > On Mon, 19 Mar 2007, Ben Finney wrote: > > [dpkg-gencontrol complains about unknown substitution variables] > > dh_pycentral should do it for you... I am using dh_pycentral (as noted in my original message). Or do you mean that, since I'm using dh_pycentral, I should not use dh_gencontrol? > what's the content of the package ? > > If it uses private modules, you should indicate the directory where > they are stored as parameter to dh_pycentral. What are "private modules"? I've never heard that term used in Python. -- \ "I think there is a world market for maybe five computers." -- | `\ Thomas Watson, chairman of IBM, 1943 | _o__) | Ben Finney -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Joey Hess <[EMAIL PROTECTED]> writes: > Ben Finney wrote: > > Earlier, I had > > Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends} > > By removing misc:Depends, you are simply potentially shooting > yourself in the foot. Fair enough. > > and 'dpkg-gencontrol' complained about every one of those. > > This is a misfeature of dpkg-gencontrol. Is 'dh_gencontrol' not useful then? If not, why is it in the boilerplate created by 'dh_make'? If it is useful, what am I doing differently that it triggering its misfeatures? -- \ "My theory of evolution is that Darwin was adopted." -- Steven | `\Wright | _o__) | Ben Finney -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Hi, On Tue, 20 Mar 2007, Ben Finney wrote: > Raphael Hertzog <[EMAIL PROTECTED]> writes: > > > On Mon, 19 Mar 2007, Ben Finney wrote: > > > [dpkg-gencontrol complains about unknown substitution variables] > > > > dh_pycentral should do it for you... > > I am using dh_pycentral (as noted in my original message). > > Or do you mean that, since I'm using dh_pycentral, I should not use > dh_gencontrol? No I didn't mean that, I just told that dh_pycentral is supposed to create the substvar for you but since it doesn't I need you to answer this question: > > what's the content of the package ? Because the substvar are generated based on what python scripts and python modules are found and where they are located... try running the build with DH_VERBOSE=1 to have more info about what dh_pycentral finds. Otherwise please put up the package online somewhere so that we can check what's wrong... > > If it uses private modules, you should indicate the directory where > > they are stored as parameter to dh_pycentral. > > What are "private modules"? I've never heard that term used in Python. Python modules (or extensions) installed in a non-public/standard directory. Check http://wiki.debian.org/DebianPython/NewPolicy Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
On Tue, 20 Mar 2007, Ben Finney wrote: > > > and 'dpkg-gencontrol' complained about every one of those. > > > > This is a misfeature of dpkg-gencontrol. > > Is 'dh_gencontrol' not useful then? If not, why is it in the > boilerplate created by 'dh_make'? If it is useful, what am I doing > differently that it triggering its misfeatures? Please read man dh_gencontrol... of course that it's still required. A debian package without a control file is not a Debian package. dpkg-gencontrol spits outs useless warnings but the work done is still essential to the creation of a Debian package. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Raphael Hertzog <[EMAIL PROTECTED]> writes: > No I didn't mean that, I just told that dh_pycentral is supposed to > create the substvar for you but since it doesn't I need you to > answer this question: > > > what's the content of the package ? Pure Python modules, which should be installed to the system site-packages for use by the application. > Because the substvar are generated based on what python scripts and > python modules are found and where they are located... try running > the build with DH_VERBOSE=1 to have more info about what > dh_pycentral finds. = ... dh_pycentral List of versions supported according to XS-Python-Version: 2.4 2.5 2.6 100.0 Pyversions field: 2.4- "pycentral debhelper gracie debian/gracie" Pyversions analysis gives: min=2.4, max= (2.4 2.5 2.6) (grep -s -v python:Versions debian/gracie.substvars; echo python:Versions=\>=2.4) > debian/gracie.substvars.new mv debian/gracie.substvars.new debian/gracie.substvars dh_link ... = > Otherwise please put up the package online somewhere so that we can > check what's wrong... You can now get it (across my slow link) with Bazaar: $ bzr branch http://vcs.whitetree.org/bzr/public/gracie/gracie.debian/ > Python modules (or extensions) installed in a non-public/standard > directory. I haven't specified any special locations for modules; I'm attempting to package a single pure-Python egg, to be installed in the standard location. -- \"None can love freedom heartily, but good men; the rest love | `\not freedom, but license." -- John Milton | _o__) | Ben Finney -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
On Tue, 20 Mar 2007, Ben Finney wrote: > > > > what's the content of the package ? > > Pure Python modules, which should be installed to the system > site-packages for use by the application. No the package doesn't contain that, only those files: drwxr-xr-x root/root 0 2007-03-19 23:31 ./ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/bin/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/sbin/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/share/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/share/doc/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./usr/share/doc/gracie/ -rw-r--r-- root/root 1152 2007-03-19 23:27 ./usr/share/doc/gracie/copyright -rw-r--r-- root/root 157 2007-03-19 23:27 ./usr/share/doc/gracie/changelog.Debian.gz drwxr-xr-x root/root 0 2007-03-19 23:31 ./var/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./var/lib/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./var/lib/gracie/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./etc/ drwxr-xr-x root/root 0 2007-03-19 23:31 ./etc/default/ -rw-r--r-- root/root 232 2007-03-19 23:27 ./etc/default/gracie drwxr-xr-x root/root 0 2007-03-19 23:31 ./etc/init.d/ -rwxr-xr-x root/root 1474 2007-03-19 23:27 ./etc/init.d/gracie drwxr-xr-x root/root 0 2007-03-19 23:31 ./etc/pam.d/ -rw-r--r-- root/root 181 2007-03-19 23:27 ./etc/pam.d/gracie That's because you're calling "dh_clean -k" which removes what has been installed... Here's a minimal diff of changes: === modified file 'debian/control' --- debian/control 2007-03-19 06:22:59 + +++ debian/control 2007-03-19 22:29:46 + @@ -2,7 +2,7 @@ Section: web Priority: extra Maintainer: Ben Finney <[EMAIL PROTECTED]> -Build-Depends: debhelper (>= 5.0.38), +Build-Depends: debhelper (>= 5.0.38), docbook-to-man, python-all-dev (>= 2.3.5-11), python-central (>= 0.5.6), python-setuptools (>= 0.6b3-1) === modified file 'debian/rules' --- debian/rules2007-03-19 06:44:04 + +++ debian/rules2007-03-19 22:37:56 + @@ -46,7 +46,6 @@ install: build ${PYVERS:%=install-python%} dh_testdir dh_testroot - dh_clean -k dh_installdirs dh_installinit dh_installpam But there's more to clean in that package. It's arch: all and should not be built with all python versions like you're doing. Thus there's no need to build-depend on python-all-dev but only python-dev, etc. There's a bashishm in debian/rules: mv debian/${PACKAGE_NAME}/usr/lib/python$*/site-packages/${MODULE_NAME}{-${DEB_UPSTREAM_VERSION}-py$*,}.egg-info Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Thanks for your suggestions. Raphael Hertzog <[EMAIL PROTECTED]> writes: > [package contains only files from the debian/ directory] > > That's because you're calling "dh_clean -k" [at the start of the > 'install' rule] which removes what has been installed... Strange. That's another one placed in debian/rules by 'dh_make'. Under what circumstances would that be a good thing to do at the start of the 'install' rule? > Here's a minimal diff of changes: > === modified file 'debian/control' > ... > -Build-Depends: debhelper (>= 5.0.38), > +Build-Depends: debhelper (>= 5.0.38), docbook-to-man, Done. > === modified file 'debian/rules' > ... > install: build ${PYVERS:%=install-python%} > dh_testdir > dh_testroot > - dh_clean -k > dh_installdirs > dh_installinit > dh_installpam I've now moved 'dh_clean -k' to the end of the 'binary' rule. > There's a bashishm in debian/rules: > mv > debian/${PACKAGE_NAME}/usr/lib/python$*/site-packages/${MODULE_NAME}{-${DEB_UPSTREAM_VERSION}-py$*,}.egg-info That was my optimisation. Fixed now. > But there's more to clean in that package. It's arch: all and should > not be built with all python versions like you're doing. Thus > there's no need to build-depend on python-all-dev but only > python-dev, etc. I admit to being confused between the recipes for building a Python package for 'arch: any' and 'arch: all'. You're saying I need to make this change: -Build-Depends: python-all-dev +Build-Depends: python-dev What other changes do I need to make for an 'arch: all' Python package? -- \"When you go in for a job interview, I think a good thing to | `\ ask is if they ever press charges." -- Jack Handey | _o__) | Ben Finney -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Le lundi 19 mars 2007 à 23:44 +0100, Raphael Hertzog a écrit : > === modified file 'debian/rules' > --- debian/rules2007-03-19 06:44:04 + > +++ debian/rules2007-03-19 22:37:56 + > @@ -46,7 +46,6 @@ > install: build ${PYVERS:%=install-python%} > dh_testdir > dh_testroot > - dh_clean -k > dh_installdirs > dh_installinit > dh_installpam Nope, dh_clean -k is fine. It's just that installation should start after calling it, not in the build target. -- .''`. : :' : We are debian.org. Lower your prices, surrender your code. `. `' We will add your hardware and software distinctiveness to `-our own. Resistance is futile. signature.asc Description: Ceci est une partie de message numériquement signée
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
Josselin Mouette <[EMAIL PROTECTED]> writes: > Le lundi 19 mars 2007 à 23:44 +0100, Raphael Hertzog a écrit : > > === modified file 'debian/rules' > > --- debian/rules2007-03-19 06:44:04 + > > +++ debian/rules2007-03-19 22:37:56 + > > @@ -46,7 +46,6 @@ > > install: build ${PYVERS:%=install-python%} > > dh_testdir > > dh_testroot > > - dh_clean -k > > dh_installdirs > > dh_installinit > > dh_installpam > > Nope, dh_clean -k is fine. It's just that installation should start > after calling it, not in the build target. Isn't that what is shown above (before the patch removes the line)? After moving 'dh_clean -k' from the 'install' target to the 'binary' target, the package now builds properly for me (AFAICT). Where are you saying that line should be moved to? -- \ "Some mornings, it's just not worth chewing through the leather | `\ straps." -- Emo Philips | _o__) | Ben Finney -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: dpkg-gencontrol: warning: unknown substitution variable ${python:Depends}
On Tue, 20 Mar 2007, Josselin Mouette wrote: > Le lundi 19 mars 2007 à 23:44 +0100, Raphael Hertzog a écrit : > > === modified file 'debian/rules' > > --- debian/rules2007-03-19 06:44:04 + > > +++ debian/rules2007-03-19 22:37:56 + > > @@ -46,7 +46,6 @@ > > install: build ${PYVERS:%=install-python%} > > dh_testdir > > dh_testroot > > - dh_clean -k > > dh_installdirs > > dh_installinit > > dh_installpam > > Nope, dh_clean -k is fine. It's just that installation should start > after calling it, not in the build target. Installation currently happens in "install-pythonX.Y" which is called before the "install" target since it's a dependency. Thus dh_clean -k removes what's installed. Since the package is "arch: all" the python setup.py call should simply be placed in the install target and the targets install-pythonX.Y should be removed. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]