From 796d4dc1ab15ce7f898d3fc0014e4b64a0be155d Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 19 Dec 2021 18:21:41 +0900 Subject: [PATCH] DEB: updated packaging files to TDE standard. Signed-off-by: Michele Calgaro --- debian/cdbs/debian-tde.mk | 246 ++++++++++++++++++++++++++++++++ debian/cdbs/versions.pl | 19 +++ debian/changelog | 7 + debian/compat | 2 +- debian/control | 19 ++- debian/copyright | 7 +- debian/patches/series | 0 debian/polkit-kde-1.maintscript | 1 - debian/rules | 19 ++- debian/source/options | 6 + 10 files changed, 307 insertions(+), 19 deletions(-) create mode 100644 debian/cdbs/debian-tde.mk create mode 100644 debian/cdbs/versions.pl create mode 100644 debian/patches/series delete mode 100644 debian/polkit-kde-1.maintscript create mode 100644 debian/source/options diff --git a/debian/cdbs/debian-tde.mk b/debian/cdbs/debian-tde.mk new file mode 100644 index 0000000..f36e352 --- /dev/null +++ b/debian/cdbs/debian-tde.mk @@ -0,0 +1,246 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2003 Christopher L Cheney +# Copyright © 2019 TDE Team +# Description: A class for TDE packages; sets TDE environment variables, etc +# +# 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_debian-qt-kde +_cdbs_class_debian-qt-kde := 1 + +# for dh_icons +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.7ubuntu4) + +# Note: This _must_ be included before autotools.mk, or it won't work. +common-configure-arch common-configure-indep:: debian/stamp-cvs-make +debian/stamp-cvs-make: +ifndef _cdbs_class_cmake + cp -Rp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in +ifneq "$(wildcard /usr/share/libtool/config/ltmain.sh)" "" + cp -Rp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh +endif +ifneq "$(wildcard /usr/share/libtool/build-aux/ltmain.sh)" "" + cp -Rp /usr/share/libtool/build-aux/ltmain.sh admin/ltmain.sh +endif + $(MAKE) -C $(DEB_SRCDIR) -f admin/Makefile.common dist; +endif + touch debian/stamp-cvs-make + +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 + +ifndef _cdbs_class_cmake +include $(_cdbs_class_path)/autotools.mk$(_cdbs_makefile_suffix) +endif + +ifdef _cdbs_class_cmake +ifneq "$(wildcard /usr/bin/ninja)" "" +MAKE = ninja -v +DEB_MAKE_ENVVARS += DESTDIR=$(DEB_DESTDIR) +DEB_MAKE_INSTALL_TARGET = install +DEB_CMAKE_NORMAL_ARGS += -GNinja +endif +endif + +ifndef _cdbs_rules_patchsys_quilt +DEB_PATCHDIRS := debian/patches/common debian/patches +endif + +export kde_cgidir = \$${libdir}/cgi-bin +export kde_confdir = \$${sysconfdir}/trinity +export kde_htmldir = \$${datadir}/doc/tde/HTML + +DEB_KDE_ENABLE_FINAL := yes +DEB_INSTALL_DOCS_ALL := + +DEB_DH_MAKESHLIBS_ARGS_ALL := -V +DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/usr/lib) + +DEB_AC_AUX_DIR = $(DEB_SRCDIR)/admin +DEB_CONFIGURE_INCLUDEDIR = "\$${prefix}/include" +DEB_COMPRESS_EXCLUDE = .dcl .docbook -license .tag .sty .el + +# The default gzip compressor has been changed in dpkg >= 1.17.0. +deb_default_compress = $(shell LANG=C dpkg-deb --version | head -n1 | \ + sed -e "s|.*version ||" -e "s| .*||" | \ + xargs -r dpkg --compare-versions 1.17.0 lt \ + && echo xz || echo gzip) +ifeq ($(deb_default_compress),gzip) +DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ + && echo xz || echo bzip2) +endif + +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))) + cdbs_kde_enable_final = $(if $(DEB_KDE_ENABLE_FINAL),--enable-final,) + else + cdbs_kde_enable_final = + endif +endif + +ifneq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) + cdbs_kde_enable_final = + cdbs_kde_enable_debug = --enable-debug=yes +else + cdbs_kde_enable_debug = --disable-debug +endif + +ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS))) + cdbs_kde_enable_debug = --enable-debug=full +endif + +DEB_BUILD_PARALLEL ?= true + +cdbs_configure_flags += \ + --with-qt-dir=/usr/share/qt3 \ + --disable-rpath \ + --with-xinerama \ + $(cdbs_kde_enable_final) \ + $(cdbs_kde_enable_debug) + + +# This is a convenience target for calling manually. +# It's not part of the build process. +buildprep: clean apply-patches +ifndef _cdbs_class_cmake + $(MAKE) -f admin/Makefile.common dist +endif + debian/rules clean + +.tdepkginfo: + echo "# TDE package information" >.tdepkginfo + dpkg-parsechangelog | sed -n "s|^Source: |Name: |p" >>.tdepkginfo + dpkg-parsechangelog | sed -n "s|^Version: |Version: |p" >>.tdepkginfo + date +"DateTime: %m/%d/%Y %H:%M" -u -d "$$(dpkg-parsechangelog | sed -n 's|^Date: ||p')" >>.tdepkginfo + +post-patches:: .tdepkginfo + +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 + +common-binary-indep:: + ( set -e; \ + tmpf=`mktemp debian/versions.XXXXXX`; \ + perl debian/cdbs/versions.pl >$$tmpf; \ + for p in $(DEB_INDEP_PACKAGES); do \ + cat $$tmpf >>debian/$$p.substvars; \ + done; \ + rm -f $$tmpf ) + +common-binary-arch:: + ( set -e; \ + tmpf=`mktemp debian/versions.XXXXXX`; \ + perl debian/cdbs/versions.pl >$$tmpf; \ + for p in $(DEB_ARCH_PACKAGES); do \ + cat $$tmpf >>debian/$$p.substvars; \ + done; \ + rm -f $$tmpf ) + # update multi-arch path in install files + ls -d debian/* | \ + grep -E "(install|links)$$" | \ + while read a; do \ + [ -d $$a ] || [ -f $$a.arch ] || \ + ! grep -q "\$$(DEB_HOST_MULTIARCH)" $$a || \ + sed -i.arch "s|\$$(DEB_HOST_MULTIARCH)|$(DEB_HOST_MULTIARCH)|g" $$a; \ + done + +clean:: + rm -rf debian/man/out + -rmdir debian/man + rm -f debian/stamp-man-pages + rm -rf debian/shlibs-check + # revert multi-arch path in install files + ls -d debian/* | \ + grep -E "(install|links)$$" | \ + while read a; do \ + [ ! -f $$a.arch ] || \ + mv $$a.arch $$a; \ + done + +$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%: + if test -x /usr/bin/dh_icons; then dh_icons -p$(cdbs_curpkg) $(DEB_DH_ICONCACHE_ARGS); fi + if test -x /usr/bin/dh_desktop; then dh_desktop -p$(cdbs_curpkg) $(DEB_DH_DESKTOP_ARGS); fi + if test -e debian/$(cdbs_curpkg).lintian; then \ + install -p -D -m644 debian/$(cdbs_curpkg).lintian \ + debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \ + fi + if test -e debian/$(cdbs_curpkg).presubj; then \ + install -p -D -m644 debian/$(cdbs_curpkg).presubj \ + debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)/presubj; \ + fi + +binary-install/$(DEB_SOURCE_PACKAGE)-doc-html:: + set -e; \ + for doc in `cd $(DEB_DESTDIR)/opt/trinity/share/doc/tde/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/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + cd $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + /opt/trinity/bin/meinproc $(DEB_DESTDIR)/opt/trinity/share/doc/tde/HTML/en/$$pkg/index.docbook; \ + done + for pkg in $(DOC_HTML_PRUNE) ; do \ + rm -rf debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + done + +common-build-indep:: debian/stamp-kde-apidox +debian/stamp-kde-apidox: + $(if $(DEB_KDE_APIDOX),+$(DEB_MAKE_INVOKE) apidox) + touch $@ + +common-install-indep:: common-install-kde-apidox +common-install-kde-apidox:: + $(if $(DEB_KDE_APIDOX),+DESTDIR=$(DEB_DESTDIR) $(DEB_MAKE_INVOKE) install-apidox) + +cleanbuilddir:: + -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rm -rf $(DEB_BUILDDIR)) + +clean:: +ifndef _cdbs_class_cmake + if test -n "$(DEB_KDE_CVS_MAKE)" && test -d $(DEB_SRCDIR); then \ + cd $(DEB_SRCDIR); \ + find . -name Makefile.in -print | \ + xargs --no-run-if-empty rm -f; \ + rm -f Makefile.am acinclude.m4 aclocal.m4 config.h.in \ + configure configure.files configure.in stamp-h.in \ + subdirs; \ + fi +endif + rm -f .tdepkginfo + rm -f debian/stamp-kde-apidox + rm -f debian/stamp-cvs-make + +endif diff --git a/debian/cdbs/versions.pl b/debian/cdbs/versions.pl new file mode 100644 index 0000000..1b110f7 --- /dev/null +++ b/debian/cdbs/versions.pl @@ -0,0 +1,19 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +my $version = `dpkg-parsechangelog | awk '/^Version/ {print \$2}'`; +my ($version3, $version3_next); +my ($version2, $version2_next); + +($version3 = $version) =~ s/^(([^.]+\.){2}[^.+~-]+)[.+~-]?[^-]*-[^-]+$/$1/; +($version2 = $version3) =~ s/\.[^.]+$//; + +($version3_next = $version3) =~ s/(?<=\.)(\d+)[a-z]?$/($1+1)/e; +($version2_next = $version2) =~ s/(?<=\.)(\d+)$/($1+1)/e; + +print "TDE-Version3=$version3\n"; +print "TDE-Version2=$version2\n"; +print "TDE-Next-Version3=$version3_next\n"; +print "TDE-Next-Version2=$version2_next\n"; diff --git a/debian/changelog b/debian/changelog index 85e6037..e2b9ddd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +polkit-agent-tde (0.99.1-2) unstable; urgency=low + + * Port to TDE and package renaming + * Initial release for TDE + + -- Michele Calgaro Sun, 19 Dec 2021 18:12:00 +0900 + polkit-kde-1 (0.99.1-1) unstable; urgency=low * Team upload. diff --git a/debian/compat b/debian/compat index 7f8f011..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +9 diff --git a/debian/control b/debian/control index 9ce0fd3..dadbfc7 100644 --- a/debian/control +++ b/debian/control @@ -1,24 +1,21 @@ -Source: polkit-kde-1 +Source: polkit-agent-tde Priority: optional -Maintainer: Debian Qt/KDE Maintainers +Maintainer: TDE Debian Team +XSBC-Original-Maintainer: Debian Qt/KDE Maintainers Uploaders: Fathi Boudra -Build-Depends: debhelper (>= 7.4.15), cmake, pkg-kde-tools (>= 0.11), - tdelibs5-dev, libpolkit-qt-1-dev (>= 0.99.0) +Build-Depends: cdbs, debhelper (>= 9~), quilt, cmake-trinity, ninja-build, libpolkit-tqt-dev Standards-Version: 3.9.4 Section: libs -Vcs-Git: git://anonscm.debian.org/pkg-kde/kde-req/polkit-kde-1.git -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/kde-req/polkit-kde-1.git -Package: polkit-kde-1 +Package: polkit-agent-tde Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, policykit-1 -Description: KDE dialogs for PolicyKit +Description: TDE dialogs for PolicyKit PolicyKit is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes. . It is a framework for centralizing the decision making process with respect to - granting access to privileged operations (like calling the HAL Mount() method) - for unprivileged (desktop) applications. + granting access to privileged operations for unprivileged (desktop) applications. . - PolicyKit-Kde provides a D-Bus session bus service that is used to + PolicyKit-agent-tde provides a D-Bus session bus service that is used to bring up authentication dialogs used for obtaining privileges. diff --git a/debian/copyright b/debian/copyright index f2c5ce3..a9cebd9 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,4 +1,9 @@ -This work was packaged for Debian by: +This code was ported to TDE and packaged for Debian by: + Michele Calgaro +and is based on the code downloaded from Debian Snapshot Archive at: + https://snapshot.debian.org/package/polkit-kde-1/0.99.1-1/ + +Original polkit-kde-1 code was packaged for Debian by: Fathi Boudra on Fri, 15 Jan 2010 12:50:13 +0100 diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..e69de29 diff --git a/debian/polkit-kde-1.maintscript b/debian/polkit-kde-1.maintscript deleted file mode 100644 index 815416b..0000000 --- a/debian/polkit-kde-1.maintscript +++ /dev/null @@ -1 +0,0 @@ -rm_conffile /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop 0.99.0-4~ diff --git a/debian/rules b/debian/rules index 3291019..a6797f1 100755 --- a/debian/rules +++ b/debian/rules @@ -1,8 +1,17 @@ #!/usr/bin/make -f -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/cmake.mk +include debian/cdbs/debian-tde.mk -include /usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk - -.PHONY: override_dh_auto_test +DEB_CMAKE_EXTRA_FLAGS := \ + -DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \ + -DCMAKE_INSTALL_PREFIX="/opt/trinity" \ + -DCONFIG_INSTALL_DIR="/etc/trinity" \ + -DSYSCONF_INSTALL_DIR="/etc/trinity" \ + -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE="ON" \ + -DCMAKE_SKIP_RPATH="OFF" \ + -DBUILD_ALL="ON" \ + -DWITH_ALL_OPTIONS="ON" diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..72f1f54 --- /dev/null +++ b/debian/source/options @@ -0,0 +1,6 @@ +# Use xz instead of gzip +compression = "xz" +compression-level = 9 + +# Don't run differences +diff-ignore = .*