From 8023e063cb1ab6036c56468b10cea7a1d26ae00e Mon Sep 17 00:00:00 2001 From: mazen Date: Thu, 30 Dec 2010 12:30:17 +0000 Subject: [PATCH] MAKE DEB: Changed package names to be suffixed by version in order to allow multiple version installation. git-svn-id: trunk@28841 - --- debian/changelog | 11 ++---- debian/control | 2 +- debian/control.in | 78 ++++++++++++++++++++++----------------- debian/lcl-utils.prerm.in | 2 +- debian/rules | 7 +++- debian/watch | 1 - 6 files changed, 56 insertions(+), 45 deletions(-) diff --git a/debian/changelog b/debian/changelog index b589e78ece..f8e1ea29a4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,14 +1,11 @@ lazarus (0.9.31-0) unstable; urgency=low * Snapshot building. + * Added support for multiple version coexistence in the same system. This will + allow installing multiple versions of Lazarus in the same system and choose + a default using update-alternatives. - -- Vincent Snijders Thu, 23 Dec 2010 16:04:00 +0100 - -lazarus (0.9.29-0) unstable; urgency=low - - * Snapshot building. - - -- Abou Al Montacir Sat, 11 Nov 2010 01:03:00 +0200 + -- Abou Al Montacir Thu, 30 Dec 2010 10:36:00 +0100 lazarus (0.9.28.2-12) unstable; urgency=low diff --git a/debian/control b/debian/control index 7bde48600c..5545676faf 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Carlos Laviola Uploaders: Torsten Werner , Abou Al Montacir DM-Upload-Allowed: yes Standards-Version: 3.9.1 -Build-Depends: debhelper (>= 7), quilt, fpc (>= 2.2.4-3), fpc-source (>= 2.2.4-3), fp-utils, imagemagick +Build-Depends: debhelper (>= 7), quilt, fpc, fpc-source, fp-utils, imagemagick Vcs-Svn: https://bollin.googlecode.com/svn/lazarus/trunk Vcs-Browser: http://bollin.googlecode.com/svn/lazarus/trunk Homepage: http://www.lazarus.freepascal.org diff --git a/debian/control.in b/debian/control.in index 52ed03b868..b5b553a5e0 100644 --- a/debian/control.in +++ b/debian/control.in @@ -5,7 +5,7 @@ Maintainer: Carlos Laviola Uploaders: Torsten Werner , Abou Al Montacir DM-Upload-Allowed: yes Standards-Version: 3.9.1 -Build-Depends: debhelper (>= 7), quilt, fpc (>= 2.2.4-3), fpc-source (>= 2.2.4-3), fp-utils, imagemagick +Build-Depends: debhelper (>= 7), quilt, fpc, fpc-source, fp-utils, imagemagick Vcs-Svn: https://bollin.googlecode.com/svn/lazarus/trunk Vcs-Browser: http://bollin.googlecode.com/svn/lazarus/trunk Homepage: http://www.lazarus.freepascal.org @@ -15,6 +15,9 @@ Architecture: all Depends: ${misc:Depends}, lazarus-ide${PACKAGESUFFIX} (>= ${source:Version}), lazarus-src${PACKAGESUFFIX} (>= ${source:Version}), lazarus-doc${PACKAGESUFFIX} (>= ${source:Version}) Recommends: fpc, fpc-source Suggests: fp-utils, fp-docs +Provides: lazarus +Breaks: lazarus (<< 0.9.28.2-13) +Replaces: lazarus (<< 0.9.18.2-13) Description: IDE for Free Pascal - Meta Package Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -29,7 +32,7 @@ Description: IDE for Free Pascal - Meta Package is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This is a metapackage depending on all packages need to have a typical @@ -43,6 +46,9 @@ Package: lazarus-src${PACKAGESUFFIX} Architecture: all Depends: ${misc:Depends} Suggests: lazarus-ide${PACKAGESUFFIX} +Provides: lazarus-src +Breaks: lazarus-src (<< 0.9.28.2-13) +Replaces: lazarus-src (<< 0.9.18.2-13) Description: IDE for Free Pascal - LCL Sources Code Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -57,7 +63,7 @@ Description: IDE for Free Pascal - LCL Sources Code is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains lazarus source code necessary for the IDE code tool to @@ -68,6 +74,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, fp-compiler, lazarus-src${PACKAGESUFFIX}, lazarus-ide-gtk${PACKAGESUFFIX} | lazarus-ide-qt${PACKAGESUFFIX} Recommends: fpc, lcl${PACKAGESUFFIX}, gdb Suggests: fp-utils +Provides: lazarus-ide +Breaks: lazarus-ide (<< 0.2.28.2-13) +Replaces: lazarus-ide (<< 0.2.28.2-13) Description: IDE for Free Pascal - Common IDE files Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -82,7 +91,7 @@ Description: IDE for Free Pascal - Common IDE files is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the commons files required to run lazarus IDE. @@ -92,9 +101,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, lazarus-ide${PACKAGESUFFIX} Recommends: fpc, lcl${PACKAGESUFFIX}, gdb Suggests: fp-utils -Provides: lazarus-ide-gtk${PACKAGESUFFIX} -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lazarus-ide-gtk${PACKAGESUFFIX}, lazarus-ide +Breaks: lazarus-ide-gtk${PACKAGESUFFIX} (<< 0.2.28.2-13), lazarus-ide (<< 0.2.28.2-13) +Replaces: lazarus-ide-gtk${PACKAGESUFFIX} (<< 0.2.28.2-13) Description: IDE for Free Pascal - IDE build on top of GTK+ backend Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -109,7 +118,7 @@ Description: IDE for Free Pascal - IDE build on top of GTK+ backend is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the lazarus IDE build on top of GTK+ backend. @@ -119,9 +128,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, lazarus-ide${PACKAGESUFFIX}, lazarus-ide-gtk${PACKAGESUFFIX} Recommends: fpc, lcl${PACKAGESUFFIX}, gdb Suggests: fp-utils -Provides: lazarus-ide-qt${PACKAGESUFFIX} -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lazarus-ide-qt${PACKAGESUFFIX}, lazarus-ide +Breaks: lazarus-ide-qt${PACKAGESUFFIX}(<< 0.9.28.2-13), lazarus-ide (<< 0.9.28.2-13) +Replaces: lazarus-ide-qt${PACKAGESUFFIX}(<< 0.9.28.2-13) Description: IDE for Free Pascal - IDE build on top of QT backend Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -136,7 +145,7 @@ Description: IDE for Free Pascal - IDE build on top of QT backend is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package will contain the lazarus IDE build on top of QT backend, however @@ -147,8 +156,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, lcl-units${PACKAGESUFFIX}, lcl-utils${PACKAGESUFFIX} Recommends: fpc, lazarus-ide${PACKAGESUFFIX} Suggests: gdb -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lcl +Breaks: lazarus-ide (<= 0.9.28.2-2), lcl (<< 0.9.28.2-13) +Replaces: lazarus-ide (<= 0.9.28.2-2), lcl (<< 0.9.28.2-13) Description: Lazarus Components Library - LCL metapackage Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -163,7 +173,7 @@ Description: Lazarus Components Library - LCL metapackage is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This is a metapackage to ease installing the LCL and components. @@ -172,8 +182,9 @@ Package: lcl-utils${PACKAGESUFFIX} Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, fp-compiler Recommends: lcl${PACKAGESUFFIX}, lazarus-ide${PACKAGESUFFIX} -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lcl-utils +Breaks: lcl-utils (<< 0.9.28.2-13), lazarus-ide (<= 0.9.28.2-2) +Replaces: lcl-utils (<< 0.9.28.2-13), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) Description: Lazarus Components Library - Command Line build tools Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -188,19 +199,19 @@ Description: Lazarus Components Library - Command Line build tools is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains command line tools to ease building LCL applications. Package: lcl-units${PACKAGESUFFIX} Architecture: i386 powerpc sparc amd64 armel -Depends: ${misc:Depends}, ${shlibs:Depends}, ${fpc-abi:Depends}, lcl-gtk2${PACKAGESUFFIX} | lcl-gtk${PACKAGESUFFIX} | lcl-qt${PACKAGESUFFIX} +Depends: ${misc:Depends}, ${shlibs:Depends}, ${fpc-abi:Depends}, lcl-gtk2${PACKAGESUFFIX} (= ${binary:Version}) | lcl-gtk${PACKAGESUFFIX} (= ${binary:Version}) | lcl-qt${PACKAGESUFFIX} (= ${binary:Version}) Recommends: lazarus-ide${PACKAGESUFFIX}, fpc Suggests: gdb -Provides: lcl-${source:Upstream-Version}${PACKAGESUFFIX}, lcl-${source:Version}${PACKAGESUFFIX} -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lcl-units, lcl-${source:Upstream-Version}, lcl-${source:Version} +Breaks: lcl-units (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Replaces: lcl-units (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) Description: Lazarus Components Library - Backend independent components Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -215,7 +226,7 @@ Description: Lazarus Components Library - Backend independent components is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the LCL and components. @@ -225,8 +236,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, ${fpc-abi:Depends}, fp-units-rtl, fp-units-base, fp-units-fcl Recommends: lazarus-ide${PACKAGESUFFIX}, fpc Suggests: gdb -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lcl-nogui +Breaks: lcl-nogui (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Replaces: lcl-nogui (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) Description: Lazarus Components Library - No GUI backend Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -241,7 +253,7 @@ Description: Lazarus Components Library - No GUI backend is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the LCL and components no GUI based backend for command @@ -252,9 +264,9 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, ${fpc-abi:Depends}, fp-units-rtl, fp-units-base, fp-units-fcl, fp-units-gtk2 Recommends: lazarus-ide${PACKAGESUFFIX}, fpc Suggests: gdb -Provides: lcl-gtk${PACKAGESUFFIX} -Breaks: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) -Replaces: lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Provides: lcl-gtk2, lcl-gtk, lcl-gtk2${PACKAGESUFFIX}, lcl-gtk${PACKAGESUFFIX} +Breaks: lcl-gtk2 (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) +Replaces: lcl-gtk2 (<< 0.9.28.2), lazarus-ide${PACKAGESUFFIX} (<= 0.9.28.2-2) Description: Lazarus Components Library - GTK+ backend Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -269,7 +281,7 @@ Description: Lazarus Components Library - GTK+ backend is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the LCL and components GTK+ based backend. @@ -279,7 +291,7 @@ Architecture: i386 powerpc sparc amd64 armel Depends: ${misc:Depends}, ${shlibs:Depends}, ${fpc-abi:Depends}, fp-units-rtl, fp-units-base, fp-units-fcl, libqt4pas-dev Recommends: lazarus-ide${PACKAGESUFFIX}, fpc Suggests: gdb -Provides: lcl-qt${PACKAGESUFFIX} +Provides: lcl-qt, lcl-qt${PACKAGESUFFIX} Description: Lazarus Components Library - QT backend Lazarus is an IDE to create (graphical and console) applications with Free Pascal. Free Pascal is a (L)GPL'ed Pascal and Object Pascal compiler that runs @@ -294,7 +306,7 @@ Description: Lazarus Components Library - QT backend is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains the LCL and components Qt based backend. Actually this is @@ -319,7 +331,7 @@ Description: IDE for Free Pascal - Documentation is available on all of the above platforms you don't need to do any recoding to produce identical products for different platforms. . - In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus + In short, Lazarus is a free RAD tool for Free Pascal using its Lazarus Component Library (LCL). . This package contains documentation of the lazarus IDE and components. It can diff --git a/debian/lcl-utils.prerm.in b/debian/lcl-utils.prerm.in index bd8129b424..79fcf60fdd 100644 --- a/debian/lcl-utils.prerm.in +++ b/debian/lcl-utils.prerm.in @@ -5,7 +5,7 @@ set -e LAZARUS_DIR=/usr/lib/lazarus/${VERSION} # Remove alternatives -update-alternatives --remove lazbuild ${LAZARUS_DIR}/lazbuild +update-alternatives --remove lazarus ${LAZARUS_DIR} # Debhelper code #DEBHELPER# diff --git a/debian/rules b/debian/rules index 5bc19ace77..a7dc94d113 100755 --- a/debian/rules +++ b/debian/rules @@ -26,6 +26,9 @@ FPCTARGET=$(CPU_TARGET)-linux DEB_VERSION:=$(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ') DEB_UPSTREAM_VERSION:=$(shell echo $(DEB_VERSION) | cut -f 1 -d -) DEB_UPSTREAM_MAIN_VERSION:=$(shell echo ${DEB_UPSTREAM_VERSION} | sed -e 's/^\([0-9\.]*\).*/\1/') +ifndef PACKAGESUFFIX +export PACKAGESUFFIX=-${DEB_UPSTREAM_MAIN_VERSION} +endif # Get directories CURDIR:=$(shell pwd) BUILD_DIR=$(CURDIR)/debian/build @@ -77,7 +80,7 @@ clean: patch configure clean-patched unpatch ${RM} ide/version.inc # Remove auto-generated make files. find -name Makefile.fpc -execdir 'sh' '-c' '${RM} $$(basename {} .fpc)' ';' - dh_clean + dh_clean clean-patched: @echo "--- Cleaning" dh_testdir @@ -291,7 +294,7 @@ binary-arch: arrange-arch dh_testdir dh_testroot dh_link - dh_installdocs -a + dh_installdocs -a -X.in dh_installchangelogs -a dh_installexamples -a dh_installmenu diff --git a/debian/watch b/debian/watch index 7854ee7247..fa9180ccc5 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,2 @@ version=3 http://sf.net/lazarus/lazarus-(.*).tar.gz debian debian/orig-tar.sh -