Commit 25159fd0 authored by Urs Fleisch's avatar Urs Fleisch
Browse files

rename debian to deb-kde3 and provide scripts to build debian packages for KDE 3 and KDE 4

parent ca9aee53
......@@ -43,12 +43,19 @@ cd kid3-qt
make
make install
*** Create Debian Package
*** Create Debian Packages for KDE 3 and Qt
Make sure that you have installed all packages listed in debian/control,
Make sure that you have installed all packages listed in deb-kde3/control,
section Build-Depends.
dpkg-buildpackage -rfakeroot -nc
./build-deb-kde3.sh
*** Create Debian Package for KDE 4
Make sure that you have installed all packages listed in deb-kde4/control,
section Build-Depends.
./build-deb-kde4.sh
*** Create RPM Package
......
......@@ -11,7 +11,7 @@ package-messages:
$(MAKE) -f admin/Makefile.common package-messages
$(MAKE) -C po merge
EXTRA_DIST = admin/* debian/* win32/* AUTHORS COPYING ChangeLog INSTALL README kid3.lsm kid3.spec kid3-qt.pro kid3-qt/configure-kid3-qt.pl kid3-qt/configure.in kid3-qt/config.pri.in kid3-qt/config.h.in kid3-qt/configure
EXTRA_DIST = admin/* deb-kde3/* deb-kde4/* win32/* AUTHORS COPYING ChangeLog INSTALL README kid3.lsm kid3.spec kid3-qt.pro kid3-qt/configure-kid3-qt.pl kid3-qt/configure.in kid3-qt/config.pri.in kid3-qt/config.h.in kid3-qt/configure
# generate precompiled header allsys.h.gch for GCC 3.4
pch:
......
#!/bin/sh
# Build Debian package for KDE 3 and Qt.
if mv -T deb-kde3 debian; then
dpkg-buildpackage -rfakeroot
mv -T debian deb-kde3
fi
#!/bin/sh
# Build Debian package for KDE 4.
if mv -T deb-kde4 debian; then
dpkg-buildpackage -rfakeroot
mv -T debian deb-kde4
fi
Debian kde-extras Team
----------------------
1. Contacts
-----------
General help requests
<debian-kde@lists.debian.org> mailing list
#debian-kde on irc
Packaging queries
<debian-qt-kde@lists.debian.org> mailing list
#debian-qt-kde on irc
Maintainers
<pkg-kde-extras@lists.alioth.debian.org> mailing list
2. Subversion repository
------------------------
You can browse it only at:
http://svn.debian.org/wsvn/pkg-kde/kde-extras/
To "checkout" the repository use these commands:
$ svn co svn+ssh://${ALIOTH_USERNAME}@svn.debian.org/svn/pkg-kde/kde-extras
Authorized SSH keys are controlled at https://alioth.debian.org/account/
The repository layout is:
- packagename/
    - trunk/
    - branches/
    - tags/
        - 0.7.2-1/
        - 0.7.2-2/
        - 0.7.2-2ubuntu1/
        - 0.7.2-2ubuntu2/
        - 0.7.2-2ubuntu3/
        - 0.8.0/
        ...
If only one version of the package is available at the time, development must
be made at trunk/ dir, copying the dir to tags/'pkg-version' each time a new
release is made.
When, at some point, the need to have two different versions at the same time
arises (for example, if we need a version to be in unstable and a different one
to be in experimental), experimental development will be made in trunk/ and
if a new unstable package needs to be cooked, copying
tag/'latest_version_in_sid' to tag/'latest_version_in_sid'+1 will make the
trick.
3. Using svn-buildpackage
--------------------------
Packages with an upstream tarball will require you to set the mergeWithUpstream
property first (from the package root) so that svn-buildpackage will look for
the .orig.tar.gz in the ../tarballs directory.
% svn propset mergeWithUpstream 1 debian
Please note that this only works for packages which have only the debian/
directory committed. Consequently, you must use CDBS's simple-patchsys.mk or
dpatch to modify the upstream sources.
After you have finished and committed your Debian patches via
% svn commit [PACKAGE]
as well as copying the orig.tar.gz to ../tarballs/ if necessary, you may build
your package with the following commands:
% svn-buildpackage --svn-ignore-new -rfakeroot
Please, don't commit tarballs/ or build-area/ directories to SVN.
4. Tarballs and Build-area directories
------------------------------------
During pkg development before uploaded to debian the tarballs can be found at:
http://pkg-kde.alioth.debian.org/kde-extra/orig.tar.gz/
You need to place those dirs in the parent directory of the one from which you're
running svn-buildpackage. Usually this means placing tarballs/ and build-area/ dirs
in 'pkgname'/ dir, at the same level as trunk/
If you want to compile inside one version in tags/ dir, you'll need to place those
dirs inside that dir. Of course the easiest and cleanest way of doing it is
by making a symlink of those dirs inside tags/ dir.
5. Using svn-inject
-------------------
To inject a new package into the Debian KDE Extras svn archive you should use svn-inject(1)
as follows:
svn-inject -o <package>.dsc svn+ssh://${ALIOTH_USERNAME}@svn.debian.org/svn/pkg-kde/kde-extras
Type in your alioth password a few hundred times :-) and your package should be
uploaded to the archive. Note you will also need to manually copy the
package.orig.tar.gz to your tarballs directory. The -o option is important as
this ensures that we 'Only keep modified files under SVN control'
# -*- mode: makefile; coding: utf-8 -*-
# Copyright (C) 2006 Peter Rockai <me@mornfall.net>
# Copyright (C) 2006 Fathi Boudra <fboudra@free.fr>
# Description: A class for cmake packages
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307 USA.
ifndef _cdbs_bootstrap
_cdbs_scripts_path ?= /usr/lib/cdbs
_cdbs_rules_path ?= /usr/share/cdbs/1/rules
_cdbs_class_path ?= /usr/share/cdbs/1/class
endif
ifndef _cdbs_class_cmake
_cdbs_class_cmake := 1
include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
ifdef _cdbs_tarball_dir
DEB_BUILDDIR = $(_cdbs_tarball_dir)/obj-$(DEB_BUILD_GNU_TYPE)
else
DEB_BUILDDIR = obj-$(DEB_BUILD_GNU_TYPE)
endif
DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(DEB_DESTDIR)
DEB_CMAKE_PREFIX =/usr
# Overriden from makefile-vars.mk
# We pass CFLAGS and friends to ./configure, so no need to pass them to make
DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) -C $(DEB_BUILDDIR)
include $(_cdbs_class_path)/makefile.mk$(_cdbs_makefile_suffix)
common-configure-arch common-configure-indep:: common-configure-impl
common-configure-impl:: $(DEB_BUILDDIR)/CMakeCache.txt
$(DEB_BUILDDIR)/CMakeCache.txt:
cd $(DEB_BUILDDIR) && cmake $(CURDIR)/$(DEB_SRCDIR) \
-DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_PREFIX)" \
$(DEB_CMAKE_EXTRA_FLAGS) -DCMAKE_CXX_FLAGS="$(CXXFLAGS)" \
-DCMAKE_C_FLAGS="$(CFLAGS)" -DCMAKE_VERBOSE_MAKEFILE=ON
mkdir -p $(DEB_DESTDIR)
cleanbuilddir::
-if test "$(DEB_BUILDDIR)" != "$(DEB_SRCDIR)"; then rm -rf $(DEB_BUILDDIR); fi
endif
# until bug 377524 resolved.
include debian/cdbs/cmake.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/patchsys-quilt.mk
# until bug #423394 resolved.
include debian/cdbs/utils.mk
DEB_COMPRESS_EXCLUDE = .dcl .docbook -license .tag .sty .el
DEB_CMAKE_EXTRA_FLAGS += \
$(DEB_CMAKE_DEBUG_FLAGS) \
$(KDE4-ENABLE-FINAL) \
-DKDE4_BUILD_TESTS=true \
-DKDE_DISTRIBUTION_TEXT="Kubuntu packages" \
-DCONFIG_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/etc/kde4 \
-DDATA_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/share/kde4/apps \
-DHTML_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/share/doc/kde4/HTML \
-DKCFG_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/share/kde4/config.kcfg \
-DLIB_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/lib \
-DSYSCONF_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/etc
DEB_CMAKE_PREFIX = /usr/lib/kde4
DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp
DEB_DH_SHLIBDEPS_ARGS = -l/usr/lib/kde4/lib/
DEB_KDE_ENABLE_FINAL ?=
#DEB_MAKE_ENVVARS += XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_DIRS=/usr/share
#DEB_STRIP_EXCLUDE = so
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
cdbs_treat_me_gently_arches := arm m68k alpha ppc64 armel armeb
ifeq (,$(filter $(DEB_HOST_ARCH_CPU),$(cdbs_treat_me_gently_arches)))
KDE4-ENABLE-FINAL = $(if $(DEB_KDE_ENABLE_FINAL),-DKDE4_ENABLE_FINAL=true,)
else
KDE4-ENABLE-FINAL =
endif
endif
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
#no optimizations, full debug
DEB_CMAKE_DEBUG_FLAGS = -DCMAKE_BUILD_TYPE=debugfull
else
#This is around -O2 -g
DEB_CMAKE_DEBUG_FLAGS = -DCMAKE_BUILD_TYPE=relwithdebinfo
endif
common-build-arch:: debian/stamp-man-pages
debian/stamp-man-pages:
if ! test -d debian/man/out; then mkdir -p debian/man/out; fi
for f in $$(find debian/man -name '*.sgml'); do \
docbook-to-man $$f > debian/man/out/`basename $$f .sgml`.1; \
done
for f in $$(find debian/man -name '*.man'); do \
soelim -I debian/man $$f \
> debian/man/out/`basename $$f .man`.`head -n1 $$f | awk '{print $$NF}'`; \
done
touch debian/stamp-man-pages
clean::
ifndef THIS_SHOULD_GO_TO_UNSTABLE
#guard against experimental uploads to unstable
#dpkg-parsechangelog | grep ^Distribution | grep -q experimental
endif
rm -rf debian/man/out
-rmdir debian/man
rm -f debian/stamp-man-pages
rm -f CMakeCache.txt
binary-install/$(DEB_SOURCE_PACKAGE)-doc-html::
set -e; \
for doc in `cd $(DEB_DESTDIR)/usr/share/doc/kde/HTML/en; find . -name index.docbook`; do \
pkg=$${doc%/index.docbook}; pkg=$${pkg#./}; \
echo Building $$pkg HTML docs...; \
mkdir -p $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \
cd $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \
meinproc4 $(DEB_DESTDIR)/usr/share/doc/kde/HTML/en/$$pkg/index.docbook; \
done
for pkg in $(DOC_HTML_PRUNE) ; do \
rm -rf debian/$(DEB_SOURCE_PACKAGE)-doc-html/usr/share/doc/kde/HTML/en/$$pkg; \
done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment