rust-lang / crates-build-env

Build environment for third-party Rust crates
MIT License
69 stars 89 forks source link

WIP: update to Ubuntu 20.04 #42

Closed jyn514 closed 4 years ago

jyn514 commented 4 years ago

This doesn't pass, apparently 20.04 got rid of a bunch of packages. We'll have to make a policy decision about whether we should get rid of outdated ones/look for a new version.

Missing packages: Generated by copy pasting the errors from apt, then `"s/^E: Unable to locate package // ; s/E: Couldn't find any package by glob //; s/E: Couldn't find any package by regex //; s/E: Package '\([^']*\)' has no installation candidate/\1/" | tr -d "'" | sort -u`. ``` cpp-6 libapt-inst2.0 libapt-pkg5.0 libarmadillo8 libasan3 libavcodec57 libavformat57 libavresample3 libavutil55 libbind9-160 libboost-filesystem1.62.0 libboost-filesystem1.65.1 libboost-iostreams1.62.0 libboost-system1.62.0 libboost-system1.65.1 libcapnp-0.6.1 libcdio17 libcfitsio5 libcharls1 libcloog-isl4 libcsfml-audio2.4 libcsfml-graphics2.4 libcsfml-network2.4 libcsfml-system2.4 libcsfml-window2.4 libcwidget3v5 libdns1100 libdns-export1100 libdouble-conversion1 libelektra-dev libevent-2.1-6 libevent-core-2.1-6 libevent-extra-2.1-6 libevent-openssl-2.1-6 libevent-pthreads-2.1-6 libexiv2-14 libffi6 libgcc-6-dev libgdal20 libgdbm5 libgdcm2.8 libgeos-3.6.2 libgeotiff2 libgfortran3 libgfortran-6-dev libglew2.0 libhdf5-100 libhdf5-openmpi-100 libhogweed4 libhttp-parser2.7.1 libhunspell-1.6-0 libhwloc5 libhyperscan4 libicu60 libiculx60 libilmbase12 libip4tc0 libirs160 libisc169 libisccc160 libisccfg160 libisc-export169 libisl15 libisl19 libiso9660-10 libjson-c3 libldb1 liblwres160 libmariadbclient18 libmysqlclient20 libnetcdf13 libnettle6 libntdb1 libobjc-6-dev libogdi3.2 libopencv3.2-java libopencv3.2-jni libopencv-calib3d3.2 libopencv-contrib3.2 libopencv-core3.2 libopencv-features2d3.2 libopencv-flann3.2 libopencv-highgui3.2 libopencv-imgcodecs3.2 libopencv-imgproc3.2 libopencv-ml3.2 libopencv-objdetect3.2 libopencv-photo3.2 libopencv-shape3.2 libopencv-stitching3.2 libopencv-superres3.2 libopencv-video3.2 libopencv-videoio3.2 libopencv-videostab3.2 libopencv-viz3.2 libopenexr22 libopenmpi2 libperl5.26 libpolkit-backend-1-0 libpoppler73 libpostproc54 libprocps6 libproj12 libprotobuf10 libprotobuf-lite10 libprotoc10 libpython3.6-dev libpython3.6-minimal libpython3.6-stdlib libpython-dev libpython-stdlib libreadline7 libruby2.5 libsane-extras libsane-extras-common libsensors4 libsfml-audio2.4 libsfml-graphics2.4 libsfml-network2.4 libsfml-system2.4 libsfml-window2.4 libsndio6.1 libssl1.0.0 libstdc++-6-dev libswresample2 libswscale4 libv8-3.14.5 libvpx5 libwxgtk3.0-0v5 libx264-152 libx265-146 python-minimal python-talloc ruby2.5 vdpau-va-driver ```
pietroalbini commented 4 years ago

Most of those packages have a version number in them: we "just" need to find the newer version of them and install those.

rakshith-ravi commented 4 years ago

Okay I have an idea for this. Let me try writing a small script that does it.

rakshith-ravi commented 4 years ago

Okay here's what my script came up with:

