From 874320292f2dee18935345509613f9637d45a2ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Mon, 4 Mar 2019 13:12:55 +0000 Subject: [PATCH] Make the fedora image better for layer caching --- fedora/Dockerfile | 52 ++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/fedora/Dockerfile b/fedora/Dockerfile index ae24321c..7453da9a 100644 --- a/fedora/Dockerfile +++ b/fedora/Dockerfile @@ -15,25 +15,7 @@ RUN dnf -y upgrade --best --allowerasing RUN dnf -y groupinstall gnome -RUN dnf -y --best --allowerasing install tmux atop zsh firefox aria2 gajim lm_sensors freecad python3-pip qt5-qtbase-devel qt5-qtwebkit-devel whois curl pv terminator gsmartcontrol python-pip mercurial python3-devel libxslt-devel libjpeg-turbo-devel cmake gtk2-devel intltool gparted glances dkms kernel-devel gimp git xz util-linux-user dnf-automatic kdiff3 yum-utils util-linux-user ncurses-devel zeal qt5-linguist qtkeychain-qt5-devel archivemount keepass splix gutenprint-cups cups-bjnp golang redhat-rpm-config pcsc-lite-devel pcsc-tools pcsc-lite yubico-piv-tool yubikey-personalization-gui xloadimage yp-tools closure-compiler optipng jpegoptim grub2 grub2-efi dracut dracut-tools openssl-devel fail2ban syncthing ansible gnome-tweaks xclip wget wireguard-dkms wireguard-tools lldb python-lldb kdbg zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel parted lsscsi ksh openssl-devel elfutils-libelf-devel libtirpc-devel kernel-devel ffmpeg-libs dnf-plugins-core - -RUN mkdir -p /root/dev/ -# vim -RUN git clone https://github.com/vim/vim.git --recursive /root/dev/vim -RUN cd /root/dev/vim && ./configure --with-features=huge \ - --enable-multibyte \ - --enable-rubyinterp \ - --enable-python3interp=yes \ - --enable-luainterp \ - --enable-gui=no \ - --enable-cscope -RUN cd /root/dev/vim && make -j`nproc` -RUN cd /root/dev/vim && make install - -RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 -RUN curl -sSL https://get.rvm.io | bash -RUN bash -c "source /etc/profile.d/rvm.sh && rvm install ruby --disable-binary" - +# rust RUN curl -sSf https://sh.rustup.rs > /tmp/blastoff.sh RUN chmod a+x /tmp/blastoff.sh RUN /tmp/blastoff.sh -y @@ -52,3 +34,35 @@ RUN /root/.cargo/bin/rustup component add rust-src --toolchain stable RUN /root/.cargo/bin/cargo install cargo-update rustsym ripgrep fd-find genpass RUN /root/.cargo/bin/cargo install-update -a + +# vim +RUN mkdir -p /root/dev/ +RUN git clone https://github.com/vim/vim.git --recursive /root/dev/vim +RUN cd /root/dev/vim && ./configure --with-features=huge \ + --enable-multibyte \ + --enable-rubyinterp \ + --enable-python3interp=yes \ + --enable-luainterp \ + --enable-gui=no \ + --enable-cscope +RUN cd /root/dev/vim && make -j`nproc` +RUN cd /root/dev/vim && make install + +RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN curl -sSL https://get.rvm.io | bash +RUN bash -c "source /etc/profile.d/rvm.sh && rvm install ruby --disable-binary" + +# basic packages +RUN dnf -y --best --allowerasing install tmux atop zsh aria2 lm_sensors python3-pip whois curl pv terminator gsmartcontrol python-pip mercurial cmake glances dkms git xz util-linux-user dnf-automatic yum-utils util-linux-user archivemount redhat-rpm-config grub2 grub2-efi dracut dracut-tools fail2ban syncthing wget wireguard-dkms wireguard-tools parted lsscsi ksh dnf-plugins-core + +# printing +RUN dnf -y --best --allowerasing install splix gutenprint-cups cups-bjnp + +# gui tools +RUN dnf -y --best --allowerasing install firefox gajim freecad gparted glances gimp kdiff3 zeal qt5-linguist keepass -lite yubico-piv-tool yubikey-personalization-gui xloadimage gnome-tweaks xclip kdbg + +# development +RUN dnf -y --best --allowerasing install mercurial cmake intltool dkms git xz dnf-automatic golang redhat-rpm-config pcsc-tools pcsc-lite xloadimage yp-tools closure-compiler optipng jpegoptim ansible lldb python-lldb + +# devel versions of packages +RUN dnf -y --best --allowerasing install qt5-qtbase-devel qt5-qtwebkit-devel python3-devel libxslt-devel libjpeg-turbo-devel gtk2-devel kernel-devel ncurses-devel qtkeychain-qt5-devel pcsc-lite-devel openssl-devel zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel openssl-devel elfutils-libelf-devel libtirpc-devel ffmpeg-libs dnf-plugins-core