This page tries to summarize all steps to add a debian-mingw-6 package to a project with existing debian-mingw-5 packaging.
Extend changelog with something like "Adding mingw-6 packaging
":
$EDITOR debian-*/changelog # just edit the first one pba-syncchangelogs |
svn cp debian-mingw-5/ debian-mingw-6 echo 9 >debian-mingw-6/compat $EDITOR debian-mingw-6/changelog debian-mingw-6/control debian-mingw-6/rules # remove evtl. *.install files! |
changelog
filecontrol
file(>= 5)
to (>= 9)
PBA-Distribution
from squeeze
and/or wheezy
to jessie
mingw-w32-gcc, mingw-w32-pkg-config, mingw-w64-gcc, mingw-w64-pkg-config
mingw-w64-tools, g++-mingw-w64
mingw-w32-gcc-rt
resp. mingw-w32-g++-rt
mingw-w64-i686-dev
mingw-w64-g++-rt
resp. mingw-w64-g++-rt
mingw-w64-x86-64-dev
any
to all
rules
file, obligatoryDEB_UPSTREAM_VERSION ?= $(shell dpkg-parsechangelog | sed -rne 's/^Version: ([0-9.]+)[-+].*$$/\1/p')
build-arch
to build-indep
, install-arch
to install-indep
, don't forget rm
and touch
calls but do NOT damage arch=$(archXX)
directives
debian/devhost.txt.gz debian/*.substvars debian/*.debhelper.log
to the list of cleaned files (to avoid 'package without artifacts' errors on rebuilds)rules
file, optionalThese steps optimize the packaging process and to some degree the binaries by using fine-tuned debhelper 9 functions over un-tuned debhelper 5/6 functions, but we came across a few packages where it broke the packaging process.
include /usr/.../debhelper.mk
DEB_SHLIBDEPS_INCLUDE
DEB_DH_STRIP_ARGS
*.install
to PKGROOT=$(shell pwd)/debian
and DESTDIR=$(PKGROOT)/$(packageXX)
%: dh $@ # do not strip anything. # call 'strip' on a mingw lib*.a file causes the ranlib information to # be discarded rendering the libraries useless. override_dh_strip: override_dh_shlibdeps: export DEB_CFLAGS_MAINT_SET = -O2 -Wall export DEB_CXXFLAGS_MAINT_SET = -O2 -Wall export DEB_LDFLAGS_MAINT_SET = build-indep: common-build-indep install-indep: common-install-indep INSTALL_PROGRAM = install |
pba-builddeps -i -o "arch|unix|6" pba-build -u -i -o "arch|unix|6" # or one-by-one pba-build -u -i -o "arch|unix" pba-build -u -i -o "6" |
pba-release |