These are the replacement packages:
``` cpp-10-aarch64-linux-gnu libapt-pkg-dev libapt-pkg-dev libarmadillo-dev libasan4 libavcodec-dev libavformat-dev libavresample-dev libavutil-dev libbind-config-parser-perl libboost-all-dev libboost-all-dev libboost-all-dev libboost-all-dev libboost-all-dev libcapnp-0.7.0 libcdio-cdda-dev libcfitsio-bin libcharls-dev libcsfml-audio2.5 libcsfml-audio2.5 libcsfml-audio2.5 libcsfml-audio2.5 libcsfml-audio2.5 libdns-export1109 libdns-export1109 libdouble-conversion-dev libevent-2.1-7 libevent-2.1-7 libevent-2.1-7 libevent-2.1-7 libevent-2.1-7 libexiv2-27 libffi-checklib-perl libgcc-10-dev-alpha-cross libgdal-dev libgdbm-compat-dev libgdcm-cil libgeos++-dev libgeotiff-dev libgfortran-10-dev-alpha-cross libgfortran-10-dev-alpha-cross libglew-dev libhdf4-0-alt libhdf4-0-alt libhogweed5 libhttp-async-perl libhunspell-1.7-0 libhwloc-common libhyperscan-dev libicu-dev libilmbase-dev libiptc-dev libirs-export161 libisc-export1105 libisccc-export161 libisccfg-export163 libisc-export1105 libisl-dev libisl-dev libiso9660-11 libjson-any-perl libldb-dev liblwres161 libmariadbclient-dev libmysqlclient-dev libnetcdf-c++4-1 libnettle7 libobjc-10-dev-alpha-cross libogdi-dev libopencv4.2-java libopencv4.2-jni libopencv-calib3d4.2 libopencv-contrib4.2 libopencv-core4.2 libopencv-features2d4.2 libopencv-flann4.2 libopencv-highgui4.2 libopencv-imgcodecs4.2 libopencv-imgproc4.2 libopencv-ml4.2 libopencv-objdetect4.2 libopencv-photo4.2 libopencv-shape4.2 libopencv-stitching4.2 libopencv-superres4.2 libopencv-video4.2 libopencv-videoio4.2 libopencv-videostab4.2 libopencv-viz4.2 libopenexr-dev libopenmpi-dev libperl-critic-freenode-perl libpolkit-agent-1-0 libpoppler-cil-dev libpostproc-dev libprocps-dev libproj-dev libprotobuf-c-dev libprotobuf-c-dev libprotoc-dev libpython-all-dbg libpython-all-dbg libpython-all-dbg libpython-all-dbg libpython-all-dbg libreadline-dev libruby2.7 libsane-common libsane-common libsensors-applet-plugin-dev libsfml-audio2.5 libsfml-audio2.5 libsfml-audio2.5 libsfml-audio2.5 libsfml-audio2.5 libsndio-dev libssl-dev libstdc++-10-dev-alpha-cross libswresample-dev libswscale-dev libv-perl libvpx-dev libwxgtk-media3.0-gtk3-0v5 libx11-6 libx11-6 python-acme-doc python-acme-doc ruby-abstract-type vdpau-driver-all ```

These packages doesn't have any replacement and requires further investigation:

libcloog
libcwidgetv
libelektra
libiculx
libntdb

Again, this is a basic script that I wrote to check for replacements. This is in noway accurate, and needs manual inspection, but it eases the burden on us.

Also, @jyn514 I would've loved to contribute, but I don't have write access to your repo, so I'm commenting it here.

rakshith-ravi commented 4 years ago

Okay update: I'm gonna try building the image based on further manual inspection of those missing packages. Will keep you updated on my progress

rakshith-ravi commented 4 years ago

Okay yeah, that seems to work. Only 3 packages are now not found. I've narrowed it down to this:

E: Unable to locate package libcloog-isl4
E: Unable to locate package libelektra-dev
E: Unable to locate package libntdb1

I'm not really sure what these packages are, so I'll need help finding replacements.

