[med-svn] [relion] 04/06: Redesign bin + lib + dev packages + dependencies
Roland Fehrenbacher
rfehren-guest at moszumanska.debian.org
Thu Oct 16 16:50:32 UTC 2014
This is an automated email from the git hooks/post-receive script.
rfehren-guest pushed a commit to branch master
in repository relion.
commit fa243721224e007c7c5a9684cf8ab3d9650bce17
Author: Roland Fehrenbacher <rf at q-leap.de>
Date: Wed Oct 15 21:49:31 2014 +0000
Redesign bin + lib + dev packages + dependencies
Now 4 packages are built for the 4 combinations:
- simple
- bare + MPI
- bare + GUI
- bare + MPI + GUI
This is necessary because the relion binaries only work with the versions of the
lib they were built with :(. librelion is unfortunately not designed in a way
that will allow to build one version of the lib which would properly support
all configuration cases.
---
debian/control | 123 ++++++++++++++++-----
debian/librelion+gui-1.3-1.install | 2 +
debian/librelion+gui-1.3-1.lintian-overrides | 5 +
debian/librelion+gui-dev.install | 6 +
debian/librelion+mpi+gui-1.3-1.install | 2 +
debian/librelion+mpi+gui-1.3-1.lintian-overrides | 5 +
debian/librelion+mpi+gui-dev.install | 6 +
...i-1.3-1.install => librelion+mpi-1.3-1.install} | 0
debian/librelion+mpi-1.3-1.lintian-overrides | 5 +
...n-mpi-dev.install => librelion+mpi-dev.install} | 1 +
debian/librelion-1.3-1.install | 3 +-
debian/librelion-dev-common.install | 1 -
debian/librelion-dev.install | 10 +-
debian/librelion-mpi-1.3-1.lintian-overrides | 5 -
.../{relion-bin-mpi.docs => relion-bin+gui.docs} | 0
...relion-gui.examples => relion-bin+gui.examples} | 0
debian/relion-bin+gui.install | 1 +
...relion-bin-mpi.docs => relion-bin+mpi+gui.docs} | 0
...on-gui.examples => relion-bin+mpi+gui.examples} | 0
debian/relion-bin+mpi+gui.install | 1 +
.../{relion-bin-mpi.docs => relion-bin+mpi.docs} | 0
debian/relion-bin+mpi.install | 1 +
debian/relion-bin-mpi.install | 1 -
debian/relion-bin.install | 20 +---
debian/relion-gui.install | 3 -
debian/rules | 46 +++++---
26 files changed, 171 insertions(+), 76 deletions(-)
diff --git a/debian/control b/debian/control
index 067d509..ba1b08d 100644
--- a/debian/control
+++ b/debian/control
@@ -20,9 +20,8 @@ Homepage: http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page
Package: relion-bin
Architecture: i386 amd64
Depends: ${shlibs:Depends},
- ${misc:Depends},
- librelion-1.3-1 (= ${binary:Version}) | librelion-mpi-1.3-1 (= ${binary:Version}),
-Conflicts: relion-bin-mpi
+ ${misc:Depends}
+Conflicts: relion-bin+mpi, relion-bin+gui, relion-bin+mpi+gui
Description: toolkit for 3D reconstructions in cryo-electron microscopy
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -33,13 +32,12 @@ Description: toolkit for 3D reconstructions in cryo-electron microscopy
.
relion-bin provides the serial command-line tools
-Package: relion-bin-mpi
+Package: relion-bin+mpi
Architecture: i386 amd64
Depends: ${shlibs:Depends},
${misc:Depends},
- librelion-mpi-1.3-1 (= ${binary:Version}),
openmpi-gcc | openmpi-bin
-Conflicts: relion-bin
+Conflicts: relion-bin, relion-bin+gui, relion-bin+mpi+gui
Description: parallel toolkit for 3D reconstructions in cryo-electron microscopy
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -48,15 +46,31 @@ Description: parallel toolkit for 3D reconstructions in cryo-electron microscopy
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- relion-bin-mpi provides the serial and parallel command-line tools based on
+ relion-bin+mpi provides the serial and parallel command-line tools based on
OpenMPI.
-Package: relion-gui
+Package: relion-bin+gui
+Architecture: i386 amd64
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Conflicts: relion-bin, relion-bin+mpi, relion-bin+mpi+gui
+Description: parallel toolkit for 3D reconstructions in cryo-electron microscopy
+ RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
+ computer program for Maximum A Posteriori refinement of (multiple) 3D
+ reconstructions or 2D class averages in cryo-electron microscopy.
+ .
+ RELION provides a GUI, several command-line tools in parallel (MPI) and serial
+ versions as well as a C++ API.
+ .
+ relion-bin+gui provides the serial command-line tools and the graphical user
+ interface.
+
+Package: relion-bin+mpi+gui
Architecture: i386 amd64
Depends: ${shlibs:Depends},
${misc:Depends},
- librelion-1.3-1 (= ${binary:Version}) | librelion-mpi-1.3-1 (= ${binary:Version}),
- relion-bin (= ${binary:Version})
+ openmpi-gcc | openmpi-bin
+Conflicts: relion-bin, relion-bin+mpi, relion-bin+gui
Description: parallel toolkit for 3D reconstructions in cryo-electron microscopy
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -65,12 +79,16 @@ Description: parallel toolkit for 3D reconstructions in cryo-electron microscopy
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- relion-gui provides the graphical user interface.
+ relion-bin+mpi+gui provides the serial and parallel command-line tools as
+ well as the graphical user interface.
-Package: librelion-dev-common
+Package: librelion-dev
Architecture: i386 amd64
Section: libdevel
-Depends: ${misc:Depends}
+Depends: librelion-1.3-1 (= ${binary:Version}),
+ librelion-dev-common,
+ ${misc:Depends}
+Conflicts: librelion+mpi-dev, librelion+gui-dev, librelion+mpi+gui-dev
Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -79,15 +97,32 @@ Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- This is the developers API package including only the header files.
+ This is the developers API package for use without GUI and MPI.
-Package: librelion-dev
+Package: librelion+mpi-dev
Architecture: i386 amd64
Section: libdevel
-Depends: librelion-1.3-1 (= ${binary:Version}),
+Depends: librelion+mpi-1.3-1 (= ${binary:Version}),
+ librelion-dev-common,
+ ${misc:Depends}
+Conflicts: librelion-dev, librelion+gui-dev, librelion+mpi+gui-dev
+Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
+ RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
+ computer program for Maximum A Posteriori refinement of (multiple) 3D
+ reconstructions or 2D class averages in cryo-electron microscopy.
+ .
+ RELION provides a GUI, several command-line tools in parallel (MPI) and serial
+ versions as well as a C++ API.
+ .
+ This is the developers API package for use with MPI but without GUI.
+
+Package: librelion+gui-dev
+Architecture: i386 amd64
+Section: libdevel
+Depends: librelion+gui-1.3-1 (= ${binary:Version}),
librelion-dev-common,
${misc:Depends}
-Conflicts: librelion-mpi-dev
+Conflicts: librelion-dev, librelion+mpi-dev, librelion+mpi+gui-dev
Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -96,15 +131,15 @@ Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- This is the developers API package.
+ This is the developers API package for use with GUI but without MPI.
-Package: librelion-mpi-dev
+Package: librelion+mpi+gui-dev
Architecture: i386 amd64
Section: libdevel
-Depends: librelion-mpi-1.3-1 (= ${binary:Version}),
+Depends: librelion+mpi+gui-1.3-1 (= ${binary:Version}),
librelion-dev-common,
${misc:Depends}
-Conflicts: librelion-dev
+Conflicts: librelion-dev, librelion+mpi-dev, librelion+gui-dev
Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -113,7 +148,7 @@ Description: C++ API for RELION (3D reconstructions in cryo-electron microscopy)
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- This is the developers API package based on OpenMPI.
+ This is the developers API package for use with MPI and GUI.
Package: librelion-1.3-1
Architecture: i386 amd64
@@ -122,7 +157,7 @@ Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
-Conflicts: librelion-mpi-1.3-1
+Conflicts: librelion+mpi-1.3-1, librelion+gui-1.3-1, librelion+mpi+gui-1.3-1
Description: RELION dynnamic library (3D reconstructions in cryo-electron microscopy)
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -133,14 +168,50 @@ Description: RELION dynnamic library (3D reconstructions in cryo-electron micros
.
This is the runtime library.
-Package: librelion-mpi-1.3-1
+Package: librelion+mpi-1.3-1
+Architecture: i386 amd64
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Conflicts: librelion-1.3-1, librelion+gui-1.3-1, librelion+mpi+gui-1.3-1
+Description: RELION dynnamic library (3D reconstructions in cryo-electron microscopy)
+ RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
+ computer program for Maximum A Posteriori refinement of (multiple) 3D
+ reconstructions or 2D class averages in cryo-electron microscopy.
+ .
+ RELION provides a GUI, several command-line tools in parallel (MPI) and serial
+ versions as well as a C++ API.
+ .
+ This is the runtime library for use with MPI but without GUI.
+
+Package: librelion+gui-1.3-1
+Architecture: i386 amd64
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Conflicts: librelion-1.3-1, librelion+mpi-1.3-1, librelion+mpi+gui-1.3-1
+Description: RELION dynnamic library (3D reconstructions in cryo-electron microscopy)
+ RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
+ computer program for Maximum A Posteriori refinement of (multiple) 3D
+ reconstructions or 2D class averages in cryo-electron microscopy.
+ .
+ RELION provides a GUI, several command-line tools in parallel (MPI) and serial
+ versions as well as a C++ API.
+ .
+ This is the runtime library for use with GUI but without MPI.
+
+Package: librelion+mpi+gui-1.3-1
Architecture: i386 amd64
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
-Conflicts: librelion-1.3-1
+Conflicts: librelion-1.3-1, librelion+mpi-1.3-1, librelion+gui-1.3-1
Description: RELION dynnamic library (3D reconstructions in cryo-electron microscopy)
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone
computer program for Maximum A Posteriori refinement of (multiple) 3D
@@ -149,4 +220,4 @@ Description: RELION dynnamic library (3D reconstructions in cryo-electron micros
RELION provides a GUI, several command-line tools in parallel (MPI) and serial
versions as well as a C++ API.
.
- This is the runtime library based on OpenMPI.
+ This is the runtime library for use with MPI and GUI.
diff --git a/debian/librelion+gui-1.3-1.install b/debian/librelion+gui-1.3-1.install
new file mode 100755
index 0000000..785dcb6
--- /dev/null
+++ b/debian/librelion+gui-1.3-1.install
@@ -0,0 +1,2 @@
+#! /usr/bin/dh-exec
+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so.* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/librelion+gui-1.3-1.lintian-overrides b/debian/librelion+gui-1.3-1.lintian-overrides
new file mode 100644
index 0000000..54c1a62
--- /dev/null
+++ b/debian/librelion+gui-1.3-1.lintian-overrides
@@ -0,0 +1,5 @@
+# librelion+gui-1.3-1 contains the same library names as librelion-1.3-1
+# just that they are built with GUI support. The build system doesn't set
+# a different name/soname for these libs. They are packaged as alternative
+# versions (with or without GUI support) and conflict.
+librelion+gui-1.3-1 binary: package-name-doesnt-match-sonames librelion-1.3-1
diff --git a/debian/librelion+gui-dev.install b/debian/librelion+gui-dev.install
new file mode 100755
index 0000000..2894d19
--- /dev/null
+++ b/debian/librelion+gui-dev.install
@@ -0,0 +1,6 @@
+#! /usr/bin/dh-exec
+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.a usr/lib/${DEB_HOST_MULTIARCH}/
+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.la usr/lib/${DEB_HOST_MULTIARCH}/
+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so usr/lib/${DEB_HOST_MULTIARCH}/
+gui/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig usr/lib/${DEB_HOST_MULTIARCH}/
+gui/usr/include usr/include
diff --git a/debian/librelion+mpi+gui-1.3-1.install b/debian/librelion+mpi+gui-1.3-1.install
new file mode 100755
index 0000000..f0eea2a
--- /dev/null
+++ b/debian/librelion+mpi+gui-1.3-1.install
@@ -0,0 +1,2 @@
+#! /usr/bin/dh-exec
+mpi+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so.* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/librelion+mpi+gui-1.3-1.lintian-overrides b/debian/librelion+mpi+gui-1.3-1.lintian-overrides
new file mode 100644
index 0000000..cf5ee64
--- /dev/null
+++ b/debian/librelion+mpi+gui-1.3-1.lintian-overrides
@@ -0,0 +1,5 @@
+# librelion+mpi+gui-1.3-1 contains the same library names as librelion-1.3-1
+# just that they are built with MPI and GUI support. The build system doesn't set
+# a different name/soname for these libs. They are packaged as alternative
+# versions (with or without mpi/GUI support) and conflict.
+librelion+mpi+gui-1.3-1 binary: package-name-doesnt-match-sonames librelion-1.3-1
diff --git a/debian/librelion+mpi+gui-dev.install b/debian/librelion+mpi+gui-dev.install
new file mode 100755
index 0000000..f261bea
--- /dev/null
+++ b/debian/librelion+mpi+gui-dev.install
@@ -0,0 +1,6 @@
+#! /usr/bin/dh-exec
+mpi+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.a usr/lib/${DEB_HOST_MULTIARCH}/
+mpi+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.la usr/lib/${DEB_HOST_MULTIARCH}/
+mpi+gui/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so usr/lib/${DEB_HOST_MULTIARCH}/
+mpi+gui/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig usr/lib/${DEB_HOST_MULTIARCH}/
+mpi+gui/usr/include usr/include
diff --git a/debian/librelion-mpi-1.3-1.install b/debian/librelion+mpi-1.3-1.install
similarity index 100%
rename from debian/librelion-mpi-1.3-1.install
rename to debian/librelion+mpi-1.3-1.install
diff --git a/debian/librelion+mpi-1.3-1.lintian-overrides b/debian/librelion+mpi-1.3-1.lintian-overrides
new file mode 100644
index 0000000..cca7d05
--- /dev/null
+++ b/debian/librelion+mpi-1.3-1.lintian-overrides
@@ -0,0 +1,5 @@
+# librelion+mpi-1.3-1 contains the same library names as librelion-1.3-1
+# just that they are built with MPI support. The build system doesn't set
+# a different name/soname for these libs. They are packaged as alternative
+# versions (with or without mpi support) and conflict.
+librelion+mpi-1.3-1 binary: package-name-doesnt-match-sonames librelion-1.3-1
diff --git a/debian/librelion-mpi-dev.install b/debian/librelion+mpi-dev.install
similarity index 92%
rename from debian/librelion-mpi-dev.install
rename to debian/librelion+mpi-dev.install
index 048e2a2..dbc6925 100755
--- a/debian/librelion-mpi-dev.install
+++ b/debian/librelion+mpi-dev.install
@@ -3,3 +3,4 @@ mpi/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.a usr/lib/${DEB_HOST_MULTIARCH}/
mpi/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.la usr/lib/${DEB_HOST_MULTIARCH}/
mpi/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so usr/lib/${DEB_HOST_MULTIARCH}/
mpi/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig usr/lib/${DEB_HOST_MULTIARCH}/
+mpi/usr/include usr/include
diff --git a/debian/librelion-1.3-1.install b/debian/librelion-1.3-1.install
old mode 100644
new mode 100755
index c03ddb7..8a0f6b9
--- a/debian/librelion-1.3-1.install
+++ b/debian/librelion-1.3-1.install
@@ -1 +1,2 @@
-usr/lib/*/librelion*.so.*
+#! /usr/bin/dh-exec
+simple/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so.* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/librelion-dev-common.install b/debian/librelion-dev-common.install
deleted file mode 100644
index e43b95c..0000000
--- a/debian/librelion-dev-common.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/include
diff --git a/debian/librelion-dev.install b/debian/librelion-dev.install
old mode 100644
new mode 100755
index 644cf23..a5af184
--- a/debian/librelion-dev.install
+++ b/debian/librelion-dev.install
@@ -1,4 +1,6 @@
-usr/lib/*/librelion*.a
-usr/lib/*/librelion*.la
-usr/lib/*/librelion*.so
-usr/lib/*/pkgconfig
+#! /usr/bin/dh-exec
+simple/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.a usr/lib/${DEB_HOST_MULTIARCH}/
+simple/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.la usr/lib/${DEB_HOST_MULTIARCH}/
+simple/usr/lib/${DEB_HOST_MULTIARCH}/librelion*.so usr/lib/${DEB_HOST_MULTIARCH}/
+simple/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig usr/lib/${DEB_HOST_MULTIARCH}/
+simple/usr/include usr/include
diff --git a/debian/librelion-mpi-1.3-1.lintian-overrides b/debian/librelion-mpi-1.3-1.lintian-overrides
deleted file mode 100644
index 04883b5..0000000
--- a/debian/librelion-mpi-1.3-1.lintian-overrides
+++ /dev/null
@@ -1,5 +0,0 @@
-# librelion-mpi-1.3-1 contains the same library names as librelion-1.3-1
-# just that they are built with MPI support. The build system doesn't set
-# a different name/soname for these libs. They are packaged as alternative
-# versions (with or without mpi) and conflict.
-librelion-mpi-1.3-1 binary: package-name-doesnt-match-sonames librelion-1.3-1
diff --git a/debian/relion-bin-mpi.docs b/debian/relion-bin+gui.docs
similarity index 100%
copy from debian/relion-bin-mpi.docs
copy to debian/relion-bin+gui.docs
diff --git a/debian/relion-gui.examples b/debian/relion-bin+gui.examples
similarity index 100%
copy from debian/relion-gui.examples
copy to debian/relion-bin+gui.examples
diff --git a/debian/relion-bin+gui.install b/debian/relion-bin+gui.install
new file mode 100644
index 0000000..8fd9a7e
--- /dev/null
+++ b/debian/relion-bin+gui.install
@@ -0,0 +1 @@
+gui/usr/bin/* usr/bin/
diff --git a/debian/relion-bin-mpi.docs b/debian/relion-bin+mpi+gui.docs
similarity index 100%
copy from debian/relion-bin-mpi.docs
copy to debian/relion-bin+mpi+gui.docs
diff --git a/debian/relion-gui.examples b/debian/relion-bin+mpi+gui.examples
similarity index 100%
rename from debian/relion-gui.examples
rename to debian/relion-bin+mpi+gui.examples
diff --git a/debian/relion-bin+mpi+gui.install b/debian/relion-bin+mpi+gui.install
new file mode 100644
index 0000000..fbbec28
--- /dev/null
+++ b/debian/relion-bin+mpi+gui.install
@@ -0,0 +1 @@
+mpi+gui/usr/bin/* usr/bin/
diff --git a/debian/relion-bin-mpi.docs b/debian/relion-bin+mpi.docs
similarity index 100%
rename from debian/relion-bin-mpi.docs
rename to debian/relion-bin+mpi.docs
diff --git a/debian/relion-bin+mpi.install b/debian/relion-bin+mpi.install
new file mode 100644
index 0000000..e0d3752
--- /dev/null
+++ b/debian/relion-bin+mpi.install
@@ -0,0 +1 @@
+mpi/usr/bin/* usr/bin/
diff --git a/debian/relion-bin-mpi.install b/debian/relion-bin-mpi.install
deleted file mode 100644
index 50f4cbd..0000000
--- a/debian/relion-bin-mpi.install
+++ /dev/null
@@ -1 +0,0 @@
-mpi/usr/bin/*_mpi usr/bin/
diff --git a/debian/relion-bin.install b/debian/relion-bin.install
index e204ce1..b8e4466 100644
--- a/debian/relion-bin.install
+++ b/debian/relion-bin.install
@@ -1,19 +1 @@
-usr/bin/relion_autopick
-usr/bin/relion_find_tiltpairs
-usr/bin/relion_image_handler
-usr/bin/relion_mask_create
-usr/bin/relion_particle_polish
-usr/bin/relion_particle_sort
-usr/bin/relion_postprocess
-usr/bin/relion_preprocess
-usr/bin/relion_project
-usr/bin/relion_reconstruct
-usr/bin/relion_refine
-usr/bin/relion_run_ctffind
-usr/bin/relion_stack_create
-usr/bin/relion_star_datablock_ctfdat
-usr/bin/relion_star_datablock_singlefiles
-usr/bin/relion_star_datablock_stack
-usr/bin/relion_star_loopheader
-usr/bin/relion_star_plottable
-usr/bin/relion_star_printtable
+simple/usr/bin/* usr/bin/
diff --git a/debian/relion-gui.install b/debian/relion-gui.install
deleted file mode 100644
index 23e2a59..0000000
--- a/debian/relion-gui.install
+++ /dev/null
@@ -1,3 +0,0 @@
-gui/usr/bin/relion_display usr/bin/
-gui/usr/bin/relion_maingui usr/bin/
-gui/usr/bin/relion_manualpick usr/bin/
diff --git a/debian/rules b/debian/rules
index 16df82a..205a16d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,19 +37,29 @@ CONFIGURE_COMMON := dh_auto_configure -- \
override_dh_auto_configure:
override_dh_auto_build:
- # First configure/build/install GUI version
+ # We need to build 4 different versions for the 4 different binary
+ # packages. This is necessary because unfortunately the binaries work
+ # only with the exact same librelion they were built with.
+ # First no MPI, no GUI (for relion-bin) ...
+ $(CONFIGURE_COMMON) --disable-gui
+ make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/simple/usr
+ make clean
+ # ... then add MPI (for relion-bin+mpi) ...
+ MPICXX=$(MPICXX) $(CONFIGURE_COMMON) --enable-mpi --disable-gui
+ make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/mpi/usr
+ make clean
+ # ... then add GUI (for relion-bin+gui) ...
$(CONFIGURE_COMMON) --enable-gui \
CPPFLAGS="$$(fltk-config --cxxflags)" \
LDFLAGS="$$(fltk-config --ldflags)"
- make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/gui/usr; \
- make clean
- # ... then mpitools ...
- MPICXX=$(MPICXX) $(CONFIGURE_COMMON) --enable-mpi --disable-gui
- make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/mpi/usr; \
- make clean
- # ... then clitools ...
- $(CONFIGURE_COMMON) --disable-gui
- make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/usr
+ make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/gui/usr
+ make clean
+ # ... finally add MPI + GUI (for librelion-bin+mpi+gui)
+ MPICXX=$(MPICXX) $(CONFIGURE_COMMON) --enable-mpi --enable-gui \
+ CPPFLAGS="$$(fltk-config --cxxflags)" \
+ LDFLAGS="$$(fltk-config --ldflags)"
+ make $(MAKE_-J); make install prefix=$(CURDIR)/debian/tmp/mpi+gui/usr
+ make clean
# clear dependency_libs field in *.la files
# see lintian non-empty-dependency_libs-in-la-file for reference
sed -i "/dependency_libs/ s/'.*'/''/" $$(find debian/tmp/ -name '*.la')
@@ -59,18 +69,22 @@ override_dh_prep:
dh_prep -X debian/tmp
override_dh_auto_install:
+
+override_dh_install:
dh_install
+ # relion_qsub.csh should just go to GUI d/examples
+ find debian/relion-bi*/usr/bin -name relion_qsub.csh -delete
-override_dh_shlibdeps: pkgs=relion-gui relion-bin relion-bin-mpi
+override_dh_shlibdeps: pkgs=relion-bin relion-bin+mpi relion-bin+gui \
+ relion-bin+mpi+gui
override_dh_shlibdeps:
+ # First for all packages apart from relion-bin*
dh_shlibdeps -- $(patsubst %,-x%,$(pkgs))
- # Override substvars for gui and bin packages to make sure they use
- # the correct lib package
+ # Now for the relion-bin* packages
for pkg in $(pkgs); do \
- mpi=""; [ "$$pkg" = "relion-bin-mpi" ] && mpi="-mpi"; \
- echo -e "\n\n-- Info: Run dpkg-shlibdeps for $$pkg --\n"; \
+ echo -e "\n-- Info: Run dpkg-shlibdeps for $$pkg --\n"; \
dpkg-shlibdeps -e debian/$${pkg}/usr/bin/relion_* \
- -Sdebian/lib-relion$${mpi}$(RELION_API_VERSION)-$(RELION_SO_CUR_INTERFACE) \
+ -Sdebian/librelion$${pkg#relion-bin}-$(RELION_API_VERSION)-$(RELION_SO_CUR_INTERFACE) \
-Tdebian/$${pkg}.substvars; \
done
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/relion.git
More information about the debian-med-commit
mailing list