bibledit / cloud

Source code for Bibledit core library and Cloud binary
GNU General Public License v3.0
12 stars 3 forks source link

Review Debian Cloud package dependencies #941

Closed teusbenschop closed 1 month ago

teusbenschop commented 2 months ago

The Cloud version for Debian pulls in very many dependencies for a desktop version.

Things like desktop icons, a graphics library (gtk+) a compositor, (libwayland0) etc, etc...

Is this really required, or can the dependencies be thinned out a bit?

teusbenschop commented 1 month ago

Because Bibledit-Cloud uses Doppler, a PDF rendering and manipulation library, this brings in many dependencies related to graphical libraries. That is visible through the dependency tree:

$ debtree poppler-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
digraph "poppler-utils" {
    rankdir=LR;
    node [shape=box];
    "poppler-utils" -> "libpoppler97" [color=blue,label="(= 0.86.1-0ubuntu1.4)"];
    "libpoppler97" -> "libfontconfig1" [color=blue,label="(>= 2.12.6)"];
    "libpoppler97" -> "libfreetype6" [color=blue,label="(>= 2.2.1)"];
    "libfreetype6" -> "libpng16-16" [color=blue,label="(>= 1.6.2-1)"];
    "libpoppler97" -> "libjpeg8" [color=blue,label="(>= 8c)"];
    "libjpeg8" -> "libjpeg-turbo8" [color=blue,label="(>= 1.1.90+svn722-1ubuntu6)"];
    "libpoppler97" -> "liblcms2-2" [color=blue,label="(>= 2.2+git20110628)"];
    "libpoppler97" -> "libnspr4" [color=blue,label="(>= 2:4.9-2~)"];
    "libpoppler97" -> "libnss3" [color=blue,label="(>= 2:3.16)"];
    "libnss3" -> "libnspr4" [color=blue,label="(>= 2:4.12)"];
    "libnss3" -> "libsqlite3-0" [color=blue,label="(>= 3.5.9)"];
    "libpoppler97" -> "libopenjp2-7" [color=blue,label="(>= 2.0.0)"];
    "libpoppler97" -> "libpng16-16" [color=blue,label="(>= 1.6.2-1)"];
    "libpoppler97" -> "libtiff5" [color=blue,label="(>= 4.0.3)"];
    "libtiff5" -> "libjbig0" [color=blue,label="(>= 2.0)"];
    "libtiff5" -> "libjpeg8" [color=blue,label="(>= 8c)"];
    "libtiff5" -> "liblzma5" [color=blue,label="(>= 5.1.1alpha+20120614)"];
    "libtiff5" -> "libwebp6" [color=blue,label="(>= 0.5.1)"];
    "libtiff5" -> "libzstd1" [color=blue,label="(>= 1.3.2)"];
    "libpoppler97" -> "poppler-data";
    "poppler-data" -> "dpkg" [color=purple,style=bold,label="(>= 1.15.6~)"];
    "poppler-utils" -> "libcairo2" [color=blue,label="(>= 1.12.0)"];
    "libcairo2" -> "libfontconfig1" [color=blue,label="(>= 2.12.6)"];
    "libcairo2" -> "libfreetype6" [color=blue,label="(>= 2.9.1)"];
    "libcairo2" -> "libpixman-1-0" [color=blue,label="(>= 0.30.0)"];
    "libcairo2" -> "libpng16-16" [color=blue,label="(>= 1.6.2-1)"];
    "libcairo2" -> "libxcb-render0" [color=blue];
    "libxcb-render0" -> "libxcb1" [color=blue,label="(>= 1.8)"];
    "libxcb1" -> "libxau6" [color=blue];
    "libxcb1" -> "libxdmcp6" [color=blue];
    "libxdmcp6" -> "libbsd0" [color=blue,label="(>= 0.2.0)"];
    "libcairo2" -> "libxcb-shm0" [color=blue];
    "libxcb-shm0" -> "libxcb1" [color=blue,label="(>= 1.12)"];
    "libcairo2" -> "libxcb1" [color=blue,label="(>= 1.6)"];
    "libcairo2" -> "libxext6" [color=blue];
    "libcairo2" -> "libxrender1" [color=blue];
    "poppler-utils" -> "libfreetype6" [color=blue,label="(>= 2.2.1)"];
    "poppler-utils" -> "liblcms2-2" [color=blue,label="(>= 2.2+git20110628)"];
    "poppler-utils" -> "pdftohtml" [color=red];
    "poppler-utils" -> "xpdf-utils" [arrowhead=inv,color=green];
    "xpdf-utils" [shape=octagon];
    "poppler-utils" -> "pdftohtml" [arrowhead=inv,color=green];
    "pdftohtml" [shape=octagon];
    "poppler-utils" [style="setlinewidth(2)"]
    "dpkg" [shape=diamond];
    "libfontconfig1" [shape=diamond];
}
I: The following dependencies have been excluded from the graph (skipped):
I: libc6 libstdc++6 libx11-6 zlib1g
// Excluded dependencies:
// libc6 libstdc++6 libx11-6 zlib1g
// total size of all shown packages: 30484480
// download size of all shown packages: 7226264
teusbenschop commented 1 month ago

It would be possible to remove the PDF handling capabilities from Bibledit, and the image capabilities. This means to remove the feature "Image Resources".

If there's no objections to removing this, it can be done.