The new packages.txt file is here:
``` aspell aspell-en autoconf automake autopoint autotools-dev binutils-arm-none-eabi bluetooth bsdmainutils build-essential bzip2 capnproto clang clang-6.0 cmake comerr-dev cpp cpp-10-aarch64-linux-gnu cpp-7 cron curl dmsetup docker.io dselect emacsen-common enchant gcc-multilib gfortran git gnupg golang graphicsmagick gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-x krb5-multidev lib32gcc1 lib32stdc++6 libaa1 libaacs0 libacl1 libaec0 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl liballegro5.2 liballegro5-dev liballegro-acodec5.2 liballegro-acodec5-dev liballegro-audio5.2 liballegro-audio5-dev liballegro-dialog5.2 liballegro-dialog5-dev liballegro-image5.2 liballegro-image5-dev liballegro-physfs5.2 liballegro-physfs5-dev liballegro-ttf5.2 liballegro-ttf5-dev liballegro-video5.2 liballegro-video5-dev libapparmor1 libapt-pkg-dev libapt-pkg6.0 libapt-pkg-dev libarchive13 libarchive-cpio-perl libarchive-dev libarchive-zip-perl libargon2-0 libarmadillo9 libarpack2 libasan4 libasan5 libasan6 libasn1-8-heimdal libasound2 libasound2-data libasound2-dev libaspell15 libass9 libass-dev libassuan0 libasyncns0 libatk1.0-0 libatk1.0-data libatk1.0-dev libatk-bridge2.0-0 libatk-bridge2.0-dev libatm1 libatomic1 libatspi2.0-0 libatspi2.0-dev libattr1 libaudit1 libaudit-common libauthen-sasl-perl libavahi-client3 libavahi-client-dev libavahi-common3 libavahi-common-data libavahi-common-dev libavahi-compat-libdnssd1 libavahi-compat-libdnssd-dev libavahi-core7 libavc1394-0 libavcodec58 libavcodec-dev libavformat58 libavformat-dev libavresample1 libavresample-dev libavutil56 libavutil-dev libbdplus0 libbind9-161 libbind-dev libbinutils libblas3 libblas-dev libblkid1 libblkid-dev libbluetooth-dev libbluray2 libbluray-dev libboost-filesystem1.67.0 libboost-filesystem1.71.1 libboost-iostreams1.67.0 libboost-iostreams1.71.0 libboost-system1.67.0 libboost-system1.71.0 libbrotli1 libbs2b0 libbsd0 libbz2-1.0 libbz2-dev libc6 libc6-dev libc6-i386 libcaca0 libcairo2 libcairo2-dev libcairo-gobject2 libcairo-script-interpreter2 libcap2 libcap2-bin libcap-ng0 libcapnp-0.7.0 libcapnp-dev libcapstone3 libcapstone-dev libc-ares2 libc-ares-dev libc-bin libcc1-0 libc-dev-bin libcdio18 libcdio-cdda2 libcdio-cdda-dev libcdio-dev libcdio-paranoia2 libcdio-paranoia-dev libcdparanoia0 libcdparanoia-dev libcfitsio8 libcfitsio-dev libcfitsio-doc libcgi-fast-perl libcgi-pm-perl libcharls2 libchromaprint1 libcilkrts5 libclang1 libclang1-6.0 libclang-6.0-dev libclang-common-6.0-dev libclang-dev libclass-accessor-perl libcolord2 libcolord-dev libcolorhug2 libcolorhug-dev libcom-err2 libcroco3 libcroco3-dev libcryptsetup12 libcryptsetup-dev libcrystalhd3 libcsfml-audio2.5 libcsfml-dev libcsfml-graphics2.5 libcsfml-network2.5 libcsfml-system2.5 libcsfml-window2.5 libcups2 libcurl3-gnutls libcurl4 libcwidget4 libdaemon0 libdap25 libdapclient6v5 libdata-dump-perl libdatrie1 libdb5.3 libdbus-1-3 libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev libdc1394-22 libdconf1 libdebconfclient0 libdevmapper1.02.1 libdevmapper-dev libdevmapper-event1.02.1 libdmx1 libdmx-dev libdns1109 libdns-export1109 libdouble-conversion3 libdpkg-perl libdrm2 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdumb1 libdumb1-dev libdv4 libebur128-1 libedit2 libegl1 libegl1-mesa libegl1-mesa-dev libegl-mesa0 libelf-dev libenca0 libenchant1c2a libencode-locale-perl libepoxy0 libepoxy-dev libepsilon1 liberror-perl libestr0 libev4 libev-dev libevdev2 libevent-2.1-7 libevent-2.1-7 libevent-dev libevent-extra-2.1-7 libevent-openssl-2.1-7 libevent-pthreads-2.1-7 libexif12 libexiv2-27 libexiv2-dev libexpat1 libexpat1-dev libext2fs2 libfabric1 libfakeroot libfastjson4 libfcgi-perl libfdisk1 libffi7 libffi-dev libfftw3-double3 libfile-copy-recursive-perl libfile-fcntllock-perl libfile-listing-perl libfile-stripnondeterminism-perl libflac8 libflac-dev libflite1 libfont-afm-perl libfontconfig1 libfontconfig1-dev libfontenc1 libfontenc-dev libfreetype6 libfreetype6-dev libfreexl1 libfribidi0 libfribidi-dev libfs6 libfs-dev libfuse2 libfuse-dev libfyba0 libgail18 libgail-common libgbm1 libgc1c2 libgcc1 libgcc-10-dev libgcc-9-dev libgcrypt20 libgcrypt20-dev libgd3 libgdal26 libgdbm6 libgdbm-compat4 libgdcm3.0 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgdm1 libgdm-dev libgeoip1 libgeos-3.8.0 libgeos-c1v5 libgeotiff5 libgettextpo0 libgettextpo-dev libgexiv2-2 libgexiv2-dev libgfortran-10-dev-alpha-cross libgfortran4 libgfortran-10-dev-alpha-cross libgif7 libgirepository-1.0-1 libgl1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libgl2ps1.4 libglapi-mesa libgles1 libgles2 libgles2-mesa libgles2-mesa-dev libglew-dev libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libglvnd0 libglvnd-core-dev libglvnd-dev libglx0 libglx-mesa0 libgme0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgpg-error-dev libgpgme11 libgpgme-dev libgphoto2-6 libgphoto2-l10n libgphoto2-port12 libgpm2 libgraphene-1.0-0 libgraphicsmagick1-dev libgraphite2-3 libgraphite2-dev libgsm1 libgssapi3-heimdal libgssapi-krb5-2 libgssrpc4 libgstreamer1.0-0 libgstreamer1.0-dev libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtk2.0-dev libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-3-dev libgudev-1.0-0 libgudev-1.0-dev libgusb2 libgusb-dev libharfbuzz0b libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libhcrypto4-heimdal libhdf4-0-alt libhdf4-0-alt libhdf4-0-alt libheimbase1-heimdal libheimntlm0-heimdal libhogweed5 libhtml-format-perl libhtml-form-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhttp-async-perl libhunspell-1.7-0 libhunspell-dev libhwloc-common libhwloc-plugins libhx509-5-heimdal libhyperscan-dev libhyperscan-dev libhyphen0 libibus-1.0-5 libibus-1.0-dev libibverbs1 libical-dev libice6 libice-dev libicu-dev libicu-dev libicu-le-hb0 libicu-le-hb-dev libicu66 libidn11 libidn2-0 libiec61883-0 libieee1284-3 libilmbase-dev libinput10 libinput-bin libintl-perl libintl-xs-perl libio-html-perl libio-socket-ssl-perl libio-string-perl libiptc-dev libirs-export161 libisc-export1105 libisccc-export161 libisccfg-export163 libisc-export1105 libisl-dev libisl-dev libiso9660-11 libitm1 libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjavascriptcoregtk-4.0-dev libjbig0 libjpeg8 libjpeg8-dev libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjs-jquery libjs-jquery-metadata libjs-jquery-tablesorter libjson-any-perl libjsoncpp1 libjson-glib-1.0-0 libjson-glib-1.0-common libjudy-dev libk5crypto3 libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-9 libkeyutils1 libklibc libkmlbase1 libkmldom1 libkmlengine1 libkmod2 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libksba8 liblapack3 liblapack-dev liblcms2-2 liblcms2-dev libldap-2.4-2 libldap2-dev libldap-common libldb-dev liblept5 libleptonica-dev libllvm6.0 libllvm7 libllvm8 liblocale-gettext-perl liblsan0 libltdl7 libltdl-dev liblua5.3-0 liblua5.3-dev liblwp-mediatypes-perl liblwp-protocol-https-perl liblwres161 liblz4-1 liblzma5 liblzma-dev liblzo2-2 libmagic1 libmagic-dev libmagic-mgc libmail-sendmail-perl libmailtools-perl libminizip1 libmirclient9 libmirclient-dev libmircommon7 libmircommon-dev libmircookie2 libmircookie-dev libmircore1 libmircore-dev libmirprotobuf3 libmnl0 libmodplug1 libmount1 libmp3lame0 libmpc3 libmpdec2 libmpfr6 libmpg123-0 libmpx2 libmtdev1 libmysqlclient-dev libncurses5 libncurses5-dev libncursesw5 libnetcdf-c++4-1 libnetcdf-c++4 libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle7 libnewlib-arm-none-eabi libnewlib-dev libnewt0.52 libnghttp2-14 libnl-3-200 libnl-3-dev libnl-genl-3-200 libnl-genl-3-dev libnl-route-3-200 libnl-route-3-dev libnorm1 libnotify4 libnotify-dev libnpth0 libnspr4 libnss3 libnss-mdns libnss-systemd libnuma1 libobjc4 libobjc-10-dev-alpha-cross libobjc-7-dev libodbc1 libogdi-dev libogg0 libogg-dev libomp5 libomp-dev libopenal1 libopenal-data libopenal-dev libopencv4.2-java libopencv4.2-jni libopencv-calib3d4.2 libopencv-contrib4.2 libopencv-core4.2 libopencv-features2d4.2 libopencv-flann4.2 libopencv-highgui4.2 libopencv-imgcodecs4.2 libopencv-imgproc4.2 libopencv-ml4.2 libopencv-objdetect4.2 libopencv-photo4.2 libopencv-shape4.2 libopencv-stitching4.2 libopencv-superres4.2 libopencv-video4.2 libopencv-videoio4.2 libopencv-videostab4.2 libopencv-viz4.2 libopenexr-dev libopengl0 libopenjp2-7 libopenmpi-dev libopenmpt0 libopus0 libopus-dev libopusfile0 liborc-0.4-0 libp11-kit0 libpam0g libpam0g-dev libpam-cap libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libparse-debianchangelog-perl libparted2 libparted-dev libparted-fs-resize0 libpciaccess0 libpciaccess-dev libpcre16-3 libpcre3 libpcre32-3 libpcre3-dev libpcrecpp0v5 libpcsclite1 libpcsclite-dev libperl4-corelibs-perl libperl-critic-freenode-perl libpgm-5.2-0 libphysfs1 libphysfs-dev libpipeline1 libpixman-1-0 libpixman-1-dev libplist3 libplist-dev libpng16-16 libpng-dev libpng-tools libpocketsphinx3 libpocketsphinx-dev libpolkit-agent-1-0 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpoppler-cil-dev libpopt0 libpostproc-dev libpostproc-dev libpq5 libpq-dev libprocps-dev libproj-dev libprotobuf-c-dev libprotobuf-dev libprotobuf-c-dev libprotoc-dev libproxy1v5 libpsl5 libpsm-infinipath1 libpthread-stubs0-dev libpulse0 libpulse-dev libpulse-mainloop-glib0 libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libpython3.6 libpython-all-dbg libpython-all-dbg libpython-all-dbg libpython3-dev libpython3-stdlib libpython-all-dbg libpython-all-dbg libqhull7 libqt5charts5-dev libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickparticles5 libqt5quicktest5 libqt5quickwidgets5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libquadmath0 libraw1394-11 librdmacm1 libreadline-dev libreadline-dev librest-0.7-0 librhash0 libroken18-heimdal librsvg2-2 librsvg2-common librsvg2-dev librtmp1 librubberband2 libruby2.7 libsamplerate0 libsane1 libsane-common libsane-common libsane-common libsasl2-2 libsasl2-modules libsasl2-modules-db libsctp1 libsdl2-2.0-0 libsdl2-dev libseccomp2 libsecret-1-0 libsecret-common libselinux1 libselinux1-dev libsemanage1 libsemanage-common libsensors-applet-plugin-dev libsepol1 libsepol1-dev libsfml-audio2.5 libsfml-dev libsfml-audio2.5 libsfml-audio2.5 libsfml-audio2.5 libsfml-audio2.5 libshine3 libshout3 libsigc++-2.0-0v5 libsigsegv2 libslang2 libsm6 libsmartcols1 libsmbclient libsmbclient-dev libsm-dev libsnappy1v5 libsndfile1 libsndio-dev libsndio-dev libsocket++1 libsodium23 libsodium-dev libsoup2.4-1 libsoup2.4-dev libsoup-gnome2.4-1 libsoxr0 libspatialite7 libspeex1 libsphinxbase3 libsphinxbase-dev libsqlite3-0 libsqlite3-dev libss2 libssh2-1 libssh-gcrypt-4 libssl-dev libssl1.1 libssl-dev libssl-doc libstdc++6 libstdc++-10-dev-alpha-cross libstdc++-7-dev libstdc++-arm-none-eabi-newlib libsub-name-perl libsuperlu5 libsvm3 libsvm-dev libswresample-dev libswresample-dev libswscale-dev libswscale-dev libsys-hostname-long-perl libsystemd0 libsystemd-dev libsz2 libtag1v5 libtag1v5-vanilla libtalloc2 libtasn1-6 libtbb2 libtcl8.6 libtdb1 libtesseract4 libtesseract-dev libtevent0 libtext-charwidth-perl libtext-iconv-perl libtext-unidecode-perl libtext-wrapi18n-perl libthai0 libthai-data libtheora0 libtheora-dev libtiff5 libtimedate-perl libtinfo5 libtinfo-dev libtk8.6 libtool libtool-bin libtry-tiny-perl libtsan0 libtwolame0 libubsan0 libudev1 libudev-dev libudf0 libudf-dev libunistring2 libunwind8 libunwind-dev liburiparser1 liburi-perl libusb-0.1-4 libusb-1.0-0 libusb-1.0-0-dev libusb-1.0-doc libusb-dev libutempter0 libuuid1 libuv1 libv4l-0 libv4lconvert0 libv-perl libv8-dev libva2 libva-drm2 libva-x11-2 libvdpau1 libvdpau-va-gl1 libvisual-0.4-0 libvorbis0a libvorbis-dev libvorbisenc2 libvorbisfile3 libvpx-dev libvtk6.3 libwacom2 libwacom-bin libwacom-common libwavpack1 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-egl1-mesa libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev libwebp6 libwebpdemux2 libwebp-dev libwebpmux3 libwind0-heimdal libwoff1 libwrap0 libwww-perl libwww-robotrules-perl libwxbase3.0-0v5 libwxgtk-media3.0-gtk3-0v5 libx11-6 libx11-data libx11-dev libx11-doc libx11-xcb1 libx11-xcb-dev libx11-6 libx264-dev libx11-6 libxapian30 libxau6 libxau-dev libxaw7 libxaw7-dev libxcb1 libxcb1-dev libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-present-dev libxcb-randr0 libxcb-randr0-dev libxcb-render0 libxcb-render0-dev libxcb-render-util0 libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync1 libxcb-sync-dev libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xkb1 libxcomposite1 libxcomposite-dev libxcursor1 libxcursor-dev libxdamage1 libxdamage-dev libxdmcp6 libxdmcp-dev libxerces-c3.2 libxext6 libxext-dev libxfixes3 libxfixes-dev libxfont2 libxfont-dev libxft2 libxft-dev libxi6 libxi-dev libxinerama1 libxinerama-dev libxkbcommon0 libxkbcommon-dev libxkbcommon-x11-0 libxkbfile1 libxkbfile-dev libxml2 libxml2-dev libxml2-utils libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxmu6 libxmu-dev libxmu-headers libxmuu1 libxmuu-dev libxpm4 libxpm-dev libxrandr2 libxrandr-dev libxrender1 libxrender-dev libxres1 libxres-dev libxshmfence1 libxshmfence-dev libxslt1.1 libxss1 libxss-dev libxt6 libxtables12 libxt-dev libxtst6 libxtst-dev libxv1 libxv-dev libxvidcore4 libxvmc1 libxvmc-dev libxxf86dga1 libxxf86dga-dev libxxf86vm1 libxxf86vm-dev libyaml-0-2 libzfslinux-dev libzmq3-dev libzmq5 libzstd1 libzvbi0 libzvbi-common linux-headers-generic linux-libc-dev llvm nasm nettle-dev ninja-build nodejs openjdk-8-jre-headless perl php-dev policykit-1 protobuf-compiler python3-dev python3-distutils python3-gi python3-lib2to3 python3-minimal python3-netifaces python3-yaml python-dev python-acme-doc python-acme-doc qt3d5-dev qt5-default qt5-gtk-platformtheme qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtchooser qtdeclarative5-dev qttools5-dev qttranslations5-l10n rake readline-common rsyslog ruby ruby-abstract-type ruby-did-you-mean rubygems-integration ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit samba-libs sane-utils sgml-base sudo tcl tcl8.6 tex-common texi2html texinfo tk tk8.6 tzdata ucf udev uuid-dev va-driver-all vdpau-driver-all vdpau-driver-all wget xbitmaps xorg-dev xorg-sgml-doctools xserver-xorg-dev xtrans-dev xxd xz-utils zlib1g-dev ```

