View Issue Details

IDProjectCategoryView StatusLast Update
0002214libpasastroGeneralpublic19-10-25 10:52
ReporterMattia Verga Assigned ToPatrick Chevalley  
PrioritynormalSeverityminorReproducibilityN/A
Status assignedResolutionopen 
Summary0002214: Avoid bundled libraries as much as possible
DescriptionI would like to avoid building libpasastro with the bundled libraries as much as possible.
For example, wcstools and libraw are already available in Fedora and many other distro as separate packages. It would be nice to have the possibility to use the system libraries instead of the bundled sources at build time.
This will avoid possible security flaws in the distro (for example, when a security issue in libraw is discovered and the package gets updated in Fedora, all the dependent packages are automatically rebuilt in a very short time).

That was not a big problem with wcstools, but if you plan to bundle libraw an option such that would be greatly appreciated.
TagsNo tags attached.

Activities

Patrick Chevalley

19-10-22 15:56

administrator   ~0006019

Hi Mattia,

No, I not plan to bundle libraw, on the contrary this new library is a test for me how to avoid that. If this is possible I will change libpaswcs to work the same way.

If you look at the new raw/ directory it contain a single source file pasraw.cpp.
This file compile using the system provided libraw-devel, this produce libpasraw.so.1.1 that is dynamically linked to the standard libraw:
$ ldd libpasraw.so.1.1
        ...
        libraw.so.19 => /usr/lib/x86_64-linux-gnu/libraw.so.19 (0x00007fd799823000)

So libpasraw is really part of my application, it contain only C++ code that I cannot program directly in Pascal because linking to C++ objects is not supported. But it not duplicate any code from libraw.

Is this OK for you?

Mattia Verga

19-10-22 20:42

reporter   ~0006020

Oh, ok, that's fine.
I had a look into pasraw.cpp and (in my ignorance about c++/pascal) when I had seen the line `#include "libraw/libraw.h"` I thought you were going to include libraw source code into libpasastro source.

Thank you.

Patrick Chevalley

19-10-23 12:40

administrator   ~0006021

libraw/libraw.h is just the header to use the library from your program.

This work fine on Linux, but I have a lot of problem to apply this method to Windows because I want to keep a single build environment on Linux and cross-compile, but libraw as many dependencies I also need to compile with mingw. If this is too complicate I will keep this method only for Linux and use dcraw.exe on Windows.

Patrick Chevalley

19-10-24 13:49

administrator   ~0006023

I fix the issue with Windows and this also work on Mac. For this two systems I continue to bundle the dll and dylib with the application as previously so there is no libpasastro packages for Windows and Mac.

On Linux I remarked that libraw version change frequently and they are not compatible with program compiled with another version.
So I cannot continue to distribute my generic packages for libpasastro.

For Debian/Ubuntu I setup a Launchpad ppa with build for the different version and architecture:
https://launchpad.net/~pch/+archive/ubuntu/ppa-skychart

For Fedora it is important to rely completely on your packages now.

Mattia Verga

19-10-25 10:52

reporter   ~0006028

I've pushed the latest git checkout in Fedora repositories, updates should be available in few days

Issue History

Date Modified Username Field Change
19-10-22 10:13 Mattia Verga New Issue
19-10-22 15:56 Patrick Chevalley Assigned To => Patrick Chevalley
19-10-22 15:56 Patrick Chevalley Status new => feedback
19-10-22 15:56 Patrick Chevalley Note Added: 0006019
19-10-22 20:42 Mattia Verga Note Added: 0006020
19-10-22 20:42 Mattia Verga Status feedback => assigned
19-10-23 12:40 Patrick Chevalley Note Added: 0006021
19-10-24 13:49 Patrick Chevalley Note Added: 0006023
19-10-25 10:52 Mattia Verga Note Added: 0006028