-
Notifications
You must be signed in to change notification settings - Fork 10
/
Dockerfile
18 lines (16 loc) · 9.58 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FROM scratch as builder
ADD ./steamos /
ADD ./steamos/usr/share/factory /
# not removing libcroco holo-desync holo-keyring holo-pacman holo-pipewire holo-sudo holo-wireplumber elfutils
RUN pacman -R --noconfirm podman distrobox crun steamos-kdumpst-layer jupiter-steamos-log-submitter criu jupiter-firewall python-httpcore casync atomupd-daemon-git clinfo firewalld flatpak-kcm fuse-overlayfs gperftools kdumpst kirigami-addons lib32-gamescope lib32-libpipewire lib32-libxcrypt-compat libcec libdecor libjxl libopenmpt libwbclient mpg123 networkmanager-openvpn plasma-remotecontrollers plasma-welcome portaudio powerbuttond python-httpx python-pyalsa steamdeck-dsp steamos-log-submitter steamos-reset steamos-systemreport accounts-qml-module accountsservice adobe-source-code-pro-fonts adwaita-icon-theme alsa-card-profiles alsa-lib alsa-plugins alsa-topology-conf alsa-ucm-conf alsa-utils amd-ucode anthy aom appstream appstream-qt arch-install-scripts archlinux-appstream-data ark aspell aspell-en assimp atkmm at-spi2-core attica avahi baloo baloo-widgets bash-bats bash-completion bluedevil bluez bluez-libs bluez-plugins bluez-qt bluez-utils bolt boost-libs breeze breeze-grub breeze-gtk breeze-icons btop btrfs-progs bubblewrap cairo cairomm cantarell-fonts caps cdparanoia cfitsio cifs-utils convertlit cpupower dav1d dbus-python dconf desktop-file-utils discount discover djvulibre dmidecode dnssec-anchors dolphin dos2unix dosfstools double-conversion drkonqi ebook-tools editorconfig-core-c efibootmgr efivar ell enchant evtest exfat-utils exiv2 f3 fatresize fd ffmpeg fish flac flashrom flatpak fontconfig frameworkintegration freeglut freerdp freetype2 fribidi fuse2 fuse3 fuse-common fwupd gamemode gamescope gcab gdb gdb-common gdk-pixbuf2 geoclue giflib git ghostscript glew glfw-x11 glibmm glib-networking glu gobject-introspection-runtime gpm gpu-trace graphene graphite grub gsettings-desktop-schemas gsm gst-plugins-base gst-plugins-base-libs drm_info gstreamer gtk3 gtkmm3 gtk-update-icon-cache gwenview harfbuzz hicolor-icon-theme hidapi htop hunspell ibus ibus-anthy ibus-hangul ibus-pinyin ibus-table ibus-table-cangjie-lite iotop iso-codes iw iwd jasper jbig2dec jq json-glib jupiter-dock-updater-bin jupiter-fan-control jupiter-hw-support jupiter-legacy-support kaccounts-integration kactivities kactivities-stats kactivitymanagerd karchive kate kauth kbookmarks kcmutils kcodecs kcolorpicker kcompletion kconfig kconfigwidgets kcontacts kcoreaddons kcrash kdbusaddons kdeclarative kde-cli-tools kdeconnect kdecoration kded kde-gtk-config kdelibs4support kdeplasma-addons kdesu kdialog kdnssd kdsoap kdsoap-ws-discovery-client kemoticons kfilemetadata kgamma5 kglobalaccel kguiaddons kholidays khotkeys ki18n kiconthemes kidletime kimageannotator kinfocenter kio kio-extras kio-fuse kirigami2 kitemmodels kitemviews kitty-terminfo kjobwidgets kjs kmenuedit knewstuff knotifications knotifyconfig konsole kpackage kparts kpeople kpeoplevcard kpipewire kpmcore kpty kquickcharts krunner kscreen kscreenlocker kservice ksshaskpass ksystemstats ktexteditor ktextwidgets kunitconversion kuserfeedback kwallet kwallet-pam kwayland kwayland-integration kwidgetsaddons kwin kwindowsystem kwrited kxmlgui lame layer-shell-qt lcms2 ldb ldns lib32-alsa-lib lib32-alsa-plugins lib32-brotli lib32-bzip2 lib32-curl lib32-dbus lib32-e2fsprogs lib32-expat lib32-flac lib32-fontconfig lib32-freetype2 lib32-gamemode lib32-gcc-libs lib32-glib2 lib32-glibc lib32-harfbuzz lib32-icu lib32-keyutils lib32-krb5 lib32-libasyncns lib32-libcap lib32-libdrm lib32-libelf lib32-libffi lib32-libgcrypt lib32-libglvnd lib32-libgpg-error lib32-libidn2 lib32-libldap lib32-libnm lib32-libogg lib32-libpciaccess lib32-libpng lib32-libpsl lib32-libpulse lib32-libsndfile lib32-libssh2 lib32-libtasn1 lib32-libtirpc lib32-libunistring lib32-libunwind lib32-libva lib32-libva-mesa-driver lib32-libvdpau lib32-libvorbis lib32-libx11 lib32-libxau lib32-libxcb lib32-libxcrypt lib32-libxdamage lib32-libxdmcp lib32-libxext lib32-libxfixes lib32-libxi lib32-libxinerama lib32-libxml2 lib32-libxshmfence lib32-libxss lib32-libxtst lib32-libxxf86vm lib32-llvm-libs lib32-lm_sensors lib32-mangohud lib32-mesa lib32-mesa-vdpau lib32-ncurses lib32-nspr lib32-nss lib32-openal lib32-openssl lib32-opus lib32-p11-kit lib32-pam lib32-pcre2 lib32-pipewire lib32-sqlite lib32-systemd lib32-util-linux lib32-vulkan-icd-loader lib32-vulkan-radeon lib32-wayland lib32-xz lib32-zlib lib32-zstd libaccounts-glib libaccounts-qt libass libasyncns libatasmart libavc1394 libblockdev libbluray libbs2b libbsd libbytesize libcanberra libcloudproviders libcolord libcups libdaemon libdatrie libdbusmenu-qt5 libdmtx libedit libepoxy libevdev libfakekey libfdk-aac libfontenc libfreeaptx libftdi libglvnd libgudev libgusb libhangul libibus libical libice libiec61883 libimobiledevice libinih libinput libjcat libjpeg-turbo libkdcraw libkexiv2 libkscreen libksysguard libldac libmbim libmd libmfx libmm-glib libmodplug libmtp libndp libnewt libnm libnotify libogg libomxil-bellagio libspectre libdrm ds-inhibit libpciaccess libpgm libplist libpng libproxy libpulse libqaccessibilityclient libqalculate libqmi libqrtr-glib libraw libraw1394 librsvg libsamplerate libsigc++ libsm libsndfile libsodium libsoup libsoup3 libsoxr libssh libstemmer libteam libthai libtheora libtiff libtommath libtraceevent libtracefs libunwind libusb libusbmuxd libva libva-intel-driver libva-mesa-driver libvdpau libvorbis libvpx libwacom libwebp libx11 libxau libxaw libxcb libxcomposite libxcursor libxcvt libxdamage libxdmcp libxext libxfixes libxfont2 libxft libxi libxinerama libxkbcommon libxkbcommon-x11 libxkbfile libxmlb libxmu libxpm libxrandr libxrender libxres libxshmfence libxslt libxss libxt libxtst libxv libxxf86vm libyaml libzip lilv linux-firmware-neptune linux-neptune-61 llvm-libs lmdb lm_sensors lsb-release l-smash lsof lua luit lv2 lzo maliit-framework maliit-keyboard mangohud md4c mdadm media-player-info mesa mesa-utils mesa-vdpau milou minizip mobile-broadband-provider-info modemmanager modemmanager-qt mtdev nano nethogs networkmanager networkmanager-qt noise-suppression-for-voice noto-fonts noto-fonts-cjk nspr nss nss-mdns ntfs-3g numactl nvme-cli ocl-icd okular oniguruma openal opencore-amr openjpeg2 openssh openvpn opus orc ostree oxygen p7zip pango pangomm parted partitionmanager paru pavucontrol pcsclite perf perl-error perl-mailtools perl-timedate phonon-qt5 phonon-qt5-gstreamer pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse pixman pkcs11-helper plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-framework plasma-integration plasma-meta plasma-nm plasma-pa plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-wayland-protocols plasma-wayland-session plasma-workspace plasma-workspace-wallpapers polkit polkit-kde-agent polkit-qt5 poppler poppler-qt5 powerdevil powertop ppp prison pulseaudio-qt purpose python-aiohttp python-aiosignal python-async-timeout python-attrs python-chardet python-charset-normalizer python-click python-crcmod python-evdev python-frozenlist python-gobject python-hid python-multidict python-progressbar python-psutil python-pyaml python-pyenchant python-pyinotify python-semantic-version python-systemd python-sysv_ipc python-typing_extensions python-utils python-yaml python-yarl pyzy qca-qt5 qqc2-desktop-style qrencode qt5-base qt5-declarative qt5-feedback qt5-graphicaleffects qt5-location qt5-multimedia qt5-quickcontrols qt5-quickcontrols2 qt5-sensors qt5-speech qt5-svg qt5-tools qt5-translations qt5-wayland qt5-webchannel qt5-webengine qt5-webview qt5-x11extras rauc rav1e re2 ripgrep rtkit rxvt-unicode-terminfo sbc sddm-kcm sddm-wayland sdl2 seatd serd shared-mime-info signond signon-kwallet-extension signon-plugin-oauth2 signon-ui slang smartmontools smbclient snappy socat solid sonnet sord sound-theme-freedesktop source-highlight spectacle speex speexdsp squashfs-tools sratom srt sshfs steamdeck-kde-presets steam-im-modules steam-jupiter-stable steamos-atomupd-client-git steamos-devkit-service steamos-efi strace svt-av1 syndication syntax-highlighting systemd-swap systemsettings taglib talloc tcl tdb tevent threadweaver tk trace-cmd tracker3 tree tslib ttf-dejavu ttf-hack ttf-twemoji-default udisks2 unrar unzip upower usbutils v4l-utils vid.stab vim vim-runtime vkmark-git vmaf volume_key vpower vulkan-icd-loader vulkan-radeon vulkan-tools wayland wayland-utils webrtc-audio-processing wget wireless-regdb wireless_tools wireplumber wpa_supplicant x264 x265 xbindkeys xbitmaps xcb-proto xcb-util xcb-util-cursor xcb-util-errors xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-kde xdg-user-dirs xdg-utils xdotool xf86-input-libinput xf86-video-amdgpu xkeyboard-config xorg-fonts-encodings xorgproto xorg-server xorg-server-common xorg-setxkbmap xorg-xauth xorg-xdpyinfo xorg-xhost xorg-xkbcomp xorg-xmessage xorg-xprop xorg-xrandr xorg-xrdb xorg-xset xorg-xsetroot xorg-xwayland-jupiter xorg-xwininfo xterm xvidcore zenity-light zeromq zimg zip zsh zxing-cpp renderdoc-minimal lib32-renderdoc-minimal lib32-xcb-util-keysyms \
&& sed -r -i 's/\[(jupiter|core|extra|community|multilib|holo)\]/\[\1-rel\]/g' /etc/pacman.conf \
&& pacman-key --init \
&& pacman-key --populate archlinux \
&& pacman-key --populate holo \
&& pacman -Sy \
# && comm -1 -2 <(pacman -Qeq | sort) <(pacman -Qoq /usr/include/ | sort) | pacman -S --noconfirm - \
&& comm -1 -2 <(pacman -Qdq | sort | sed "/^filesystem$/d") <(pacman -Qoq /usr/include/ | sort | sed "/^filesystem$/d") | pacman -S --noconfirm --asdeps - \
&& pacman -S --noconfirm gcc make autoconf automake bison fakeroot flex m4 tpm2-tss \
&& yes | pacman -Scc
FROM scratch
COPY --from=builder / /