Also, sorry for the spam, I'm just super excited about this is all :sweat_smile:

jyn514 commented 4 years ago

Also, @jyn514 I would've loved to contribute, but I don't have write access to your repo, so I'm commenting it here.

Thanks so much for working on this! If you like you can fork my repo and make a PR of your own and we can work from there instead. That would make it easier to read the packages as well since I'd only have to look at the diff.

I'm not really sure what these packages are, so I'll need help finding replacements.

I'm not sure either ...

jyn514 commented 4 years ago

elektra seems to have been removed altogether from 20.04: https://repology.org/project/elektra/versions. I ran apt search and nothing came up:

$ docker run -it ubuntu:focal
root@8401cbe4bc86:/# apt search elektra
Sorting... Done
Full Text Search... Done
root@8401cbe4bc86:/# 
jyn514 commented 4 years ago

@PhilippGackstatter do you have any idea why libelektra was removed? Are you interested in adding to the 20.04 release? If not I'm not sure there's a clear path forward here ...

PhilippGackstatter commented 4 years ago

Thanks for bringing this to my attention.

I'll check with the project's maintainers about the 20.04 situation and get back to you.

One question: If we are unable to add it to 20.04, the existing documentation wouldn't get lost, it's just that when I publish a new crate, the docs wouldn't build, is that correct?

jyn514 commented 4 years ago

One question: If we are unable to add it to 20.04, the existing documentation wouldn't get lost, it's just that when I publish a new crate, the docs wouldn't build, is that correct?

That's correct.

jyn514 commented 4 years ago

Note that we always redirect /:crate/ to the latest version even if it failed to build, so people still wouldn't see the documentation right away. We link to the last version that succeeded though, see for example https://docs.rs/crate/ring/0.16.11

jyn514 commented 4 years ago

@rakshith-ravi some of these changes look a little odd.

This is the diff I see: ``` $ git d -U0 --raw | grep -v '^@@' diff --git a/packages.txt b/packages.txt -cpp-6 +cpp-10-aarch64-linux-gnu +gcc-multilib +graphicsmagick -libapt-inst2.0 -libapt-pkg5.0 +libapt-pkg6.0 -libarmadillo8 +libarmadillo9 -libasan3 +libasan5 +libasan6 -libavcodec57 +libavcodec58 -libavformat57 +libavformat58 -libavresample3 +libavresample1 -libavutil55 +libavutil56 -libbind9-160 +libbind9-161 -libboost-filesystem1.62.0 -libboost-filesystem1.65.1 -libboost-iostreams1.62.0 -libboost-system1.62.0 -libboost-system1.65.1 +libboost-filesystem1.67.0 +libboost-filesystem1.71.1 +libboost-iostreams1.67.0 +libboost-iostreams1.71.0 +libboost-system1.67.0 +libboost-system1.71.0 -libcapnp-0.6.1 +libcapnp-0.7.0 -libcdio17 +libcdio18 -libcfitsio5 +libcfitsio8 -libcharls1 +libcharls2 -libcloog-isl4 -libcsfml-audio2.4 +libcsfml-audio2.5 -libcsfml-graphics2.4 -libcsfml-network2.4 -libcsfml-system2.4 -libcsfml-window2.4 +libcsfml-graphics2.5 +libcsfml-network2.5 +libcsfml-system2.5 +libcsfml-window2.5 -libcwidget3v5 +libcwidget4 -libdns1100 -libdns-export1100 -libdouble-conversion1 +libdns1109 +libdns-export1109 +libdouble-conversion3 -libelektra-dev -libevent-2.1-6 -libevent-core-2.1-6 +libevent-2.1-7 -libevent-extra-2.1-6 -libevent-openssl-2.1-6 -libevent-pthreads-2.1-6 +libevent-extra-2.1-7 +libevent-openssl-2.1-7 +libevent-pthreads-2.1-7 -libexiv2-14 +libexiv2-27 -libffi6 +libffi7 -libgcc-6-dev -libgcc-7-dev +libgcc-10-dev +libgcc-9-dev -libgdal20 -libgdbm5 +libgdal26 +libgdbm6 -libgdcm2.8 +libgdcm3.0 -libgeos-3.6.2 +libgeos-3.8.0 -libgeotiff2 +libgeotiff5 -libgfortran3 +libgfortran-10-dev-alpha-cross -libgfortran-6-dev -libglew2.0 +libglew-dev +libgraphicsmagick1-dev -libhdf5-100 -libhdf5-openmpi-100 -libhogweed4 +libhogweed5 +libhttp-async-perl -libhttp-parser2.7.1 -libhunspell-1.6-0 +libhunspell-1.7-0 -libhwloc5 +libhwloc-common -libhyperscan4 -libicu60 +libicu66 -libiculx60 -libilmbase12 +libilmbase-dev -libip4tc0 -libirs160 -libisc169 -libisccc160 -libisccfg160 -libisc-export169 -libisl15 -libisl19 -libiso9660-10 +libiptc-dev +libirs-export161 +libisccc-export161 +libisccfg-export163 +libisc-export1105 +libisl-dev +libiso9660-11 -libjson-c3 +libjson-any-perl +libldap2-dev -libldb1 +libldb-dev -liblwres160 +liblwres161 -libmariadbclient18 -libmariadbclient-dev -libmariadbclient-dev-compat -libmysqlclient20 +libmysqlclient-dev -libnetcdf13 +libnetcdf-c++4-1 -libnettle6 +libnettle7 -libntdb1 +libobjc-10-dev-alpha-cross -libobjc-6-dev -libogdi3.2 +libogdi-dev -libopencv3.2-java -libopencv3.2-jni -libopencv-calib3d3.2 -libopencv-contrib3.2 -libopencv-core3.2 -libopencv-features2d3.2 -libopencv-flann3.2 -libopencv-highgui3.2 -libopencv-imgcodecs3.2 -libopencv-imgproc3.2 -libopencv-ml3.2 -libopencv-objdetect3.2 -libopencv-photo3.2 -libopencv-shape3.2 -libopencv-stitching3.2 -libopencv-superres3.2 -libopencv-video3.2 -libopencv-videoio3.2 -libopencv-videostab3.2 -libopencv-viz3.2 -libopenexr22 +libopencv4.2-java +libopencv4.2-jni +libopencv-calib3d4.2 +libopencv-contrib4.2 +libopencv-core4.2 +libopencv-features2d4.2 +libopencv-flann4.2 +libopencv-highgui4.2 +libopencv-imgcodecs4.2 +libopencv-imgproc4.2 +libopencv-ml4.2 +libopencv-objdetect4.2 +libopencv-photo4.2 +libopencv-shape4.2 +libopencv-stitching4.2 +libopencv-superres4.2 +libopencv-video4.2 +libopencv-videoio4.2 +libopencv-videostab4.2 +libopencv-viz4.2 +libopenexr-dev -libopenmpi2 +libopenmpi-dev -libperl5.26 +libperl-critic-freenode-perl -libpolkit-backend-1-0 -libpoppler73 +libpoppler-cil-dev -libpostproc54 -libprocps6 -libproj12 -libprotobuf10 +libprocps-dev +libproj-dev +libprotobuf-c-dev -libprotobuf-lite10 -libprotoc10 +libprotoc-dev -libpython3.6-dev -libpython3.6-minimal -libpython3.6-stdlib -libpython-dev -libpython-stdlib +libpython-all-dbg -libreadline7 -libruby2.5 +libruby2.7 -libsane-extras -libsane-extras-common -libsensors4 +libsensors-applet-plugin-dev -libsfml-audio2.4 +libsfml-audio2.5 -libsfml-graphics2.4 -libsfml-network2.4 -libsfml-system2.4 -libsfml-window2.4 -libsndio6.1 -libssl1.0.0 +libstdc++-10-dev-alpha-cross -libstdc++-6-dev -libswresample2 -libswscale4 -libv8-3.14.5 -libvpx5 +libv-perl +libvpx-dev -libwxgtk3.0-0v5 +libwxgtk-media3.0-gtk3-0v5 -libx264-152 -libx265-146 +python-acme-doc -python-minimal -python-talloc -ruby2.5 +ruby-abstract-type -vdpau-va-driver ```

In particular, there are packages added that weren't there before:

Additionally, you've removed several packages that are present in 20.04:

Can you explain how you came up with the new versions that you posted?

rakshith-ravi commented 4 years ago

@jyn514 the script I wrote basically did the same thing I was doing manually: type the first few characters on a terminal and use tab-completion to find the actual package name.

Naturally the script fell short in a lot of areas, but it gives us a good estimate.

However, in the specific case of libmariadbclient-dev and libmariadbclient-dev-compat, it seems to be clashing with the mysql dependencies. When I tried to build the docker image, the dependencies seems to clash. So I had to remove them. Not sure what to do about that though.

jyn514 commented 4 years ago

Closing in favor of #43