File: prepare-source-tarball-from-bjam-build.txt

package info (click to toggle)
libpwiz 3.0.18342-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 14,888 kB
  • sloc: cpp: 157,552; sh: 4,182; makefile: 317
file content (93 lines) | stat: -rw-r--r-- 2,353 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
This file documents the preparation of the autotools-based source tarball,
starting from the bjam-based build of pwiz using the ProteoWizard-distributed
source tarball.

tar xvjf pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2

Oddly enough, the tarball decompresses locally,so that

$ ls -1
Jamroot.jam
LICENSE
SUBSET
build-linux-x86
build-linux-x86_64
check
clean.bat
clean.sh
doc
example_data
libraries
pwiz
pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2
pwiz_aux
pwiz_tools
quickbuild.bat
quickbuild.sh
scripts

Anyways, let's go on:

$ cd scripts/autotools/
sh make_nonbjam_build.sh

# This should build the whole software package. The output of bjam is then
handled by a Python script to parse it and extract rules for the creation of the
autotools-based build environment. The directory of interest, after the build
has finished is:

build-linux-x86

The build goes on fully for the bjam build, but fails with the autotools test
build:

[...] -o pwiz/analysis/spectrum_processing/.libs/SpectrumList_ChargeStateCalculator.o
pwiz/analysis/spectrum_processing/SpectrumList_ChargeStateCalculator.cpp:40:10: fatal error: svm.h: No such file or directory
 #include "svm.h"
          ^~~~~~~
compilation terminated.

But this is not a problem, because the -Ilibraries/libsvm-3.0 will be added in
the debian/rules file laters.

So the generated autotools-based source tarball is:

build-linux-x86/libpwiz_src_.tgz

cd build-linux-x86

tar xvzf libpwiz_src_.tgz

mv pwiz libpwiz-src-301b48c-3.0.18342

We need to remove the Eigen stuff in that tarball, but not the nnls.h file in
it. Eigen stuff (but not nnls.h) is already shipped in Debian.

cd libpwiz-src-301b48c-3.0.18342/libraries/Eigen

tar xvzf libpwiz_src_.tgz

cd pwiz/libraries/Eigen
rm -rf src [A-Z]*

Now create the tarball:

cd ../../../
tar cvzf libpwiz-src-301b48c-3.0.18342.tgz libpwiz-src-301b48c-3.0.18342

We copy it to the the tarballs directory in this way:

cp libpwiz-src-301b48c-3.0.18342.tgz ../

Now we clean the business made by the untidy bz2 file downloaded from
sourceforge.

There are some tweaks to be performed, on the Makefile that is generated upon
running configure: the BOOST_LDPATH needs to be set to the
/usr/lib/x86_64-linux-gnu/ path. Same for the AM_CPPFLAGS that needs to be
updated to list the shipped libraries

CSpline  Eigen  boost_aux  doctest.h  libsvm-3.0