Hi Erik! On Tue, May 23, 2017 at 10:13:13AM +0200, Erik Lundin wrote: > Hello, > > [...] > > I have made necessary changes for building the package using QMake, and now > would like to contribute them back to the community. However, I'm new when > it comes to Debian packaging, so please help me with the following: > > *Qt 4 vs Qt 5 versions of installed files* > Compatibility between the packages for Qt 4 and Qt 5 has to be handled, i.e. > the new package should not just install files with the same names as the > previous packages. Since Qt 4 is abandoned upstream, I changed the packaging > scripts to only build for Qt 5 and changed the names to > "libpythonqt-qt5-3.1" and "libpythonqt-qt5-dev". However, the installed > files still have the same names as the files of the previous packages (at > least the dev package, which has files installed in /usr/include/PythonQt). > Possible solutions to the dev package problem: > > * Install header files to /usr/include/PythonQt5 or some other Qt 5 specific > folder. > * Install header files to /usr/include/PythonQt and let libpythonqt-qt5-dev > conflict libpythonqt-dev so only one of them can be installed at a time. > * Install header files to /usr/include/PythonQt and only use the name > libpythonqt-dev (no Qt 5 in the name). The policy manual, section 8.4, > suggests that this is a possibility if you only want to support one > development version at a time.
The current Qt 4 package has no reverse dependencies, so you can safely drop it and replace with the Qt 5 package. I would prefer to avoid conflict, so please use /usr/include/PythonQt5. > *Library files* > The library files have different names, because of the new version > (libPythonQt.so.3.1.0 vs libPythonQt.so.3.0.0), but would it be wise to > rename the Qt 5 library to libPythonQt5.so.3.1.0 or something similarly, > just to clearly indicate the difference? Since Qt 4 is abandoned upstream, I > don't expect any Qt 4 packages with version 3.1.0 of the so files. The > policy manual, section 8.1, says that "the package should install the shared > libraries under their normal names". I think it is better to use original upstream sonames, for compatibility with third-party applications built against upstream versions. The Debian package name should usually be based only on the major part of soname, but as there is a clear ABI break here for Qt 5 switch, I think you may keep the current naming scheme and name the package libpythonqt3.1. > The previous package libpythonqt3.0 creates the symlink libPythonQt.so.3.0 > -> libPythonQt.so.3.0.0 but not libPythonQt.so.3 -> libPythonQt.so.3.0.0. > Should this file be skipped also in the Qt 5 case? The symlink > libPythonQt.so is created by the dev package, which is fine if the second or > third solution to the dev package problem above is selected. I do not know why .so.3 should be skipped, I would add it. > *PythonQt_QtAll* > Previous packages built using CMake were configured to wrap the extension > PythonQt_QtAll and only create one set of library files. However, the > possibility to do that seems to have disappeared, and now a new set of > library files are created (libPythonQt_QtAll.so.3.1.0 with corresponding > symlinks). The packaging guide, section 8.1, suggests that it is OK to put > several libraries into the same package if their SONAMES will always change > together, and I assume that this is the case here, so I'm prepared to do > that. Any opinions on that? I am not a CMake expert, it looks like you are already discussing this with Lisandro. -- Dmitry Shachnev
Description: PGP signature