1 |
Hi all, |
2 |
|
3 |
Upstream SuiteSparse has started to use cmake in earnest to configure |
4 |
and install individual component. This currently in beta to which I have |
5 |
given feedback. |
6 |
|
7 |
There are several issue with suitesparse as it is. Right now we split it |
8 |
using a script that I forked from an original work from bicatali |
9 |
(Sebastien Fabbro). |
10 |
The main issue is that upstream only release a meta package and we split |
11 |
it. The version of the meta package and of suitesparseconfig increase |
12 |
but for the other components some increase and some not. |
13 |
Issues: |
14 |
* on one occasion a package was changed without version bump |
15 |
* version numbers of each packages are stored in two locations in most |
16 |
of the packages. And occasionally they do not match, the higher one |
17 |
should be kept but this is a pain in the automation. |
18 |
|
19 |
With the current upstream packaging I'd rather move to using the |
20 |
upstream meta package tarball for everything. Mainly because some |
21 |
components are currently shared. Splitting would mean copying the |
22 |
components as needed in individual packages. |
23 |
Which also leaves us with the version numbering issue. Do we keep |
24 |
individual versions or switch everything to the version number of the |
25 |
meta package? The later is convenient and make sure the tarball has some |
26 |
version relating tot he ebuild version number. |
27 |
It is also a bit redundant for packages that don't evolve much. |
28 |
|
29 |
But it is very convenient and I have used the later for my current |
30 |
development. |
31 |
|
32 |
Find$pkg.cmake files are shipped at install time, but not .pc files. The |
33 |
current ones are produced by the splitting script. |
34 |
I identified only one downstream package that uses the .pc files: |
35 |
cvxopt. Removing the use of suitesparse .pc files in cvxopt is |
36 |
straightforward and should lead to any issues as suitesparse doesn't put |
37 |
anything in weird location of use sub folders that need to be known at |
38 |
compile time. |
39 |
|
40 |
I am very of the mind that we should stop the splitting. Versionning of |
41 |
the individual packages is a bit in the air but following the meta |
42 |
package versioning is the easiest maintenance wise. |
43 |
|
44 |
Opinion, suggestions? |
45 |
|
46 |
Cheers, |
47 |
François |