Bug#701137: pybuild using skip-build=1 for distutils breaks distutils-extra i18n
On Fri, Feb 22, 2013 at 09:52:38AM +0100, Piotr Ożarowski wrote: > > So it seems to me that passing 'skip-build=1' by default is an interface > > change that should be reverted, to maximize compatibility with existing > > build > > systems. > You do realize it's a bug in distutils/setuptools/distribute and not in > pybuild, right? No, I don't realize that all. Distutils etc. may not be well designed, but the bug here is that pybuild is passing a non-default option that's incompatible with existing uses. I don't see how that's a distutils problem. OTOH, I also don't know why pybuild is passing skip-build=1, except as an optimization? > All I can do is to add yet another workaround (.pydistutils.cfg one is > already a dirty hack). I'm not sure if I want to, I'd rather suggest you > to add to debian/rules: > export PYBUILD_INSTALL_ARGS=build > or use PYBUILD_BEFORE_INSTALL / --before-install > Do you know how many packages it affects? Maybe it's worth making the > build longer if that's what many upstream authors rely on (I wouldn't be > surprised to be honest - distutils is a mess) There are 39 packages in unstable that build-depend on python-distutils-extra, and it looks like about half of them use build_i18n. The build_icons and build_help classes are also affected. So depending on why skip-build=1 is being set, it's possible that it's not worth pybuild being compatible out-of-the-box with distutils-extra. But it would be nice if the universal python builder could handle this case. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developerhttp://www.debian.org/ slanga...@ubuntu.com vor...@debian.org signature.asc Description: Digital signature
Bug#701137: pybuild using skip-build=1 for distutils breaks distutils-extra i18n
[Steve Langasek, 2013-02-22] > Package: python3 > Version: 3.3.0-2 > Severity: normal > > pybuild's distutils support assembles a .pydistutils.cfg that includes the > following: > > [install] > {...} > skip-build=1 > > This is incompatible with build_i18n from distutils-extras, which relies on > being called from the install target in order to extend the data_files list: > > data_files = self.distribution.data_files > [...] > for po_file in glob.glob("%s/*.po" % self.po_dir): > [...] > data_files.append((targetpath, (mo_file,))) > > This doesn't work when build_i18n is never called from the install target - > as is the case when skip-build=1 is passed. > > So it seems to me that passing 'skip-build=1' by default is an interface > change that should be reverted, to maximize compatibility with existing build > systems. You do realize it's a bug in distutils/setuptools/distribute and not in pybuild, right? All I can do is to add yet another workaround (.pydistutils.cfg one is already a dirty hack). I'm not sure if I want to, I'd rather suggest you to add to debian/rules: export PYBUILD_INSTALL_ARGS=build or use PYBUILD_BEFORE_INSTALL / --before-install Do you know how many packages it affects? Maybe it's worth making the build longer if that's what many upstream authors rely on (I wouldn't be surprised to be honest - distutils is a mess) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#701137: pybuild using skip-build=1 for distutils breaks distutils-extra i18n
Package: python3 Version: 3.3.0-2 Severity: normal pybuild's distutils support assembles a .pydistutils.cfg that includes the following: [install] {...} skip-build=1 This is incompatible with build_i18n from distutils-extras, which relies on being called from the install target in order to extend the data_files list: data_files = self.distribution.data_files [...] for po_file in glob.glob("%s/*.po" % self.po_dir): [...] data_files.append((targetpath, (mo_file,))) This doesn't work when build_i18n is never called from the install target - as is the case when skip-build=1 is passed. So it seems to me that passing 'skip-build=1' by default is an interface change that should be reverted, to maximize compatibility with existing build systems. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org