Hello,
I'm trying to make a deb package out of a QT application that I wrote. Currently, my QT app compiles with no problem by doing "qmake" then "make". So I made a tarball called "SGF-Client.tar.gz", then I typed
Code:
bzr dh-make sgf-bose-hubbard-client 1.0 SGF-Client.tar.gz
and mentioned "single binary". I got the message:
Code:
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the sgf-bose-hubbard-client Makefiles install into $DESTDIR and not in / .
I don't know how to setup this variable '$DESTDIR' since the Makefile is automatically generated by the command 'qmake' whose result depends on the
machine on which it is executed. Nevertheless, let me explain what I did afterwards. As suggested in the many tutorials I followed, I went to the
directory 'sgf-bose-hubbard-client/debian' and did:
Code:
rm *.ex *.EX
rm README*
Then I edited the remaining files by following the instructions that I got from these tutorials.
Here is my 'changelog' file:
Code:
sgf-bose-hubbard-client (1.0-1) trusty; urgency=low
* Initial release (Closes: #100)
-- Dr. Valy G. Rousseau <Valy.Gator@free.fr> Thu, 24 Jul 2014 20:40:51 -0500
Here is my 'control' file:
Code:
Source: sgf-bose-hubbard-client
Section: science
Priority: optional
Maintainer: Dr. Valy G. Rousseau <Valy.Gator@free.fr>
Build-Depends: debhelper (>= 9.0.0), qt5-qmake:amd64, libqt5webkit5-dev, qtlocation5-dev, qtdeclarative5-dev, libqt5core5a:amd64, qtchooser, qtpositioning5-dev, libqt5sensors5-dev
Standards-Version: 3.9.5
Homepage: http://www.phys.lsu.edu/~rousseau
#Vcs-Git: git://git.debian.org/collab-maint/sgf-bose-hubbard-client.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/sgf-bose-hubbard-client.git;a=summary
Package: sgf-bose-hubbard-client
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: SGF Bose-Hubbard client
This SGF Bose-Hubbard client performs a quantum Monte Carlo simulation of
the one-dimensional Bose-Hubbard model.
Then I did
Code:
bzr commit -m "Initial commit of Debian packaging."
and then:
Code:
bzr builddeb -- -us -uc
Here is the output that I got:
Code:
Building using working tree
Building package in normal mode
Looking for a way to retrieve the upstream tarball
Upstream tarball already exists in build directory, using that
Building the package in /home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0, using debuild -us -uc
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package sgf-bose-hubbard-client
dpkg-buildpackage: source version 1.0-1
dpkg-buildpackage: source distribution trusty
dpkg-buildpackage: source changed by Dr. Valy G. Rousseau <Valy.Gator@free.fr>
dpkg-source --before-build sgf-bose-hubbard-client-1.0
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
make[1]: Entering directory `/home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0'
rm -f SGF-Client.o OperatorString.o UdpSocket.o FormatedText.o
rm -f *~ core *.core
rm -f SGF-Bose-Hubbard-Client
rm -f Makefile
make[1]: Leaving directory `/home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0'
dh_clean
dpkg-source -b sgf-bose-hubbard-client-1.0
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building sgf-bose-hubbard-client using existing sgf-bose-hubbard-client_1.0.orig.tar.gz
dpkg-source: info: building sgf-bose-hubbard-client in sgf-bose-hubbard-client_1.0-1.diff.gz
dpkg-source: warning: ignoring deletion of file Makefile
dpkg-source: warning: newly created empty file 'debian/docs' will not be represented in diff
dpkg-source: info: building sgf-bose-hubbard-client in sgf-bose-hubbard-client_1.0-1.dsc
debian/rules build
dh build
dh_testdir
dh_auto_configure
dh_auto_build
make[1]: Entering directory `/home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0'
g++ -c -m64 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o SGF-Client.o SGF-Client.cpp
g++ -c -m64 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o OperatorString.o OperatorString.cpp
g++ -c -m64 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o UdpSocket.o UdpSocket.cpp
g++ -c -m64 -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o FormatedText.o FormatedText.cpp
g++ -m64 -Wl,-Bsymbolic-functions -Wl,-z,relro -o SGF-Bose-Hubbard-Client SGF-Client.o OperatorString.o UdpSocket.o FormatedText.o -L/usr/X11R6/lib64 -lQt5Widgets -L/usr/lib/x86_64-linux-gnu -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
make[1]: Leaving directory `/home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0'
dh_auto_test
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
dh_auto_install
dh_installdocs
dh_installchangelogs
dh_perl
dh_link
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package sgf-bose-hubbard-client: unknown substitution variable ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package `sgf-bose-hubbard-client' in `../sgf-bose-hubbard-client_1.0-1_amd64.deb'.
dpkg-genchanges >../sgf-bose-hubbard-client_1.0-1_amd64.changes
dpkg-genchanges: including full source code in upload
dpkg-source --after-build sgf-bose-hubbard-client-1.0
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
W: sgf-bose-hubbard-client: empty-binary-package
Finished running lintian.
Cleaning build dir: /home/AngeSurTerre/build-area/sgf-bose-hubbard-client-1.0
So Lintian say that the package is empty, and indeed this is the content that I get:
Code:
AngeSurTerre@Hector:~$ lesspipe sgf-bose-hubbard-client_1.0-1_amd64.deb
sgf-bose-hubbard-client_1.0-1_amd64.deb:
new debian package, version 2.0.
size 1670 bytes: control archive=501 bytes.
374 bytes, 11 lines control
174 bytes, 2 lines md5sums
Package: sgf-bose-hubbard-client
Version: 1.0-1
Architecture: amd64
Maintainer: Dr. Valy G. Rousseau <Valy.Gator@free.fr>
Installed-Size: 25
Section: science
Priority: optional
Homepage: http://www.phys.lsu.edu/~rousseau
Description: SGF Bose-Hubbard client
This SGF Bose-Hubbard client performs a quantum Monte Carlo simulation of
the one-dimensional Bose-Hubbard model.
*** Contents:
drwxr-xr-x root/root 0 2014-07-24 20:47 ./
drwxr-xr-x root/root 0 2014-07-24 20:47 ./usr/
drwxr-xr-x root/root 0 2014-07-24 20:47 ./usr/share/
drwxr-xr-x root/root 0 2014-07-24 20:47 ./usr/share/doc/
drwxr-xr-x root/root 0 2014-07-24 20:47 ./usr/share/doc/sgf-bose-hubbard-client/
-rw-r--r-- root/root 852 2014-07-24 20:45 ./usr/share/doc/sgf-bose-hubbard-client/copyright
-rw-r--r-- root/root 165 2014-07-24 20:47 ./usr/share/doc/sgf-bose-hubbard-client/changelog.Debian.gz
AngeSurTerre@Hector:~$
Any idea of what I'm doing wrong? Is this related to this '$DESTDIR' variable?
Bookmarks