OpenDataNode / odn-box

0 stars 2 forks source link

odn-simple dependencies appear too big #13

Closed hanecak closed 9 years ago

hanecak commented 9 years ago

I have a clean installation of Debian Wheezy. And I follow installation instructions for ODN 0.11.0 as described here:

https://utopia.sk/wiki/display/ODN/Open+Data+Node+v0.11.0

Now:

# aptitude update
...
The following NEW packages will be installed:
  authbind{a} autopoint{a} binutils{a} build-essential{a} ca-certificates-java{a} cpp{a} cpp-4.7{a} dbus{a} dpkg-dev{a} fakeroot{a} fontconfig-config{a} fonts-droid{a} g++{a} g++-4.7{a} gcc{a} gcc-4.7{a} gettext{a} ghostscript{a} 
  git{a} git-man{a} gsfonts{a} imagemagick-common{a} java-common{a} libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libapache2-mod-wsgi{a} libasyncns0{a} libavahi-client3{a} libavahi-common-data{a} 
  libavahi-common3{a} libc-dev-bin{a} libc6-dev{a} libcommons-dbcp-java{a} libcommons-pool-java{a} libcroco3{a} libcups2{a} libcupsimage2{a} libcurl3-gnutls{a} libdbus-1-3{a} libdpkg-perl{a} libecj-java{a} liberror-perl{a} libffi5{a} 
  libfile-fcntllock-perl{a} libflac8{a} libfontconfig1{a} libgeronimo-jta-1.1-spec-java{a} libgettextpo0{a} libglib2.0-0{a} libglib2.0-data{a} libgmp10{a} libgomp1{a} libgs9{a} libgs9-common{a} libice6{a} libijs-0.35{a} libiodbc2{a} 
  libitm1{a} libjasper1{a} libjbig0{a} libjbig2dec0{a} libjson0{a} liblcms2-2{a} liblqr-1-0{a} libltdl7{a} libmagickcore5{a} libmagickwand5{a} libmpc2{a} libmpfr4{a} libnspr4{a} libnss3{a} libogg0{a} libpaper-utils{a} libpaper1{a} 
  libpcsclite1{a} libpulse0{a} libpython2.6{a} libpython2.7{a} libquadmath0{a} librtmp0{a} libservlet3.0-java{a} libsm6{a} libsndfile1{a} libssh2-1{a} libstdc++6-4.7-dev{a} libsystemd-login0{a} libtiff4{a} libtimedate-perl{a} 
  libtomcat7-java{a} libunistring0{a} libvirtodbc0{a} libvorbis0a{a} libvorbisenc2{a} libx11-xcb1{a} libxi6{a} libxt6{a} libxtst6{a} linux-libc-dev{a} make{a} manpages-dev{a} odn-ckan-shared{a} odn-simple odn-solr{a} 
  openjdk-7-jre-headless{a} poppler-data{a} python-pip{a} python-pkg-resources{a} python-setuptools{a} rsync{a} shared-mime-info{a} tomcat7{a} tomcat7-common{a} tomcat7-user{a} ttf-dejavu-core{a} tzdata-java{a} 
  unifiedviews-backend{a} unifiedviews-backend-pgsql{a} unifiedviews-backend-shared{a} unifiedviews-pgsql{a} unifiedviews-webapp{a} unifiedviews-webapp-pgsql{a} unifiedviews-webapp-shared{a} virtuoso-opensource{a} 
  virtuoso-opensource-7{a} virtuoso-opensource-7-bin{a} virtuoso-opensource-7-common{a} virtuoso-server{a} virtuoso-vad-conductor{a} virtuoso-vsp-startpage{a} x11-common{a} 
0 packages upgraded, 131 newly installed, 0 to remove and 0 not upgraded.

that seems excessive: I'm interested in running the ODN, not in developing anything on it. Thus following packages appear unnecessary:

Those are development tools which should not be needed to "just run the thing".

Please take a closer look at package dependencies. Smaller ODN footprint would be welcome.

skrchnavy commented 9 years ago

@Jan-Marcek please list here all dependencies in all odn-XXX debian packages to understand where is root cause.

Jan-Marcek commented 9 years ago

dependencies without recommended packages

debtree --no-recommends --no-skip odn-simple

odn-simple

Non transitive and non recommended dependencies

