On Thu, Feb 01, 2018 at 12:13:40 -0800, Mike Miller wrote: > If this bug is still of interest, I think a useful first step would be > for someone to adapt the octave source package and add the appropriate > --without-X options. Once there are proof of concept binary packages > built without any graphical dependencies, then a useful disk usage > comparison can be done.
Here is an example of what I suggest interested parties can do quite easily. Modify the source package as in the attached example patch. This is not an example of a full solution, just a quick and dirty hack to build octave with no graphical dependencies. Note that this will also be a slightly crippled octave without any imread or imwrite capability. With the resulting packages, I can compare the storage requirements in a clean minbase installation: # apt install --no-install-recommends octave … 0 upgraded, 181 newly installed, 0 to remove and 0 not upgraded. Need to get 88.3 MB of archives. After this operation, 450 MB of additional disk space will be used. versus # apt install --no-install-recommends ./octave_4.2.1-6_amd64.deb \ ./liboctave4_4.2.1-6_amd64.deb \ ./octave-common_4.2.1-6_all.deb … 0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded. Need to get 29.9 MB/38.9 MB of archives. After this operation, 167 MB of additional disk space will be used. So I have saved about 280 MB in storage by dropping all graphical dependencies. That's about 5 MB in the octave binaries themselves and the rest in the dropped dependencies. Octave will not have a GUI, will not be able to plot anything, and will not be able to read or write image file formats. Is 0.25-0.3 GB on the order of the savings you are looking for? Is it worth not being able to work with image files or plot anything, even headless plotting? -- mike
diff --git a/debian/control b/debian/control index a98b3afee08d..fc2daca67cd0 100644 --- a/debian/control +++ b/debian/control @@ -22,31 +22,22 @@ Build-Depends: automake, less, libarpack2-dev, libblas-dev, + libbz2-dev, libcurl4-gnutls-dev, libfftw3-dev, - libfltk1.3-dev, - libfontconfig1-dev, - libgl2ps-dev, libglpk-dev, - libgraphicsmagick++1-dev, libhdf5-dev, liblapack-dev, libncurses5-dev, - libosmesa6-dev, libpcre3-dev, libqhull-dev, libqrupdate-dev, - libqscintilla2-qt5-dev, - libqt5opengl5-dev, libreadline-dev, librsvg2-bin, libsndfile1-dev, libsuitesparse-dev, - libxft-dev, portaudio19-dev, pstoedit, - qtbase5-dev, - qttools5-dev-tools, texinfo, texlive-generic-recommended, texlive-fonts-recommended, diff --git a/debian/rules b/debian/rules index 5c3161594258..7c16dbf09efe 100755 --- a/debian/rules +++ b/debian/rules @@ -49,7 +49,14 @@ endif override_dh_auto_configure: # Enforce generic BLAS (in order to avoid tying the binary to OpenBLAS or ATLAS) # Also pass OpenMP flag (#631831) - dh_auto_configure -- --with-blas=blas --enable-openmp $(WITH_JAVA_FLAGS) $(JIT_FLAG) $(HDF5_FLAGS) $(DOC_FLAG) + dh_auto_configure -- \ + --without-fltk \ + --without-magick \ + --without-opengl \ + --without-OSMesa \ + --without-qt \ + --without-x \ + --with-blas=blas --enable-openmp $(WITH_JAVA_FLAGS) $(JIT_FLAG) $(HDF5_FLAGS) $(DOC_FLAG) # dh_auto_test tries to run "make test", so override it override_dh_auto_test:
signature.asc
Description: PGP signature