[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Trying to build Debian packages for KDE 3.0



SOrry to bug you.  I hope you can help with this irksome problem.

I'm a developer at Lindows.com.  I'm on the team responsible for integrating 
KDE 3.0 with LindowsOS.  I can build KDE3.0 fine using the 'configure, make, 
make install' approach, but have not had any luck building the Debain 
packages using 'dpkg-buildpackage'.  I am using the latest KDE3.0 source from 
the KDE FTP mirrors.

Are you building KDE3.0 Debian packages?
Do you have a different 'debian' sub-tree than KDE's?
If so, is the debian package build hierarchy you are using available on the 
Debian site?  If so, where?  If not, do you have a feeling when 
it will be available.

I have made some progress building Qt.   I have made about 10 changes to the 
'rules' file and have gotten through to the 'binary-arch' rule, where the 
build ends because the '.../usr/bin' tools are not there for the 
'dh_movefiles -pqt3-tools --sourcedir=debian/tmp-install' command.

I have attached my hacked up copy of the 'rules' file.  I added the 
'../bld/startlog' and '../bld/endlog' lines, which are invocations of simple 
scripts for logging and are not important to the build.

Thank you in advance for your time and consideration.

Nick Garnett
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatability version to use.
export DH_COMPAT=3
export QTDIR=$(shell pwd)
export AR=ar cr
old_libpath := $(LD_LIBRARY_PATH)
export LD_LIBRARY_PATH = $(QTDIR)/lib:$(old_libpath)
YACC="byacc -d"
ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_BUILD_GNU_TYPE      ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifeq ($(DEB_BUILD_GNU_TYPE),i386-linux)
  XINERAMA=-xinerama
else
  XINERAMA=-no-xinerama
endif

PREFIXDIR=$(KDEDIR)/usr

package = qt-x11
p = $(shell pwd)/debian
p_libs = $(p)/libqt3
p_doc = $(p)/qt3-doc
p_dev = $(p)/libqt3-dev
p_tools = $(p)/qt3-tools
tmp_shared = $(shell pwd)/debian/build-shared
tmp_install = $(shell pwd)/debian/tmp-install
configopts = -prefix $(PREFIXDIR) -docdir $(PREFIXDIR)/share/doc/qt3-doc -headerdir $(PREFIXDIR)/include/qt -datadir $(PREFIXDIR)/share/qt -qt-gif -system-zlib -system-libpng -system-libjpeg -system-libmng -qt-imgfmt-jpeg -qt-imgfmt-png -qt-imgfmt-mng -plugin-sql-mysql -plugin-sql-odbc -plugin-style-windows -qt-style-motif -plugin-style-compact -plugin-style-platinum -plugin-style-sgi -plugin-style-cde -plugin-style-motifplus -stl $(XINERAMA) -enable-opengl -sm -no-g++-exceptions -platform linux-g++ -I/usr/include/mysql

build: thread-stamp build-stamp

thread-stamp:
	../bld/startlog thread-stamp
	../bld/startlog "thread-stamp dh_testdir"
	dh_testdir
ifeq ($(ARCH),alpha)
	cp debian/qmake-alpha.conf mkspecs/linux-g++/qmake.conf
endif
	../bld/startlog "thread-stamp make"
	make -f Makefile.cvs
	../bld/startlog "thread-stamp configure"
	echo yes | ./configure $(configopts) -thread -plugindir $(PREFIXDIR)/lib/qt3/plugins-mt
	../bld/startlog "thread-stamp make"
	make symlinks 
	../bld/startlog "thread-stamp make"
	make src-qmake 
	../bld/startlog "thread-stamp make"
	make src-moc 
	../bld/startlog "thread-stamp make"
	make sub-src 
	../bld/startlog "thread-stamp make"
	make sub-tools 
	../bld/startlog "thread-stamp make"
	make sub-plugins
	../bld/startlog "thread-stamp make"
	make -C extensions/xt/src/
	../bld/startlog "thread-stamp make"
	make -C tools/designer/tools/createcw
	../bld/startlog "thread-stamp make"
	make INSTALL_ROOT=$(tmp_shared) install
	../bld/startlog "thread-stamp make"
	make -C extensions/xt/src/ INSTALL_ROOT=$(tmp_shared) install
	../bld/startlog "thread-stamp install"
	install -d $(tmp_shared)/usr/share/doc/
	../bld/startlog "thread-stamp"
	mkdir -p $(tmp_shared)/usr/bin/
	cp bin/qtrename140 $(tmp_shared)/usr/bin/
	../bld/startlog "thread-stamp"
	cp bin/qt20fix $(tmp_shared)/usr/bin/
	../bld/startlog "thread-stamp"
	cp bin/findtr $(tmp_shared)/usr/bin/
	../bld/startlog "thread-stamp"
	mkdir -p $(tmp_shared)/usr/share/doc/qt3-doc/
	cp .qmake.cache $(tmp_shared)/usr/share/doc/qt3-doc/
	../bld/startlog "thread-stamp"
	touch thread-stamp
	../bld/endlog 

build-stamp:
	../bld/startlog build-stamp
	../bld/startlog "build-stamp dh_testdir"
	dh_testdir
	../bld/startlog "build-stamp clean"
	-make clean
	../bld/startlog "build-stamp rm lib/*"
	-rm lib/*
	../bld/startlog "build-stamp configure"
	echo yes | ./configure $(configopts) -plugindir $(PREFIXDIR)/lib/qt3/plugins
	../bld/startlog "build-stamp ld-stamp make symlinks src-qmake src-moc sub-src sub-plugins"
	make symlinks src-qmake src-moc sub-src sub-plugins
	../bld/startlog "build-stamp make -C plugins/src INSTALL_ROOT=$(tmp_shared) install"
	make -C plugins/src INSTALL_ROOT=$(tmp_shared) install
	../bld/startlog "build-stamp find lib | cpio -pmdv $(tmp_shared)/usr"
	find lib | cpio -pmdv $(tmp_shared)/usr
	../bld/startlog "build-stamp"
	touch build-stamp
	../bld/endlog


build-clean:
	../bld/startlog build-clean
	../bld/startlog "build-clean dh_testdir"
	dh_testdir
	../bld/startlog "build-clean make clean"
	-make clean
	../bld/startlog "build-clean make -C qmake/ distclean"
	-make -C qmake/ distclean
	../bld/startlog "build-clean make -C extensions/xt/src/ clean"
	-make -C extensions/xt/src/ clean
	../bld/startlog "build-clean make -C tools/designer/tools/createcw/ clean"
	-make -C tools/designer/tools/createcw/ clean
	../bld/startlog "build-clean chmod -R u+w *"
	-chmod -R u+w *
	../bld/startlog "build-clean find tools tutorial extensions -name Makefile"
	-find tools tutorial extensions -name Makefile | while read p; do \
		make -C `dirname $$p` clean; \
	done
	../bld/startlog "build-clean find tools examples tutorial -type f -perm +100"
	-find tools examples tutorial -type f -perm +100 \
		| xargs --no-run-if-empty rm -f
	../bld/startlog "build-clean rm -f `find ./ -name "*.moc"`"
	-rm -f `find ./ -name "*.moc"`
	../bld/startlog "build-clean rm -f lib/* plugins/designer/* plugins/sqldrivers/*"
	-rm -f lib/* plugins/designer/* plugins/sqldrivers/* \
		plugins/styles/*
	../bld/startlog "build-clean rm -f examples/guithreads/main.o examples/semaphores/main.o"
	-rm -f examples/guithreads/main.o examples/semaphores/main.o
	../bld/startlog "build-clean find -name Makefile"
	find -name Makefile | while read p; do \
		[ -f $$p.in ] && rm -f $$p || true; \
	done
	../bld/endlog


clean: build-clean
	../bld/startlog build-clean
	../bld/startlog "build-clean dh_testdir"
	dh_testdir
	../bld/startlog "build-clean make -f debian/Makefile.cvs cvs-clean"
	-make -f debian/Makefile.cvs cvs-clean
	../bld/startlog "build-clean dh_clean"
	dh_clean
	../bld/endlog

install-stamp:
	dh_testdir
	-rm -rf $(tmp_install)
	cd $(tmp_shared) && find  usr -path \*/CVS -prune -o -print \
		| cpio -pmd $(tmp_install)/

# Build architecture-independent files here.
binary-indep: build install-stamp
	dh_testdir
	dh_testroot
	dh_clean -i
	dh_installdirs -i
	dh_movefiles -pqt3-doc --sourcedir=debian/tmp-install
##	find doc/man examples tutorial -path \*/CVS -prune -o -print \
##		| cpio -pmd $(p_doc)/usr/share/doc/qt3-doc/
##	-make -C $(p_doc)/usr/share/doc/qt3-doc/examples clean
##	-make -C $(p_doc)/usr/share/doc/qt3-doc/tutorial clean
##	(cd $(p_doc)/usr/share/doc/qt3-doc && tar -czvf examples.tgz examples)
##	rm -rf $(p_doc)/usr/share/doc/qt3-doc/examples
##	(cd $(p_doc)/usr/share/doc/qt3-doc && tar -czvf tutorial.tgz tutorial)
##	rm -rf $(p_doc)/usr/share/doc/qt3-doc/tutorial
	-rm -f `find $(p_doc)/usr/share/doc/qt3-doc/ -name "*.o"`
	find $(p_doc) -type f -perm +0100 | xargs --no-run-if-empty rm -f
	cd $(p_doc)/usr/share/doc/libqt3 \
		&& ln -s ../qt3-doc/doc .
	dh_installdocs -i
	mkdir -p $(p_doc)/usr/share/man/
	mkdir -p $(p_doc)/usr/share/doc/qt3-doc/doc/man
	touch $(p_doc)/usr/share/doc/qt3-doc/doc/man/man3
	mv $(p_doc)/usr/share/doc/qt3-doc/doc/man/man3 $(p_doc)/usr/share/man/
	-rm -rf $(p_doc)/usr/share/doc/qt3-doc/doc/man
	dh_installchangelogs -i changes-3.0.3
	mkdir -p $(p_doc)/usr/share/doc/qt3-doc
	cp debian/README.Debian $(p_doc)/usr/share/doc/qt3-doc/
	dh_compress -i -X.html -X.gif -X.jpg -X.png
	dh_link -i
	dh_fixperms -i
	find $(p_doc)/usr/share/doc -type f | xargs chmod 644
	dh_installdeb -i
	dh_perl -i
	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i


binary-arch: build install-stamp
	dh_testdir
	dh_testroot
	dh_clean -a
	dh_installdirs -a
	dh_movefiles -plibqxt0 --sourcedir=debian/tmp-install
	mkdir -p $(tmp_install)/bin
	touch $(tmp_install)/bin/assistant
	touch $(tmp_install)/bin/linguist
	touch $(tmp_install)/bin/linguist
	touch $(tmp_install)/bin/lrelease
	touch $(tmp_install)/bin/lupdate
	touch $(tmp_install)/bin/designer
	touch $(tmp_install)/bin/uic
	touch $(tmp_install)/bin/createcw
	dh_movefiles -pqt3-tools --sourcedir=debian/tmp-install
	dh_movefiles -plibqt3-mysql --sourcedir=debian/tmp-install usr/lib/qt3/plugins/sqldrivers/libqsqlmysql.so
	dh_movefiles -plibqt3-odbc --sourcedir=debian/tmp-install usr/lib/qt3/plugins/sqldrivers/libqsqlodbc.so
	dh_movefiles -plibqt3-mt-mysql --sourcedir=debian/tmp-install usr/lib/qt3/plugins-mt/sqldrivers/libqsqlmysql.so
	dh_movefiles -plibqt3-mt-odbc --sourcedir=debian/tmp-install usr/lib/qt3/plugins-mt/sqldrivers/libqsqlodbc.so
	dh_movefiles -plibqt3 --sourcedir=debian/tmp-install
	dh_movefiles -plibqt3-mt --sourcedir=debian/tmp-install
	dh_movefiles -plibqt3-mt-dev --sourcedir=debian/tmp-install
	dh_movefiles -plibqt3-dev --sourcedir=debian/tmp-install
	mkdir -p $(p_tools)/usr/share/qt/tools/designer/interfaces/
	cp tools/designer/interfaces/*.h $(p_tools)/usr/share/qt/tools/designer/interfaces/
	mkdir -p $(p_tools)/usr/share/applnk/Development/
	cp debian/designer.desktop $(p_tools)/usr/share/applnk/Development/
	cp debian/linguist.desktop $(p_tools)/usr/share/applnk/Development/
	mkdir $(p_tools)/usr/bin/qt-designer-real
	mv -p $(p_tools)/usr/bin/designer $(p_tools)/usr/bin/qt-designer-real
	mkdir $(p_tools)/usr/bin/designer
	cp debian/designer.sh $(p_tools)/usr/bin/designer
	mkdir -p  $(p_dev)/usr/bin/qmake-real
	mv $(p_dev)/usr/bin/qmake $(p_dev)/usr/bin/qmake-real
	mkdir -p $(p_dev)/usr/bin/qmake
	cp debian/qmake.sh $(p_dev)/usr/bin/qmake
	mkdir -p $(p_tools)/usr/bin/uic-real
	mv $(p_tools)/usr/bin/uic $(p_tools)/usr/bin/uic-real
	mkdir -p  $(p_tools)/usr/bin/uic
	cp debian/uic.sh $(p_tools)/usr/bin/uic
	mkdir -p $(p_tools)/usr/share/man/man1
	-cp doc/man/man1/*.1 $(p_tools)/usr/share/man/man1/
	-mv $(p_tools)/usr/share/man/man1/m*.1 $(p_dev)/usr/share/man/man1/
	-mv $(p_tools)/usr/share/man/man1/f*.1 $(p_dev)/usr/share/man/man1/
	-mv $(p_tools)/usr/share/man/man1/q*.1 $(p_dev)/usr/share/man/man1/
	dh_installdocs -a
	dh_installmenu -a
	dh_undocumented
	dh_installchangelogs -a changes-3.0.3
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	chmod 755 debian/qt3-tools/usr/bin/designer \
		debian/libqt3-dev/usr/bin/qmake \
		debian/qt3-tools/usr/bin/uic
	dh_makeshlibs -a -V
	dh_installdeb -a
	dh_perl -a
	dh_shlibdeps -a -l`pwd`/debian/libqt3/usr/lib:`pwd`/debian/libqxt0/usr/lib
	dh_gencontrol
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: clean binary-indep binary-arch binary

Reply to: