Patch #2100 2007-07-17 23:03

anarxia

Fixes for the debian/ubuntu packages
Download
2100-Fixes_for_the.patch (7.9 KB)
Category
Platform-Specific
Status
Out of date
Close date
2013-10-01 20:43
Assigned to
tpetrov
Index: debian/control
===================================================================
--- debian/control    (revision 4275)
+++ debian/control    (working copy)
@@ -2,26 +2,26 @@
 Section: x11
 Priority: optional
 Maintainer: Yiannis Mandravellos <mandrav@codeblocks.org>
-Build-Depends: debhelper, autotools-dev, libc6-dev, libstdc++6-4.0-dev, libwxgtk2.6-dev, wx-common, zip
+Build-Depends: debhelper, autotools-dev, libstdc++-dev, libwxgtk2.6-dev, wx-common, zip
 Standards-Version: 3.6.1
-
+
 Package: libcodeblocks0
 Architecture: any
-Depends: binutils (>= 2.14.90.0.7), coreutils, file, libc6, libgcc1 (>= 1 ), libmagic1, libncurses5, libstdc++6, zlib1g
+Depends: ${shlibs:Depends}
 Description: Code::Blocks shared library
- This package contains the Code::Blocks shared library
- .
- http://www.codeblocks.org
-
+ This package contains the Code::Blocks shared library
+ .
+ http://www.codeblocks.org
+
 Package: codeblocks
 Architecture: any
-Depends: libcodeblocks0
-Recommends: gcc | g++, gdb, codeblocks-contrib
-Suggests: libwxgtk2.6-dev, wx-common
+Depends: ${shlibs:Depends}
+Recommends: gcc | g++, gdb, codeblocks-contrib (= ${Source-Version})
+Suggests: libwxgtk2.6-dev, wx-common, libwxsmithlib0-dev (= ${Source-Version})
 Description: Code::Blocks integrated development environment (IDE)
- Code::Blocks is the open-source, cross-platform Integrated Development
+ Code::Blocks is the open-source, cross-platform Integrated Development
  Environment (IDE).
- It is based on a self-developed plugin framework allowing unlimited
+ It is based on a self-developed plugin framework allowing unlimited
  extensibility. Most of its functionality is already provided by plugins.
  Plugins included in the base package are:
     * Compiler frontend to many free compilers
@@ -32,61 +32,61 @@
     * Default MIME handler
     * Wizard to create new Code::Blocks plugins
     * To-do list
-    * Extensible wizard based on scripts (for creating new projects/targets/etc)
-    * Autosave (saves your work in the unfortunate case of a crash)
- .
- http://www.codeblocks.org
-
+    * Extensible wizard based on scripts (for creating new projects/targets/etc)
+    * Autosave (saves your work in the unfortunate case of a crash)
+ .
+ http://www.codeblocks.org
+
 Package: codeblocks-dbg
-Architecture: any
-Depends: codeblocks
+Architecture: any
+Depends: codeblocks (= ${Source-Version})
 Description: Code::Blocks debugging libraries
- These are the debugging libraries for the 'codeblocks' package.
- .
- http://www.codeblocks.org
-
+ These are the debugging libraries for the 'codeblocks' package.
+ .
+ http://www.codeblocks.org
+
 Package: libwxsmithlib0
 Architecture: any
-Depends: libcodeblocks0
+Depends: ${shlibs:Depends}
 Description: wxSmith shared library (wxSmith is a Code::Blocks plugin for RAD GUI editing)
- This package contains the wxSmith shared library.
- .
- http://www.codeblocks.org
-
+ This package contains the wxSmith shared library.
+ .
+ http://www.codeblocks.org
+
 Package: codeblocks-contrib
 Architecture: any
-Depends: codeblocks, libwxsmithlib0
+Depends: codeblocks (= ${Source-Version}), ${shlibs:Depends}
 Description: Contrib plugins for Code::Blocks IDE
- This package extends Code::Blocks functionality a great deal with the included
+ This package extends Code::Blocks functionality a great deal with the included
  plugins. These are:
     * Code profiler (based on gprof)
-    * Code statistics (SLOCs etc)
-    * DragScroll (enhances mouse operations)
+    * Code statistics (SLOCs etc)
+    * DragScroll (enhances mouse operations)
     * Setting of environment variables
     * Source exporter to PDF/HTML/ODT/RTF
     * Help
     * Keyboard shortcuts configuration
-    * GUI RAD builder (wxSmith)
-    * Selection of small games for relaxing between coding sessions! (BYOGames)
+    * GUI RAD builder (wxSmith)
+    * Selection of small games for relaxing between coding sessions! (BYOGames)
     * WYSIWYG forms designer for wxWidgets (wxSmith)
- .
- http://www.codeblocks.org
-
+ .
+ http://www.codeblocks.org
+
 Package: codeblocks-dev
-Architecture: any
+Architecture: any
 Section: devel
-Depends: libcodeblocks0
+Depends: libcodeblocks0 (= ${Source-Version})
 Description: Code::Blocks development files (SDK)
- Contains the development files (headers and libraries) for creating
- Code::Blocks plugins.
- .
- http://www.codeblocks.org
-
+ Contains the development files (headers and libraries) for creating
+ Code::Blocks plugins.
+ .
+ http://www.codeblocks.org
+
 Package: libwxsmithlib0-dev
-Architecture: any
+Architecture: any
 Section: devel
-Depends: libcodeblocks0
+Depends: libwxsmithlib0 (= ${Source-Version})
 Description: wxSmith development files
- Contains the development libraries for wxSmith (Code::Blocks plugin)
- .
- http://www.codeblocks.org
+ Contains the development libraries for wxSmith (Code::Blocks plugin)
+ .
+ http://www.codeblocks.org
Index: debian/libwxsmithlib0-dev.install
===========================
download for full patch...
anarxia 2007-07-17 23:21

Changes:

- Fix build-depends (removed packages listed in build-essential and depend on libstdc++-dev instead of a specific version).

- Use ${shlibs:Depends} for automatic dependency resolution.

- Simplify maintenance for the install files (used wildcards instead of version numbers).

- Do not install useless and potentially dangerous .la files.

mandrav 2007-07-25 11:47

${shlibs:Deps} will mark as dependencies the library versions used on the system generating the package. This is not what we 're after though...

anarxia 2007-08-05 12:47

If a library is binary compatible with earlier versions (and no new symbols were added) it will do the right thing. This is what every package does so it is possible to perform upgrades without breaking anything. Version-less dependencies allow the package to be installed in more systems but there is no guarantee that it will work.

For example if I compile the package with a g++ 4.3 snapshot the package will still use the hardcoded libstdc++ version in debian/control. It will install but it will not work on any system other than mine.

The "right" solution is to compile the package on each target distribution.

tpetrov 2013-10-01 20:43

Jens maintains the debian packages and they are in pretty good shape nowadays.