Re: build package xrayutilities - wheel and pip with setuptools
Hello, just for info. I can confirm that the probleme was in the upstream build system, which was not compatible with the setuptools > 60. After patching the build system, I can confirm that without any change to the rules files. It works out of the box. So there is no issue in pybuild :)), or at least nothing new :) cheers Frederic
Re: build package xrayutilities - wheel and pip with setuptools
Hi Fred, Hi all other DD, I am the upstream author of pyFAI and fabio, I wish to thank you for taking care of the packaging of those software. I am aware there is an issue with the usage of those software since they use numpy.distutils (deprecated, to be removed in python3.12 and requires setuptools<60). I am working on a different packaging which uses meson-python (same as scipy>=1.9). The migration of fabio is more-or-less ready (see this branch: https://github.com/kif/fabio/tree/meson) and I am just waiting for a new release of meson-python (0.11) to make a new release (without setup.py). Unlike fabio which is ready for release, pyFAI will be released either in December or early next year. On the debian side, I don't know how far is the integration of meson-python ? https://salsa.debian.org/python-team/packages/meson-python To me, it is of crucial importance if one wants an updated version of scipy to be available in debian12. Fabio and pyFAI will follow without foreseeable issue. I am interested in the way the man-page should be produced since this will have to be redone in both those packages. Any advice on this is welcome. Best regards, -- Jérôme Kieffer tel +33 476 882 445
Re: build package xrayutilities - wheel and pip with setuptools
The upstream was right :), their build system is completly broken with setuptools > 60 I need to fix this. thanks for your help Fred Traceback (most recent call last): File "/<>/setup.py", line 1137, in setup_package() File "/<>/setup.py", line 1133, in setup_package setup(**setup_kwargs) File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 87, in setup return distutils.core.setup(**attrs) File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 172, in setup ok = dist.parse_command_line() File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 474, in parse_command_line args = self._parse_command_opts(parser, args) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1107, in _parse_command_opts nargs = _Distribution._parse_command_opts(self, parser, args) File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 540, in _parse_command_opts raise DistutilsClassError( distutils.errors.DistutilsClassError: command class must subclass Command E: pybuild pybuild:379: clean: plugin distutils failed with: exit code=1: python3.10 setup.py clean dh_auto_clean: error: pybuild --clean -i python{version} -p 3.10 returned exit code 13 make: *** [debian/rules:16: clean] Error 25 dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2 - Mail d’origine - De: PICCA Frederic-Emmanuel <frederic-emmanuel.pi...@synchrotron-soleil.fr> À: Scott Kitterman <deb...@kitterman.com> Cc: debian-python@lists.debian.org Envoyé: Wed, 02 Nov 2022 09:03:45 +0100 (CET) Objet: Re: build package xrayutilities - wheel and pip with setuptools Ok, I understand better what is going on. in pyproject.toml there is these lines. [build-system] requires = [ "wheel", "setuptools<60.0.0", "oldest-supported-numpy", "scipy", "sphinx", "nbsphinx", "silx>=0.10", "Cython>=0.25" ] indeed the setuptools < 60, can not be fullfill, So I think that this is why it try to use pip in order to install the required version of setuptools. the strack trace seems to config this. dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild install -d /<<BUILDDIR>>/pyfai-0.21.3\+dfsg1/debian/.debhelper/generated/_source/home pybuild --clean -i python{version} -p 3.10 I: pybuild base:240: python3.10 setup.py clean /<<PKGBUILDDIR>>/setup.py:43: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives from distutils.command.clean import clean as Clean /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:18: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils. warnings.warn( /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils. warnings.warn("Setuptools is replacing distutils.") INFO: Disabling color, you really want to install colorlog. INFO:pythran:Disabling color, you really want to install colorlog. INFO:pyFAI.setup:Use setuptools with cython INFO:pyFAI.setup:Use setuptools.setup /usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer. warnings.warn( /usr/lib/python3/dist-packages/setuptools/installer.py:60: UserWarning: Unbuilt egg for pyFAI [unknown version] (/<<PKGBUILDDIR>>) environment = pkg_resources.Environment() WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fbbf0c8ae60>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fbbf0c8ad40>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=N
Re: build package xrayutilities - wheel and pip with setuptools
Ok, I understand better what is going on. in pyproject.toml there is these lines. [build-system] requires = [ "wheel", "setuptools<60.0.0", "oldest-supported-numpy", "scipy", "sphinx", "nbsphinx", "silx>=0.10", "Cython>=0.25" ] indeed the setuptools < 60, can not be fullfill, So I think that this is why it try to use pip in order to install the required version of setuptools. the strack trace seems to config this. dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild install -d /<>/pyfai-0.21.3\+dfsg1/debian/.debhelper/generated/_source/home pybuild --clean -i python{version} -p 3.10 I: pybuild base:240: python3.10 setup.py clean /<>/setup.py:43: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives from distutils.command.clean import clean as Clean /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:18: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils. warnings.warn( /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils. warnings.warn("Setuptools is replacing distutils.") INFO: Disabling color, you really want to install colorlog. INFO:pythran:Disabling color, you really want to install colorlog. INFO:pyFAI.setup:Use setuptools with cython INFO:pyFAI.setup:Use setuptools.setup /usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer. warnings.warn( /usr/lib/python3/dist-packages/setuptools/installer.py:60: UserWarning: Unbuilt egg for pyFAI [unknown version] (/<>) environment = pkg_resources.Environment() WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools<60.0.0 (from versions: none) ERROR: No matching distribution found for setuptools<60.0.0 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 82, in fetch_build_egg subprocess.check_call(cmd) File "/usr/lib/python3.10/subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/python3.10', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpmx8yh9o_', '--quiet', 'setuptools<60.0.0']' returned non-zero exit status 1. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/<>/setup.py", line 1137, in setup_package() File "/<>/setup.py", line 1133, in setup_package setup(**setup_kwargs) File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 86, in setup _install_setup_requires(attrs) File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 80, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 875, in fetch_build_eggs resolved_dists = pkg_resources.working_set.resolve( File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 789, in resolve dist = best[req.key] = env.best_match( File "/usr/lib/py
Re: build package xrayutilities - wheel and pip with setuptools
Hello, I juste added PYBUILD_SYSTEM=distutils so now pybuild use the setup.py file. (at least this is a workaround :). now it failes with this error /usr/bin/python3.10: No module named pip so I am wondering if pip should not be added to the setuptools dependency ? I will add mannualy pip in the B-D and see if it works at the end. Cheers Fred dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild install -d /<>/pyfai-0.21.3\+dfsg1/debian/.debhelper/generated/_source/home pybuild --clean -i python{version} -p 3.10 I: pybuild base:240: python3.10 setup.py clean /<>/setup.py:43: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives from distutils.command.clean import clean as Clean /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:18: UserWarning: Distutils was imported before Setuptools, but importing Setuptools also replaces the `distutils` module in `sys.modules`. This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed in the traditional way (e.g. not an editable install), and/or make sure that setuptools is always imported before distutils. warnings.warn( /usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils. warnings.warn("Setuptools is replacing distutils.") INFO: Disabling color, you really want to install colorlog. INFO:pythran:Disabling color, you really want to install colorlog. INFO:pyFAI.setup:Use setuptools with cython INFO:pyFAI.setup:Use setuptools.setup /usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer. warnings.warn( /usr/lib/python3/dist-packages/setuptools/installer.py:34: UserWarning: Unbuilt egg for pyFAI [unknown version] (/<>) pkg_resources.get_distribution('wheel') WARNING: The wheel package is not available. /usr/lib/python3/dist-packages/setuptools/installer.py:60: UserWarning: Unbuilt egg for pyFAI [unknown version] (/<>) environment = pkg_resources.Environment() /usr/bin/python3.10: No module named pip Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 82, in fetch_build_egg subprocess.check_call(cmd) File "/usr/lib/python3.10/subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/python3.10', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmppdpybvy1', '--quiet', 'setuptools<60.0.0']' returned non-zero exit status 1. - Mail d’origine ----- De: Scott Kitterman <deb...@kitterman.com> À: debian-python@lists.debian.org Envoyé: Tue, 01 Nov 2022 20:36:20 +0100 (CET) Objet: Re: build package xrayutilities - wheel and pip with setuptools On Tuesday, November 1, 2022 3:31:47 PM EDT PICCA Frederic-Emmanuel wrote: > > I don't think it should do that, so we need to investigate. Where > > can I find the updated packaging? > > I did not push the change right now, I will push once I solve this issue :). > > my opinion is that I should force via PYBUILD_SYSTEM=distutils > > Fred If that works, I think it's fine, but I don't think it should be necessary. Let me know once you push the package and I'll see if there's a pybuild issue. Scott K
Re: build package xrayutilities - wheel and pip with setuptools
> I don't think it should do that, so we need to investigate. Where can I > find > the updated packaging? I did not push the change right now, I will push once I solve this issue :). my opinion is that I should force via PYBUILD_SYSTEM=distutils Fred
Re: build package xrayutilities - wheel and pip with setuptools
On Tuesday, November 1, 2022 3:31:47 PM EDT PICCA Frederic-Emmanuel wrote: > > I don't think it should do that, so we need to investigate. Where > > can I find the updated packaging? > > I did not push the change right now, I will push once I solve this issue :). > > my opinion is that I should force via PYBUILD_SYSTEM=distutils > > Fred If that works, I think it's fine, but I don't think it should be necessary. Let me know once you push the package and I'll see if there's a pybuild issue. Scott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
>It looks to me like the current pyproject.toml file for pyfai is not >sufficient > to build the package, so I would tempted to keep what you have now. Due to the presence of this file, pybuild try to build using the "new way" instead of building with setup.py. I do not know if other package are in this state, but if produce an FTBFS. Cheers
Re: build package xrayutilities - wheel and pip with setuptools
On Tuesday, November 1, 2022 3:02:00 PM EDT PICCA Frederic-Emmanuel wrote: > >It looks to me like the current pyproject.toml file for pyfai is not > >sufficient> > > to build the package, so I would tempted to keep what you have now. > > Due to the presence of this file, pybuild try to build using the "new way" > instead of building with setup.py. > > I do not know if other package are in this state, but if produce an FTBFS. > > Cheers I don't think it should do that, so we need to investigate. Where can I find the updated packaging? Scott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
> As far as I can see, the package doesn't ship any files in /usr/bin. > Why do > you need to build man pages (I'm assuming that's what that's > for? More > generically, what problem did that step in the process solve that's not > solved > now? this is for the pyfai package which I need to update https://salsa.debian.org/science-team/pyfai
Re: build package xrayutilities - wheel and pip with setuptools
On Tuesday, November 1, 2022 2:48:12 PM EDT Scott Kitterman wrote: > On Tuesday, November 1, 2022 2:42:22 PM EDT PICCA Frederic-Emmanuel wrote: > > > As far as I can see, the package doesn't ship any files in > > > /usr/bin. > > > Why do you need to build man pages (I'm assuming that's what > > > that's for? More generically, what problem did that step in the > > > process solve that's not solved now? > > > > this is for the pyfai package which I need to update > > > > https://salsa.debian.org/science-team/pyfai > > I see. I was confused by the subject saying this was about xrayutilities > still. I'll have a look. > > Scott K It looks to me like the current pyproject.toml file for pyfai is not sufficient to build the package, so I would tempted to keep what you have now. For another package (weasyprint) where I have to build the man page from Sphinx documentation myself, I use this to build it: override_dh_installman: PYTHONPATH=.:$PYTHONPATH sphinx-build -b man docs debian dh_installman Then weasyprint.manpages has: debian/weasyprint.1 Their build_man command has a lot of moving parts, so pyfai may br more complicated. AScott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
On Tuesday, November 1, 2022 2:42:22 PM EDT PICCA Frederic-Emmanuel wrote: > > As far as I can see, the package doesn't ship any files in /usr/bin. > > Why do you need to build man pages (I'm assuming that's what > > that's for? More generically, what problem did that step in the > > process solve that's not solved now? > > this is for the pyfai package which I need to update > > https://salsa.debian.org/science-team/pyfai I see. I was confused by the subject saying this was about xrayutilities still. I'll have a look. Scott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
On Tuesday, November 1, 2022 11:15:59 AM EDT PICCA Frederic-Emmanuel wrote: > thanks for your help. > > I have one more question > > I have this command from the previous build > > {interpreter} setup.py build_man > > how can I translate this with the new build systeme ? As far as I can see, the package doesn't ship any files in /usr/bin. Why do you need to build man pages (I'm assuming that's what that's for? More generically, what problem did that step in the process solve that's not solved now? Scott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
thanks for your help. I have one more question I have this command from the previous build {interpreter} setup.py build_man how can I translate this with the new build systeme ?
Re: build package xrayutilities - wheel and pip with setuptools
On Monday, October 31, 2022 1:26:03 PM EDT Carsten Schoenert wrote: > Hello Frederic, > > Am 31.10.22 um 08:57 schrieb PICCA Frederic-Emmanuel: > >> I can build the package basically doing these modifications and by > >> adding the additional B-D package Scott did mention. Simply let > >> dh_sphinxdoc build the documentation and adding the additional needed > >> package dependencies. > > > > [your patch] > > > > In your proposition you removed the arch/indep split, is it on purpose ? > > yes, building the Sphinx based documentation doesn't need to be done > that (to me fragile) way. debhelper is smart enough to do the right > things in the correct order if you tell it to use the sphinxdoc module. Agreed. More generally, use of setup.py is being deprecated in favor of the pyproject.toml based interface with the various Python build systems (including setuptools). The approach Carsten is recommending is recommending is not only more robust, it is more future proof. At some point your upstream will probably stop including the setup.py and you don't want to depend on it if you don't need to (and you don't). Scott K signature.asc Description: This is a digitally signed message part.
Re: build package xrayutilities - wheel and pip with setuptools
Hello Frederic, Am 31.10.22 um 08:57 schrieb PICCA Frederic-Emmanuel: I can build the package basically doing these modifications and by adding the additional B-D package Scott did mention. Simply let dh_sphinxdoc build the documentation and adding the additional needed package dependencies. [your patch] In your proposition you removed the arch/indep split, is it on purpose ? yes, building the Sphinx based documentation doesn't need to be done that (to me fragile) way. debhelper is smart enough to do the right things in the correct order if you tell it to use the sphinxdoc module. -- Regards Carsten
Re: build package xrayutilities - wheel and pip with setuptools
> Hello Frederic, Hello Carsten > please could you provide next time direct links to the VCS/Tracker of > your package, that prevents time to search for the correct package on my > or others people side. Also a speaking subject content is helping me to > decide if I want to spend time on taking a look, you've choose a very > generic line. :-) ack > https://tracker.debian.org/pkg/xrayutilities > https://salsa.debian.org/science-team/python-xrayutilities > No as you have overwritten the default target by a call that is quite > similar to the original pybuild call. > Yes, the environment isn't the same for the second call, you'd need > to > ensure that the build directory is clean before starting the second run. > But I don't see why this construct you've build in d/rules is > needed > that way. ok > I can build the package basically doing these modifications and by > adding the additional B-D package Scott did mention. Simply let > dh_sphinxdoc build the documentation and adding the additional needed > package dependencies. [your patch] In your proposition you removed the arch/indep split, is it on purpose ? > lintian has some additional remarks any way, I haven't looked further at > these. ok Cheers Fred
Re: build package xrayutilities - wheel and pip with setuptools
Hello Frederic, please could you provide next time direct links to the VCS/Tracker of your package, that prevents time to search for the correct package on my or others people side. Also a speaking subject content is helping me to decide if I want to spend time on taking a look, you've choose a very generic line. :-) https://tracker.debian.org/pkg/xrayutilities https://salsa.debian.org/science-team/python-xrayutilities Am 30.10.22 um 01:08 schrieb picca: Le 2022-10-30 00:39, Scott Kitterman a écrit : Adding pybuild-plugin-pyproject to build-depends should solve it. It looks like it is trying to do the new pyproject.toml style build without all the necessary parts in place. the package contain a pyproject.toml file and a setup.py one. the build system in the pyproject file is setuptools. [build-system] requires = ["setuptools", "wheel", "numpy"] build-backend = "setuptools.build_meta" So I imagine that under the hood it use the setup.py file. No as you have overwritten the default target by a call that is quite similar to the original pybuild call. now it fails with this error message adding 'xrayutilities-1.7.3.dist-info/top_level.txt' adding 'xrayutilities-1.7.3.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel * Building wheel... Successfully built xrayutilities-1.7.3-cp310-cp310-linux_x86_64.whl I: pybuild plugin_pyproject:118: Unpacking wheel built for python3.10 with "installer" module E: pybuild pybuild:379: build: plugin pyproject failed with: File already exists: /<>/.pybuild/cpython3_3.10_xrayutilities/build/xrayutilities/VERSION dh_auto_build: error: pybuild --build -i python{version} -p 3.10 returned exit code 13 make[1]: *** [debian/rules:20: override_dh_auto_build-arch] Error 25 this failure seems to come from the indep part %: dh $@ --buildsystem=pybuild execute_after_dh_auto_clean: rm -rf build override_dh_auto_build-arch: dh_auto_build override_dh_auto_build-indep: override_dh_auto_build-arch ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS))) dh_auto_build -- -s custom --build-args="env PYTHONPATH={build_dir} {interpreter} setup.py build_doc" endif since I make the indep part depends on the arch one, it build the package a second time. and this is during this second reconstruction that it failes. it seems that the arch rules does not gard from a second build, and it is not indepotent... Yes, the environment isn't the same for the second call, you'd need to ensure that the build directory is clean before starting the second run. But I don't see why this construct you've build in d/rules is needed that way. I can build the package basically doing these modifications and by adding the additional B-D package Scott did mention. Simply let dh_sphinxdoc build the documentation and adding the additional needed package dependencies. $ git diff diff --git a/debian/control b/debian/control index 4a702ea..1b746a3 100644 --- a/debian/control +++ b/debian/control @@ -10,9 +10,9 @@ Section: science Priority: optional Build-Depends: debhelper-compat (= 13), - dh-python, dh-sequence-numpy3, dh-sequence-python3, + pybuild-plugin-pyproject, python3-all-dev, python3-h5py, python3-lmfit, diff --git a/debian/rules b/debian/rules index 54c4cb0..089385d 100755 --- a/debian/rules +++ b/debian/rules @@ -4,6 +4,7 @@ # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS=hardening=+all +export DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH) # copy the tests to the build dir to be able to pass nose export PYBUILD_NAME=xrayutilities @@ -11,18 +12,13 @@ export PYBUILD_BEFORE_TEST=cp -r tests {build_dir}; cp -r examples {build_dir}; export PYBUILD_AFTER_TEST=rm -rf {build_dir}/tests; rm -rf {build_dir}/xrayutilities/materials/data; rm -rf {build_dir}/examples %: - dh $@ --buildsystem=pybuild + dh $@ --with sphinxdoc --buildsystem=pybuild -execute_after_dh_auto_clean: - rm -rf build - -override_dh_auto_build-arch: - dh_auto_build - -override_dh_auto_build-indep: override_dh_auto_build-arch +override_dh_sphinxdoc: ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS))) - dh_auto_build -- -s custom --build-args="env PYTHONPATH={build_dir} {interpreter} setup.py build_doc" + PYTHONPATH=. python3 -m sphinx -b html -N doc/source $(CURDIR)/debian/python-xrayutilities-doc/usr/share/doc/python-xrayutilities-doc/html + dh_sphinxdoc endif -execute_after_dh_installdocs: - dh_installdocs -p python-xrayutilities-doc build/sphinx/html +execute_after_dh_auto_clean: + rm -rf build lintian has some additional remarks any way, I haven't looked further at these. -- Regards Carsten