Hello, I moved my package pykcs11 [1] from dh_pycentral to dh_python2. The conversion was easy. The version in unstable uses dh_python2.
I also wanted to move my debian/rules file from the "heavy" version [2] to the minimal version using: #!/usr/bin/make -f %: dh $@ --with python2 But I now get a warning and an error (complete log attached): [...] dh_python2 W: dh_python2:94: Python 2.6 should install files in /usr/lib/python2.6/dist-packages/. Did you forget "--install-layout=deb"? E: dh_python2:146: you most probably have to build extension for python2.5. make: *** [binary] Error 12 My package provides a binary extension so must be compiled for each supported Python versions: 2.5 and 2.6 as of now. My debian/control file [3] is: Source: pykcs11 Priority: optional Maintainer: Ludovic Rousseau <rouss...@debian.org> Uploaders: Debian Python Modules Team <python-modules-t...@lists.alioth.debian.org>, David Smith <davidsm...@acm.org> Build-Depends: debhelper (>= 7.0.0), swig, python-all-dev (>= 2.6.6-3) Standards-Version: 3.9.1 Section: python Vcs-Svn: svn://svn.debian.org/python-modules/packages/pykcs11/trunk Vcs-Browser: http://svn.debian.org/viewsvn/python-modules/packages/pykcs11/trunk/ Homepage: http://www.bit4id.org/trac/pykcs11/ Package: python-pykcs11 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Description: PKCS#11 wrapper for Python PyKCS11 let you access to almost all PKCS#11 functions and data types using any PKCS#11 library, such as the various modules supplied by smartcard vendors. . The wrapper comes with 2 interfaces: a low level and very thin interface over the original PKCS#11 API, generated using the SWIG compiler (designed for library tests); and an high level interface that offers a simpler access (with few limits) to the PKCS#11 APIs. Is there an easy way to build for 2 versions of Python using dh? Should I just care about the latest python 2.x version since we should only have one python 2.x version in wheezy (2.7)? I tried to change: Build-Depends: [...], python-all-dev (>= 2.6.6-3) to Build-Depends: [...], python-dev (>= 2.6.6-3) but I still have the same error. I even tried to remove python2.5 but still the same error :-( Any idea? Thanks [1] http://packages.debian.org/sid/python-pykcs11 [2] http://svn.debian.org/viewsvn/python-modules/packages/pykcs11/trunk/debian/rules?view=markup [3] http://svn.debian.org/viewsvn/python-modules/packages/pykcs11/trunk/debian/control?view=markup -- Dr. Ludovic Rousseau
origDir: ../../tarballs Complete layout information: buildArea=/home/rousseau/Sources/Debian/SVN/pykcs11/build-area origDir=../../tarballs tagsDir=/home/rousseau/Sources/Debian/SVN/pykcs11/tags tagsUrl=svn+ssh://svn.debian.org/svn/python-modules/packages/pykcs11/tags trunkDir=/home/rousseau/Sources/Debian/SVN/pykcs11/trunk trunkUrl=svn+ssh://svn.debian.org/svn/python-modules/packages/pykcs11/trunk dpkg-checkbuilddeps UNRELEASED tag found - you don't want to release with it, do you? /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3 exists, renaming to /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3.obsolete.0.654689672011049 mergeWithUpstream mode detected, looking for ../../tarballs/pykcs11_1.2.3.orig.tar.gz I: mergeWithUpstream property set, looking for upstream source tarball... tar --no-same-owner --no-same-permissions --extract --gzip --file /home/rousseau/Sources/Debian/SVN/tarballs/pykcs11_1.2.3.orig.tar.gz --directory /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/tmp-0.210841780386062 mv /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/tmp-0.210841780386062/PyKCS11-1.2.3 /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3 svn --force export /home/rousseau/Sources/Debian/SVN/pykcs11/trunk /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3 Export complete. rm -rf /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/tmp-0.210841780386062 chmod -R u+r+w+X,g+r-w+X,o+r-w+X -- /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3 dpkg-buildpackage -rfakeroot dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: source package pykcs11 dpkg-buildpackage: source version 1.2.3-4 dpkg-buildpackage: source changed by Ludovic Rousseau <rouss...@debian.org> dpkg-source --before-build pykcs11-1.2.3 dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean dh clean --with python2 dh_testdir dh_auto_clean make[1]: Entering directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' python setup.py clean running clean rm -f src/unix_pykcs11_wrap.cpp rm -rf build rm -f *.pyc PyKCS11/*.pyc rm -f PyKCS11/LowLevel.py rm -f build-stamp make[1]: Leaving directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' dh_clean dpkg-source -b pykcs11-1.2.3 dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building pykcs11 using existing ./pykcs11_1.2.3.orig.tar.gz dpkg-source: warning: ignoring deletion of file src/unix_pykcs11_wrap.cpp dpkg-source: warning: ignoring deletion of file PyKCS11/LowLevel.py dpkg-source: info: building pykcs11 in pykcs11_1.2.3-4.debian.tar.gz dpkg-source: info: building pykcs11 in pykcs11_1.2.3-4.dsc debian/rules build dh build --with python2 dh_testdir dh_auto_configure dh_auto_build make[1]: Entering directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' touch src/pykcs11.i cd src ; swig -c++ -python pykcs11.i ; mv pykcs11_wrap.cxx unix_pykcs11_wrap.cpp ; mv LowLevel.py ../PyKCS11 python setup.py build running build running build_py creating build creating build/lib.linux-x86_64-2.6 creating build/lib.linux-x86_64-2.6/PyKCS11 copying PyKCS11/__init__.py -> build/lib.linux-x86_64-2.6/PyKCS11 copying PyKCS11/LowLevel.py -> build/lib.linux-x86_64-2.6/PyKCS11 running build_ext building 'PyKCS11._LowLevel' extension creating build/temp.linux-x86_64-2.6 creating build/temp.linux-x86_64-2.6/src gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/ck_attribute_smart.cpp -o build/temp.linux-x86_64-2.6/src/ck_attribute_smart.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/pkcs11lib.cpp -o build/temp.linux-x86_64-2.6/src/pkcs11lib.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/pykcs11string.cpp -o build/temp.linux-x86_64-2.6/src/pykcs11string.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/utility.cpp -o build/temp.linux-x86_64-2.6/src/utility.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/pykcs11.cpp -o build/temp.linux-x86_64-2.6/src/pykcs11.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/dyn_unix.c -o build/temp.linux-x86_64-2.6/src/dyn_unix.o gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -Isrc -I/usr/local/include -I/usr/include/python2.6 -c src/unix_pykcs11_wrap.cpp -o build/temp.linux-x86_64-2.6/src/unix_pykcs11_wrap.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -O2 build/temp.linux-x86_64-2.6/src/ck_attribute_smart.o build/temp.linux-x86_64-2.6/src/pkcs11lib.o build/temp.linux-x86_64-2.6/src/pykcs11string.o build/temp.linux-x86_64-2.6/src/utility.o build/temp.linux-x86_64-2.6/src/pykcs11.o build/temp.linux-x86_64-2.6/src/dyn_unix.o build/temp.linux-x86_64-2.6/src/unix_pykcs11_wrap.o -L/usr/local/lib -lpython2.6 -o build/lib.linux-x86_64-2.6/PyKCS11/_LowLevel.so touch build-stamp make[1]: Leaving directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' dh_auto_test fakeroot debian/rules binary dh binary --with python2 dh_testroot dh_prep dh_installdirs dh_auto_install make[1]: Entering directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' python setup.py install --prefix=/usr --root=/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11 running install running build running build_py running build_ext running install_lib creating /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr creating /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib creating /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6 creating /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages creating /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11 copying build/lib.linux-x86_64-2.6/PyKCS11/_LowLevel.so -> /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11 copying build/lib.linux-x86_64-2.6/PyKCS11/__init__.py -> /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11 copying build/lib.linux-x86_64-2.6/PyKCS11/LowLevel.py -> /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11 byte-compiling /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11/__init__.py to __init__.pyc byte-compiling /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11/LowLevel.py to LowLevel.pyc running install_egg_info Writing /home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3/debian/python-pykcs11/usr/lib/python2.6/site-packages/PyKCS11-1.2.3-py2.6.egg-info make[1]: Leaving directory `/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3' dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installcatalogs dh_installcron dh_installdebconf dh_installemacsen dh_installifupdown dh_installinfo dh_installinit dh_installmenu dh_installmime dh_installmodules dh_installlogcheck dh_installlogrotate dh_installpam dh_installppp dh_installudev dh_installwm dh_installxfonts dh_bugfiles dh_lintian dh_gconf dh_icons dh_perl dh_python2 W: dh_python2:94: Python 2.6 should install files in /usr/lib/python2.6/dist-packages/. Did you forget "--install-layout=deb"? E: dh_python2:146: you most probably have to build extension for python2.5. make: *** [binary] Error 12 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 Command 'dpkg-buildpackage -rfakeroot' failed in '/home/rousseau/Sources/Debian/SVN/pykcs11/build-area/pykcs11-1.2.3', how to continue now? [Qri?]: Aborting.