apt-get --no-install-recommends install odn-simple -V
The following NEW packages will be installed:
   apache2-mpm-worker (2.2.22-13+deb7u4)
   apache2-utils (2.2.22-13+deb7u4)
   apache2.2-bin (2.2.22-13+deb7u4)
   apache2.2-common (2.2.22-13+deb7u4)
   ca-certificates-java (20121112+nmu2)
   gettext (0.18.1.1-9)
   imagemagick-common (6.7.7.10-5+deb7u3)
   java-common (0.47)
   ldap-utils (2.4.31-2)
   libapache2-mod-wsgi (3.3-4+deb7u1)
   libapr1 (1.4.6-3+deb7u1)
   libaprutil1 (1.4.1-3)
   libaprutil1-dbd-sqlite3 (1.4.1-3)
   libaprutil1-ldap (1.4.1-3)
   libasyncns0 (0.8-4)
   libcommons-dbcp-java (1.4-3)
   libcommons-pool-java (1.5.6-1)
   libcroco3 (0.6.6-2)
   libecj-java (3.5.1-3)
   libflac8 (1.2.1-6+deb7u1)
   libgettextpo0 (0.18.1.1-9)
   libiodbc2 (3.52.7-2+deb7u1)
   libjson0 (0.10-1.2)
   liblqr-1-0 (0.4.1-2)
   libmagickcore5 (6.7.7.10-5+deb7u3)
   libmagickwand5 (6.7.7.10-5+deb7u3)
   libnspr4 (4.9.2-1+deb7u2)
   libnss3 (3.14.5-1+deb7u4)
   libodbc1 (2.2.14p2-5)
   libogg0 (1.3.0-4)
   libpq5 (9.1.15-0+deb7u1)
   libpulse0 (2.0-6.1)
   libpython2.6 (2.6.8-1.1)
   libpython2.7 (2.7.3-6+deb7u2)
   libservlet3.0-java (7.0.28-4+deb7u1)
   libsndfile1 (1.0.25-5)
   libtomcat7-java (7.0.28-4+deb7u1)
   libunistring0 (0.9.3-5)
   libvirtodbc0 (7.2)
   libvorbis0a (1.3.2-1.3)
   libvorbisenc2 (1.3.2-1.3)
   libx11-xcb1 (1.5.0-1+deb7u1)
   libxtst6 (1.2.1-1+deb7u1)
   odn-ckan-shared (2.3-odn1.0.0~46)
   odn-midpoint (3.2~12)
   odn-simple (0.11.1~253)
   odn-solr (4.10.2-odn0.11.0)
   openjdk-7-jre-headless (7u75-2.5.4-1~deb7u1)
   postgresql (9.1+134wheezy4)
   postgresql-9.1 (9.1.15-0+deb7u1)
   postgresql-client-9.1 (9.1.15-0+deb7u1)
   postgresql-client-common (134wheezy4)
   postgresql-common (134wheezy4)
   python-pip (1.1-3)
   python-pkg-resources (0.6.24-1)
   python-setuptools (0.6.24-1)
   slapd (2.4.31-2)
   tomcat7 (7.0.28-4+deb7u1)
   tomcat7-common (7.0.28-4+deb7u1)
   tomcat7-user (7.0.28-4+deb7u1)
   tzdata-java (2015b-0wheezy1)
   unifiedviews-backend (2.0.0~240)
   unifiedviews-backend-pgsql (2.0.0~240)
   unifiedviews-backend-shared (2.0.0~240)
   unifiedviews-pgsql (2.0.0~240)
   unifiedviews-webapp (2.0.0~240)
   unifiedviews-webapp-pgsql (2.0.0~240)
   unifiedviews-webapp-shared (2.0.0~240)
   virtuoso-opensource (7.2)
   virtuoso-opensource-7 (7.2)
   virtuoso-opensource-7-bin (7.2)
   virtuoso-opensource-7-common (7.2)
Jan-Marcek commented 9 years ago

aptitude and apt install recommended dependency by default

If a user doesn't want to install recommended dependency he/she should use one of these variants apt variant apt-get --no-install-recommends -V install odn-simple aptitude variant aptitude install --without-recommends --verbose odn-simple

for instance: python-pip has python-dev-all and build-essential as recommended dependency. That's why system installed devel libs,

Definitely, We should mention in our official installation manual.

Jan-Marcek commented 9 years ago

@skrchnavy please mention our findings at https://utopia.sk/wiki/display/ODN/Open+Data+Node+v0.11.0

skrchnavy commented 9 years ago

https://utopia.sk/wiki/display/ODN/Open+Data+Node+v1.0.1 updated with this recomendation