Initial commit.
Recovered, with untested docker-compose.yml Need to confirm it works as is, before trying more recent releases.
This commit is contained in:
commit
7d87b85861
|
|
@ -0,0 +1,23 @@
|
|||
# GitLab Credentials
|
||||
GITLAB_USER=cyteen
|
||||
GITLAB_URL=git.ring-zero.co.uk
|
||||
GITLAB_PORT=10022
|
||||
|
||||
# APT Mirror
|
||||
APT_MIRROR=https://deb.devuan.org/merged
|
||||
|
||||
# Template and Blend Names
|
||||
TEMPLATE_NAME=live-zfs-e23
|
||||
BLEND_NAME=live-zfs-e24
|
||||
|
||||
# Release and Blend Version
|
||||
RELEASE=daedalus
|
||||
BLEND_VERS=4.0-test-$(date +%Y-%m-%d)
|
||||
|
||||
# Local Git Credentials
|
||||
GIT_EMAIL_NAME=cyteen
|
||||
GIT_EMAIL_URL=ring-zero.co.uk
|
||||
GIT_NAME=Cyteen May
|
||||
|
||||
# SSH Agent Socket (Optional, for passwordless Git operations)
|
||||
# SSH_AUTH_SOCK=/tmp/ssh-8l3EayCMOhTH/agent.15125
|
||||
|
|
@ -0,0 +1 @@
|
|||
dist/**/*.iso filter=lfs diff=lfs merge=lfs -text
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# Exceptions
|
||||
!.gitignore
|
||||
!.gitattributes
|
||||
|
||||
# ignore directories
|
||||
blends/
|
||||
log/
|
||||
packages/
|
||||
tmp/
|
||||
|
||||
# ignore binary debian packages
|
||||
*.deb
|
||||
|
||||
# swap
|
||||
[._]*.s[a-w][a-z]
|
||||
[._]s[a-w][a-z]
|
||||
# session
|
||||
Session.vim
|
||||
# temporary
|
||||
.netrwhist
|
||||
*~
|
||||
# auto-generated tag files
|
||||
tags
|
||||
|
||||
# Compressed files
|
||||
*.zip
|
||||
*.tar
|
||||
*.gz
|
||||
*.bz2
|
||||
*.rar
|
||||
*.7z
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "live-sdk"]
|
||||
path = live-sdk
|
||||
url = https://git.ring-zero.co.uk/sdk/live-sdk
|
||||
|
|
@ -0,0 +1,815 @@
|
|||
# https://dev1galaxy.org/viewtopic.php?id=551
|
||||
#FROM devuan:jessie-slim
|
||||
#FROM devuan:ascii-slim
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN apt-get install -y xorriso squashfs-tools live-boot syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils rsync slim
|
||||
RUN apt-get install -y live-build live-config live-config-sysvinit isolinux grub-efi-amd64-bin grub-common dosfstools gnutls-bin
|
||||
#RUN apt-get install -y kpartx cgpt
|
||||
#RUN git clone https://git.devuan.org/cyteen/live-sdk
|
||||
RUN git clone https://git.devuan.org/sdk/live-sdk.git /live-sdk
|
||||
WORKDIR /live-sdk
|
||||
#RUN git submodule update --init --recursive --checkout
|
||||
RUN git pull && git submodule update --init --recursive --checkout
|
||||
|
||||
# sub modules might be behind current libdevuansdk git, if you require a more current version of libdevuansdk clone directly:
|
||||
#WORKDIR /live-sdk/lib
|
||||
#RUN rm -rf libdevuansdk
|
||||
#RUN git clone https://git.devuan.org/sdk/libdevuansdk
|
||||
|
||||
#WORKDIR /live-sdk
|
||||
# NB now included in the live-sdk if extra does not have a syslinux directory with isolinux.bin
|
||||
#mkdir -p /live-sdk/extra/syslinux
|
||||
|
||||
# from package live-build
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/*.c32 /live-sdk/extra/syslinux
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin /live-sdk/extra/syslinux
|
||||
|
||||
# from package ISOLINUX
|
||||
#cp /usr/lib/ISOLINUX/isohdpfx.bin /live-sdk/extra/syslinux
|
||||
|
||||
|
||||
ENV USER_NAME "default"
|
||||
ENV USER_PASS "default"
|
||||
|
||||
ENV ROOT_CRED "root:toor"
|
||||
ENV USER_CRED "${USER_NAME}:${USER_PASS}"
|
||||
|
||||
ENV DEFAULT_SHELL "/bin/zsh"
|
||||
|
||||
ENV OS "devuan"
|
||||
ENV ARCH "amd64"
|
||||
ENV RELEASE "beowulf"
|
||||
ENV VERSION 2.0.0
|
||||
ENV TEMPLATE_NAME "devuan-beowulf-live-e17"
|
||||
#ENV TEMPLATE_NAME "live-zfs"
|
||||
ENV BLEND_NAME "live-zfs-e17"
|
||||
ENV BLEND_VERS "3.0-test-$(date +%Y-%m-%d)"
|
||||
|
||||
#ENV APT_MIRROR "http://192.168.44.47:3142/pkgmaster.devuan.org/merged"
|
||||
ENV APT_MIRROR "https://deb.devuan.org/merged"
|
||||
#ENV APT_MIRROR "https://pkgmaster.devuan.org/merged"
|
||||
|
||||
ENV USE_HOOKS "yes"
|
||||
ENV SECTION "main contrib non-free"
|
||||
ENV RELEASE_CONF "$BLENDPATH/${release}/config"
|
||||
ENV IMAGE_NAME "${OS}_${RELEASE}_${VERSION}_${ARCH}_desktop"
|
||||
ENV BASE_PACKAGES_OPTION "--no-install-recommends"
|
||||
ENV EXTRA_PACKAGES_OPTION "--no-install-recommends"
|
||||
|
||||
ENV SOURCES_LIST "${BLENDPATH}/sources.list"
|
||||
ENV MANUAL_LIST "${BLENDPATH}/manual.list"
|
||||
ENV AUTO_LIST "${BLENDPATH}/auto.list"
|
||||
|
||||
COPY ./live-sdk/blends/${TEMPLATE_NAME} /live-sdk/blends/${BLEND_NAME}
|
||||
RUN mv /live-sdk/blends/${BLEND_NAME}/${TEMPLATE_NAME}.blend /live-sdk/blends/${BLEND_NAME}/${BLEND_NAME}.blend
|
||||
|
||||
# Set locale - in bootstrap: sed -e 's/# en_US.UTF-8/en_US.UTF-8/' -i /etc/locale.gen
|
||||
# Put the second line under the first or add an extra var and change the bootstrap to use that
|
||||
# rather than hardcoded.
|
||||
#sed -e 's/# en_US.UTF-8/en_US.UTF-8/' -i /etc/locale.gen -i live-sdk/lib/libdevuansdk/zlibs/bootstrap
|
||||
#sed -e 's/# en_GB.UTF-8/en_GB.UTF-8/' -i /etc/locale.gen -i live-sdk/lib/libdevuansdk/zlibs/bootstrap
|
||||
|
||||
# Enable/disable UEFI - Currently code checks to see if the $mkefi is set not if it is yes or no and turning it off breaks the xorriso build options.
|
||||
ENV MKEFI "no"
|
||||
ENV GRUB_VER "grub-pc"
|
||||
ENV EFI_WORK ""
|
||||
#RUN sed -i "s,^\(mkefi=\).*,\1\"${MKEFI}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(efi_work=\).*,\1\"${EFI_WORK}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i '/^mkefi=/s/^/# /' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#ENV MKEFI "yes"
|
||||
#ENV GRUB_VER "grub-efi-amd64"
|
||||
#ENV EFI_WORK "${BLENDPATH}/efi-files"
|
||||
#RUN sed -i '/# mkefi=/s/# /^/' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#WORKDIR /live-sdk/blends/
|
||||
#RUN git clone https://git.devuan.org/cyteen/blends/live-zfs
|
||||
#RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Once working and building push to git
|
||||
#RUN git push origin ${BLEND_NAME}
|
||||
|
||||
|
||||
WORKDIR /live-sdk
|
||||
# Add the new blend to the sdk blend_map so we can build it.
|
||||
RUN sed -i "/blend_map=.*/ s/.*/&\n\t\t\"${BLEND_NAME}\" \"\$R\/blends\/${BLEND_NAME}\/${BLEND_NAME}.blend\"/" sdk
|
||||
|
||||
# Add call for sourceslist
|
||||
#RUN sed -i "/install-custdebs.*/ s/.*/&\n\tinstall-packageslist || zerr/" sdk
|
||||
|
||||
COPY bin/edit-config.sh /live-sdk/edit-config.sh
|
||||
|
||||
# #!/bin/bash
|
||||
# /live-sdk/edit-config.sh
|
||||
#
|
||||
# CONFIG_FILE="${2}"
|
||||
# declare -A arr
|
||||
# arr+=( "${1}" )
|
||||
# for TARGET_KEY in "${!arr[@]}"; do
|
||||
# echo "x " ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
# if grep -q "^${TARGET_KEY}=" ${CONFIG_FILE}; then
|
||||
# sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# else
|
||||
# sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# fi
|
||||
# done
|
||||
|
||||
# FIXME: Some settings in the blend config fail to override libdevuansdk/conf we should test setting in blend first to identify which ones are not imported.
|
||||
|
||||
# Construct array for edit-config
|
||||
# Taken from /live-sdk/lib/libdevuansdk/config
|
||||
ENV CORE_PACKAGES \
|
||||
devuan-keyring \
|
||||
debian-keyring \
|
||||
ca-certificates \
|
||||
initramfs-tools \
|
||||
e2fsprogs \
|
||||
curl \
|
||||
less \
|
||||
vim \
|
||||
nano \
|
||||
sysvinit \
|
||||
""
|
||||
|
||||
ENV EXTRA_PACKAGES \
|
||||
librsvg2-common \
|
||||
fonts-quicksand \
|
||||
fonts-liberation \
|
||||
fonts-symbola \
|
||||
xserver-xorg-input-all \
|
||||
xserver-xorg-video-all \
|
||||
anacron \
|
||||
bluetooth \
|
||||
iw \
|
||||
powertop \
|
||||
vim-gtk3 \
|
||||
wireless-tools \
|
||||
wpasupplicant \
|
||||
tasksel \
|
||||
xfce4 \
|
||||
xfce4-goodies \
|
||||
xfce4-power-manager \
|
||||
xfce4-terminal \
|
||||
atril \
|
||||
dbus-x11 \
|
||||
hunspell-en-gb \
|
||||
hyphen-en-gb \
|
||||
mythes-en-us \
|
||||
synaptic \
|
||||
system-config-printer \
|
||||
tango-icon-theme \
|
||||
xsane \
|
||||
enlightenment \
|
||||
terminology \
|
||||
libeet-bin \
|
||||
libeina-bin \
|
||||
rox-filer \
|
||||
neovim \
|
||||
firmware-atheros \
|
||||
firmware-bnx2 \
|
||||
firmware-bnx2x \
|
||||
firmware-brcm80211 \
|
||||
firmware-intelwimax \
|
||||
firmware-iwlwifi \
|
||||
firmware-libertas \
|
||||
firmware-linux-nonfree \
|
||||
firmware-misc-nonfree \
|
||||
firmware-myricom \
|
||||
firmware-netxen \
|
||||
firmware-qlogic \
|
||||
firmware-ralink \
|
||||
firmware-realtek \
|
||||
firmware-ti-connectivity \
|
||||
firmware-zd1211 \
|
||||
sudo \
|
||||
yad \
|
||||
refractainstaller-gui \
|
||||
refractasnapshot-gui \
|
||||
linux-headers-amd64 \
|
||||
#libreoffice \
|
||||
#libreoffice-gtk3 \
|
||||
#libreoffice-help-en-gb \
|
||||
#mousepad \
|
||||
#network-manager-gnome \
|
||||
#avahi-daemon \
|
||||
#lightdm \
|
||||
#quodlibet \
|
||||
#lig_t-locker \
|
||||
#orca \
|
||||
""
|
||||
|
||||
RUN mkdir -p /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc && \
|
||||
echo spl >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules && \
|
||||
echo zfs >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules
|
||||
|
||||
ENV BASE_PACKAGES \
|
||||
apt-utils \
|
||||
openrc \
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-progs \
|
||||
zsh \
|
||||
rsync \
|
||||
git \
|
||||
mlocate \
|
||||
libbullet2.87 \
|
||||
libgif7 \
|
||||
libgles2 \
|
||||
libibus-1.0-5 \
|
||||
libpoppler-cpp0v5 \
|
||||
libscim8v5 \
|
||||
libxcb-xkb1 \
|
||||
libxkbcommon-x11-0 \
|
||||
libbluetooth3 \
|
||||
#virtualbox-guest-additions-iso \
|
||||
#qemu-guest-agent \
|
||||
#cloud-guest-utils \
|
||||
#openntpd \
|
||||
""
|
||||
|
||||
ENV PURGE_PACKAGES \
|
||||
apparmor \
|
||||
apparmor-utils \
|
||||
auditd \
|
||||
apparmor-profiles \
|
||||
apparmor-profiles-extra \
|
||||
avahi-daemon \
|
||||
avahi-autoipd \
|
||||
libavahi-common-data \
|
||||
libavahi-common3 \
|
||||
libavahi-glib1 \
|
||||
libavahi-client3 \
|
||||
cups-browsed \
|
||||
gvfs-daemon \
|
||||
libpam-gnome-keyring \
|
||||
pulseaudio \
|
||||
pulseaudio-utils \
|
||||
libpulsedsp \
|
||||
xscreensaver \
|
||||
xscreensaver-data \
|
||||
""
|
||||
|
||||
|
||||
|
||||
## instalation order is important
|
||||
ENV CUSTOM_DEB_PACKAGES \
|
||||
bluealsa_2.1.0-1_amd64.deb \
|
||||
checkinstall_1.6.2+git20170426.d24a630-2_amd64.deb \
|
||||
dissenter-browser_0.70.122_amd64.deb \
|
||||
libupnp6_1.6.19+git20160116-1.2_amd64.deb \
|
||||
djmount_0.71-7.1_amd64.deb \
|
||||
shellcheck_0.7.0-2~bpo10+1_amd64.deb \
|
||||
torbrowser-launcher_0.3.2-7_amd64.deb \
|
||||
#efl-doc_1.23.3-5_all.deb \
|
||||
#libecore1_1.23.3-5_amd64.deb \
|
||||
#libecore-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-file1_1.23.3-5_amd64.deb \
|
||||
#libeeze1_1.23.3-5_amd64.deb \
|
||||
#libeeze-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-audio1_1.23.3-5_amd64.deb \
|
||||
#libecore-con1_1.23.3-5_amd64.deb \
|
||||
#libeina1a_1.23.3-5_amd64.deb \
|
||||
#libemile1_1.23.3-5_amd64.deb \
|
||||
#libeet1_1.23.3-5_amd64.deb \
|
||||
#libector1_1.23.3-5_amd64.deb \
|
||||
#libeina-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-ipc1_1.23.3-5_amd64.deb \
|
||||
#libeio1_1.23.3-5_amd64.deb \
|
||||
#libefreet-bin_1.23.3-5_amd64.deb \
|
||||
#libembryo-bin_1.23.3-5_amd64.deb \
|
||||
#libembryo1_1.23.3-5_amd64.deb \
|
||||
#libelua1_1.23.3-5_amd64.deb \
|
||||
#libelua-bin_1.23.3-5_amd64.deb \
|
||||
#libeolian1_1.23.3-5_amd64.deb \
|
||||
#libelocation1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libecore-fb1_1.23.3-5_amd64.deb \
|
||||
#libecore-x1_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-x_1.23.3-5_amd64.deb \
|
||||
#libevas1_1.23.3-5_amd64.deb \
|
||||
#libecore-evas1_1.23.3-5_amd64.deb \
|
||||
#libecore-input1_1.23.3-5_amd64.deb \
|
||||
#libelput1_1.23.3-5_amd64.deb \
|
||||
#libecore-wl2-1_1.23.3-5_amd64.deb \
|
||||
#libecore-drm2-1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libeet-bin_1.23.3-5_amd64.deb \
|
||||
#libelementary-bin_1.23.3-5_amd64.deb \
|
||||
#libevas-loaders_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-drm_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-fb_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-wayland_1.23.3-5_amd64.deb \
|
||||
#libecore-imf1_1.23.3-5_amd64.deb \
|
||||
#libedje-bin_1.23.3-5_amd64.deb \
|
||||
#libedje1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libelementary-data_1.23.3-5_all.deb \
|
||||
#libelementary1_1.23.3-5_amd64.deb \
|
||||
#libemotion1_1.23.3-5_amd64.deb \
|
||||
#libemotion-players_1.23.3-5_amd64.deb \
|
||||
#libephysics1_1.23.3-5_amd64.deb \
|
||||
#libethumb-client-bin_1.23.3-5_amd64.deb \
|
||||
#libethumb-client1_1.23.3-5_amd64.deb \
|
||||
#libethumb1_1.23.3-5_amd64.deb \
|
||||
#enlightenment-data_0.23.1-1_all.deb \
|
||||
#enlightenment_0.23.1-1_amd64.deb \
|
||||
#terminology-data_1.6.0-1_all.deb \
|
||||
#terminology_1.6.0-1_amd64.deb \
|
||||
#\
|
||||
#enlightenment-dev_0.23.1-1_amd64.deb \
|
||||
#libefl-all-dev_1.23.3-5_amd64.deb \
|
||||
\
|
||||
#enlightenment-dbgsym_0.23.1-1_amd64.deb \
|
||||
#libecore-audio1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-con1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-drm2-1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-evas1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-fb1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-file1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-imf1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-input1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-ipc1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-wl2-1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-x1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libector1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libedje-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libedje1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeet-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeet1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeeze-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeeze1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefl-all-dev-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefreet-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefreet1a-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeina-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeina1a-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeio1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelementary-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelementary1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelocation1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelput1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelua-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelua1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libembryo-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libembryo1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemile1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemotion-players-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemotion1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeolian1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libephysics1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb-client-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb-client1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas-loaders-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-drm-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-fb-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-wayland-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-x-dbgsym_1.23.3-5_amd64.deb \
|
||||
#terminology-dbgsym_1.6.0-1_amd64.deb \
|
||||
""
|
||||
|
||||
ENV CUSTOM_SCRIPTS \
|
||||
001_apt_suggests-recommends.sh \
|
||||
001_locales.sh \
|
||||
001_resolvconf.sh \
|
||||
010_sysctl.sh \
|
||||
010_generate-ssh.sh \
|
||||
010_apt-get.sh \
|
||||
001_system_bell.sh \
|
||||
010_saltstack.sh \
|
||||
020_console.sh \
|
||||
020_zsh_quickstart.sh \
|
||||
020_zsh_aliases.d.sh \
|
||||
020_lsd.sh \
|
||||
020_grc.sh \
|
||||
010_alsa.sh \
|
||||
020_conky.sh \
|
||||
020_djmount.sh \
|
||||
020_vim.sh \
|
||||
020_meld.sh \
|
||||
020_themes.sh \
|
||||
020_audacity.sh \
|
||||
020_powerline-bash.sh \
|
||||
020_fonts.sh \
|
||||
020_nanorc.sh \
|
||||
020_neovim.sh \
|
||||
020_mutt-wizard.sh \
|
||||
020_mutt-notmuch.sh \
|
||||
020_mutt-khard.sh \
|
||||
020_shellcheck.sh \
|
||||
020_neofetch_motd.sh \
|
||||
020_tmux.sh \
|
||||
020_rox-filer.sh \
|
||||
020_hexchat.sh \
|
||||
020_pidgin.sh \
|
||||
020_brave_browser.sh \
|
||||
020_slim.sh \
|
||||
020_docker.sh \
|
||||
020_docker-compose.sh \
|
||||
050_wicd.sh \
|
||||
050_remove_xscreensaver.sh \
|
||||
""
|
||||
|
||||
ENV FINALIZE_PURGE_PACKAGES \
|
||||
""
|
||||
|
||||
### ## ENV CORE_VALUES " \
|
||||
### ## ["core_packages="]=${CORE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV BASE_VALUES " \
|
||||
### ## ["base_packages="]=${BASE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV PURGE_VALUES " \
|
||||
### ## ["purge_packages="]=${PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV FINALIZE_PURGE_VALUES " \
|
||||
### ## ["finalize_purge_packages="]=${FINALIZE_PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
|
||||
ENV SDK_CONFIG /live-sdk/lib/libdevuansdk/config
|
||||
ENV BLEND_CONFIG /live-sdk/blends/${BLEND_NAME}/config
|
||||
ENV BLEND_PACKAGE_CONFIG /live-sdk/blends/${BLEND_NAME}/${RELEASE}/config
|
||||
|
||||
#### # Bash-isms follow, so:
|
||||
#### SHELL ["/bin/bash", "-c"]
|
||||
####
|
||||
#### # Use sed to insert ..._package sections if missing. The Q42 is a forced exit status.
|
||||
#### # Assumes the base_package stanza is present.
|
||||
#### RUN ( \
|
||||
#### if $(sed -n -e "/^core_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\core_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^extra_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\EXTRA_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### if $(sed -n -e "/^purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^custom_deb_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\custom_deb_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^finalize_purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\finalize_purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^blend_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\blend_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # \
|
||||
#### # Use sed to replace block of values. \
|
||||
#### # This works and is copy/pasteable to a bash shell, but the '[@]' elements are not strictly needed in a Dockerfile. \
|
||||
#### # RUN ( \
|
||||
#### sed -i \
|
||||
#### -e "/^core_packages/,/^)$/ c\core_packages=(\n${CORE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^base_packages/,/^)$/ c\base_packages=(\n${BASE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^extra_packages/,/^)$/ i\extra_packages+=(\n${EXTRA_PACKAGES[@]}\n);Q" \
|
||||
#### -e "/^purge_packages/,/^)$/ c\purge_packages+=(\n${PURGE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^custom_deb_packages/,/^)$/ c\custom_deb_packages+=(\n${CUSTOM_DEB_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^finalize_purge_packages/,/^)$/ c\finalize_purge_packages+=(\n${FINALIZE_PURGE_PACKAGES[@]}\n)" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### ## \
|
||||
#### ## Use sed to format the lists one per line, tabbed. \
|
||||
#### ## Works for not- and tab-indented lists. \
|
||||
#### ##RUN ( \
|
||||
#### sed -i \
|
||||
#### ## -e "/^core_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^base_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ### -e "/^extra_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### -e "/^custom_deb_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^finalize_purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### cat ${BLEND_CONFIG}; \
|
||||
#### )
|
||||
|
||||
### ## RUN edit-config-list.sh ${CORE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${BASE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${PURGE_VALUES} ${BLEND_CONFIG}
|
||||
### ##
|
||||
### ## # FIXME: Does edit-config.sh cope with multi-line variables in CONFIG_VALUES below.
|
||||
|
||||
|
||||
### #ENV CONFIG_VALUES " \
|
||||
### # ["core_packages"]=${CORE_PACKAGES} \
|
||||
### # ["base_packages"]=${BASE_PACKAGES} \
|
||||
### # ["purge_packages"]=${PURGE_PACKAGES} \
|
||||
### # "
|
||||
|
||||
# These values are over-ridden by the blend conf files so should probably only be changed when releasing sdk updates.
|
||||
ENV SDK_CONFIG_VALUES "\
|
||||
["os"]='${OS}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${VERSION}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
["rootcredentials"]='${ROOT_CRED}' \
|
||||
["usercredentials"]='${USER_CRED}' \
|
||||
["corepackages_option"]='' \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages_option"]='' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages_option"]='' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
"
|
||||
#RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${SDK_CONFIG}
|
||||
|
||||
ENV CONFIG_VALUES " \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
["extra_packages"]='${EXTRA_PACKAGES}' \
|
||||
["custom_deb_packages"]='${CUSTOM_DEB_PACKAGES}' \
|
||||
["custom_scripts"]='${CUSTOM_SCRIPTS}' \
|
||||
["finalize_purge_packages"]='${FINALIZE_PURGE_PACKAGES}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${BLEND_PACKAGE_CONFIG}
|
||||
|
||||
|
||||
#ENV CONFIG_VALUES " \
|
||||
# ["os"]='${OS}' \
|
||||
# ["release"]='${RELEASE}' \
|
||||
# ["version"]='${VERSION}' \
|
||||
# ["mirror"]='${APT_MIRROR}' \
|
||||
# ["section"]='${SECTION}' \
|
||||
# ["image_name"]='${IMAGE_NAME}' \
|
||||
# "
|
||||
#RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${BLEND_CONFIG}
|
||||
|
||||
ENV BLEND_CONFIG_VALUES " \
|
||||
["blend_name"]='${BLEND_NAME}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${BLEND_VERS}' \
|
||||
["username"]='${USER_NAME}' \
|
||||
["userpass"]='${USER_PASS}' \
|
||||
["default_shell"]='${DEFAULT_SHELL}' \
|
||||
["manual_list"]='${MANUAL_LIST}' \
|
||||
["auto_list"]='${AUTO_LIST}' \
|
||||
["grubversion"]='${GRUB_VER}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["release_conf"]='${RELEASE_CONF}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
# ["mkefi"]='${MKEFI}' \
|
||||
# ["efi_work"]='${EFI_WORK}' \
|
||||
# ["base_packages_option"]='${BASE_PACKAGES_OPTION}'
|
||||
# ["extra_packages_option"]='${EXTRA_PACKAGES_OPTION}'
|
||||
# ["hookscripts"]='${USE_HOOKS}' \
|
||||
# ["arch"]='${ARCH}' \
|
||||
# ["sources_list"]='${SOURCES_LIST}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${BLEND_CONFIG_VALUES}" ${BLEND_CONFIG}
|
||||
|
||||
# Add zfs var and arrs filesystems you would like to snapshot separately or
|
||||
# apply and indiviual quota
|
||||
#vars+=(zfs_poolname)
|
||||
ENV ZFS_POOLNAME "rpool"
|
||||
|
||||
#arrs+=(zfs_datasets)
|
||||
ENV ZFS_DATASETS " \
|
||||
"/home" \
|
||||
"/home/${username}" \
|
||||
"/space" \
|
||||
"/opt" \
|
||||
"/tmp" \
|
||||
"/usr" \
|
||||
"/usr/share" \
|
||||
"/usr/local" \
|
||||
"/var" \
|
||||
"/var/cache" \
|
||||
"/var/cache/apt" \
|
||||
"/var/lib" \
|
||||
"/var/tmp" \
|
||||
"/var/lib/virt" \
|
||||
"/var/lib/lxc" \
|
||||
"/var/lib/docker" \
|
||||
"/var/log" \
|
||||
"/var/spool" \
|
||||
"/var/tmp" \
|
||||
"
|
||||
|
||||
# Given on the load commandline
|
||||
#RUN sed -i "s,^\(os=\).*,\1\"${OS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#RUN sed -i "s,^\(blend_name=\).*,\1\"${BLEND_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(username=\).*,\1\"${USER_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(userpass=\).*,\1\"${USER_PASS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(default_shell=\).*,\1\"${DEFAULT_SHELL}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(section=\).*,\1\"${SECTION}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(image_name=\).*,\1\"${IMAGE_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(grubversion=\).*,\1\"${GRUB_VER}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
##RUN sed -i "s,^\(blend_vers=\).*,\1\"${BLEND_VERS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^blend_vers=' /live-sdk/blends/${BLEND_VERS}/config && \
|
||||
# sed -i "s/^blend_vers.*/mirror=${BLEND_VERS}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${BLEND_VERS}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
##RUN sed -i "s,^\(release=\).*,\1\"${RELEASE}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^release=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^release.*/mirror=${RELEASE}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${RELEASE}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN grep -q '^mirror=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^mirror.*/mirror=${APT_MIRROR}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^mirror=${BLEND_NAME}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN sed -i "s,^\(mirror=\).*,\1\"${APT_MIRROR}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
|
||||
# Add/remove packages not already in the blend
|
||||
#RUN echo ""extra_packages+=( smartmontools gsmartcontrol ) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN purge_packages+=( policykit-1) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
# Add hook scripts not all ready in the blend
|
||||
#RUN echo "" > /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
#COPY common/hooks/hook.sh /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
|
||||
# Add custom debs not already in the blend
|
||||
#RUN echo "custom_deb_packages+=( sanoid_1.4.14-1_amd64.deb )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#COPY common/custom-packages/sanoid_1.4.14-1_amd64.deb /live-sdk/blends/${BLEND_NAME}/sanoid_1.4.14-1_amd64.deb
|
||||
|
||||
## copy a get-selections from the livecd (install your prefered programs beforehand)
|
||||
#dpkg --get-selections > /var/tmp/packages.list
|
||||
#/usr/bin/apt-mark showauto > /var/tmp/pkgs_auto.lst
|
||||
#/usr/bin/apt-mark showmanual > /var/tmp/pkgs_manual.lst
|
||||
COPY packages.list blends/${BLEND_NAME}/packages.list
|
||||
#COPY pkgs_auto.list blends/${BLEND_NAME}/pkgs_auto.list
|
||||
#COPY pkgs_manual.list blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
COPY pkgs_auto.list-ascii blends/${BLEND_NAME}/pkgs_auto.list
|
||||
COPY pkgs_manual.list-ascii blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
## Build sequence:
|
||||
# source sdk
|
||||
# load ${OS} ${ARCH} ${BLEND_NAME}
|
||||
# AUTOMATE_HOME=${strapdir}/var/tmp/automate
|
||||
# devprocsys umount ${strapdir}
|
||||
## build_iso_dist() {
|
||||
# bootstrap_complete_base
|
||||
# (*) bootstrapping devuan amd64 base
|
||||
# (*) running debootstrap stage 1 - retrieve and validate
|
||||
# (*) running debootstrap stage 2 - unpack and configure
|
||||
# (*) writing system configuration
|
||||
# (*) running debootstrap stage 3 - mount and chroot
|
||||
# (*) chrooting to execute thirdstage...
|
||||
# writes file 'thirdstage' to the chroot
|
||||
# bootstrap_config_thirdstage | sudo tee $strapdir/thirdstage >/dev/null
|
||||
#
|
||||
# and runs it with
|
||||
# chroot-script -d thirdstage || zerr
|
||||
#
|
||||
#
|
||||
# debconf-set-selections /debconf.set
|
||||
# apt-get --yes --force-yes install ${core_packages_option} ${core_packages}
|
||||
# apt-get --yes --force-yes install ${base_packages_option} ${base_packages}
|
||||
# apt-get --yes --force-yes purge ${purge_packages_option} ${purge_packages}
|
||||
# apt-get --yes --force-yes autoremove
|
||||
# sed -e 's/# en_US.UTF-8/en_US.UTF-8/' -i /etc/locale.gen
|
||||
# (*) Creating boostrap tarball in /live-sdk/tmp/bootstrap-devuan-amd64-stage3.tgz
|
||||
# (*) chrooting to execute postunpack... - install blend debs
|
||||
#
|
||||
# cp -a ${live_sdk-$PWD/}automate ${strapdir}/var/tmp
|
||||
# cp -a automate ${strapdir}/var/tmp
|
||||
#
|
||||
# blend_preinst from the blend file:
|
||||
# (*) executing devuan-desktop-live_ preinst
|
||||
# (*) adding user devuan:devuan
|
||||
# (*) chrooting to execute adduser... add-user $username $userpass
|
||||
# (*) copying blend-specific debs... cp -fv "$blend_release_path"/*.deb "$R/extra/custom-packages"
|
||||
#
|
||||
# devprocsys mount $strapdir
|
||||
# chroot-script /var/tmp/automate/001_locales.sh
|
||||
# chroot-script /var/tmp/automate/010_apt-get.sh
|
||||
# chroot-script /var/tmp/automate/010_saltstack.sh
|
||||
# chroot-script /var/tmp/automate/020_console.sh
|
||||
# chroot-script /var/tmp/automate/020_zsh_quickstart.sh
|
||||
# chroot-script /var/tmp/automate/020_zsh_aliases.d.sh
|
||||
# chroot-script /var/tmp/automate/020_lsd.sh
|
||||
# chroot-script /var/tmp/automate/020_grc.sh
|
||||
# chroot-script /var/tmp/automate/010_alsa.sh
|
||||
# chroot-script /var/tmp/automate/020_vim.sh
|
||||
# chroot-script /var/tmp/automate/020_meld.sh
|
||||
# chroot-script /var/tmp/automate/020_themes.sh
|
||||
# chroot-script /var/tmp/automate/020_powerline-bash.sh
|
||||
# chroot-script /var/tmp/automate/020_nanorc.sh
|
||||
# chroot-script /var/tmp/automate/020_neovim.sh
|
||||
# chroot-script /var/tmp/automate/020_neofetch_motd.sh
|
||||
# chroot-script /var/tmp/automate/020_tmux.sh
|
||||
# chroot-script /var/tmp/automate/020_rox-filer.sh
|
||||
# chroot-script /var/tmp/automate/020_hexchat.sh
|
||||
# chroot-script /var/tmp/automate/020_pidgin.sh
|
||||
# chroot-script /var/tmp/automate/020_torbrowser.sh
|
||||
# chroot-script /var/tmp/automate/050_wicd.sh
|
||||
# chroot-script /var/tmp/automate/050_remove_xscreensaver.sh
|
||||
# devprocsys umount $strapdir
|
||||
# iso_prepare_strap
|
||||
# (*) preparing strapdir for livecd
|
||||
# (*) chrooting to execute isoprep...
|
||||
# build_kernel_${arch}
|
||||
# (*) installing stock kernel for amd64
|
||||
# (*) chrooting to execute install-linux...
|
||||
# iso_setup_isolinux
|
||||
# (*) setting up isolinux
|
||||
# iso_write_isolinux_cfg
|
||||
# (*) writing isolinux configuration
|
||||
# (*) copying isolinux overlay
|
||||
# blend_postinst from the blend file:
|
||||
# install-custdebs
|
||||
# chroot-script -d install-debs
|
||||
# rsync the rootfs-overlay
|
||||
# (*) executing devuan-desktop-live_ postinst
|
||||
# (*) chrooting to execute install-debs...
|
||||
# (*) chrooting to execute finalize...
|
||||
# add user to groups: cdrom floppy audio dip video plugdev netdev lpadmin scanner
|
||||
# set default shell
|
||||
# copy the /root dotfiles to /home/${username}
|
||||
# chown the home directory
|
||||
# update-initramfs -u -k -all
|
||||
# change sources.list to deb.debuan.org
|
||||
# fill_apt_cache
|
||||
# iso_squash_strap
|
||||
# (*) creating squashfs out of strapdir
|
||||
# iso_xorriso_build
|
||||
# (*) building iso...
|
||||
#}
|
||||
#-------------------------------------------------------------------------------------
|
||||
# Log creation order
|
||||
# bootstrap_complete_base
|
||||
# dpkgdivert.log
|
||||
# postunpack.log
|
||||
# thirdstage.log
|
||||
# blend_preinst
|
||||
# blend_postinst
|
||||
# install-debs
|
||||
# install-scripts.log
|
||||
# adduser.log
|
||||
# finalize.log
|
||||
#
|
||||
#-------------------------------------------------------------------------------------
|
||||
# # Inject default background in e17 configuration (for all known profiles)
|
||||
## eet -l e.cfg # list all keys, usually just "config"
|
||||
## eet -d e.cfg config e.src # writes human readable values to file e.src
|
||||
## $EDITOR e.src # change whatever you like
|
||||
## eet -e e.cfg config e.src 1 # recompress to binary cfg file
|
||||
#
|
||||
# e.cfg
|
||||
# enlightenment-standard.png
|
||||
# module.conf.cfg
|
||||
# module.fileman.cfg
|
||||
# module.ibox.cfg
|
||||
# module.temperature.cfg
|
||||
# e_bindings.cfg
|
||||
# module.battery.cfg
|
||||
# module.cpufreq.cfg
|
||||
# module.ibar.cfg
|
||||
# module.pager.cfg
|
||||
# profile.desktop
|
||||
#
|
||||
# E_CFG_HOME /usr/share/enlightenment/data/config
|
||||
#
|
||||
# for profile in mobile standard tiling default computer; do
|
||||
# dpkg-divert --local --add ${E_CFG_HOME}/$profile/e.cfg
|
||||
# eet -d ${E_CFG_HOME}/$profile/e.cfg config /var/tmp/e.src
|
||||
# awk '/value "desktop_default_name"/ {print " value \"desktop_default_background\" string: \"/usr/share/enlightenment/data/backgrounds/kali-wallpaper_1920x1200.edj\";"}; {print}' /var/tmp/e.src >/var/tmp/e2.src
|
||||
# eet -e ${E_CFG_HOME}/$profile/e.cfg config /var/tmp/e2.src 1
|
||||
# rm -f /tmp/e.src /tmp/e2.src
|
||||
# done
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
## RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
## echo "source sdk" >> build-iso.zsh && \
|
||||
## echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
## echo "build_iso_dist" >> build-iso.zsh && \
|
||||
## chmod +x build-iso.zsh
|
||||
#RUN ( \
|
||||
# ( echo "#!/usr/bin/env zsh"; \
|
||||
# echo "source sdk"; \
|
||||
# echo "load ${OS} ${ARCH} ${BLEND_NAME}"; \
|
||||
# echo "build_iso_dist" \
|
||||
# ) >> build-iso.zsh \
|
||||
# && chmod +x build-iso.zsh && ls -l build-iso.zsh && cat build-iso.zsh \
|
||||
# )
|
||||
|
||||
COPY bin/build-iso.zsh build-iso.zsh
|
||||
#RUN ( ls -l build-iso.zsh; ./build-iso.zsh )
|
||||
|
||||
RUN cat ${SDK_CONFIG}; cat ${BLEND_CONFIG}
|
||||
### #ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["./build-iso.zsh"]
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# https://dev1galaxy.org/viewtopic.php?id=551
|
||||
#FROM devuan:ascii-slim
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
RUN apt-get install -y apt-utils
|
||||
RUN apt-get install -y xorriso squashfs-tools live-boot syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils
|
||||
RUN apt-get install -y live-build live-config live-config-sysvinit isolinux grub-efi-amd64-bin grub-common dosfstools
|
||||
|
||||
RUN git clone https://git.devuan.org/sdk/live-sdk
|
||||
|
||||
WORKDIR /live-sdk
|
||||
|
||||
RUN git submodule update --init --recursive --checkout
|
||||
|
||||
# sub modules might be behind current libdevuansdk git, if you require a more current version of libdevuansdk clone directly:
|
||||
#WORKDIR /live-sdk/lib
|
||||
#RUN rm -rf libdevuansdk
|
||||
#RUN git clone https://git.devuan.org/sdk/libdevuansdk
|
||||
|
||||
WORKDIR /live-sdk
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
ENV OS devuan
|
||||
ENV ARCH amd64
|
||||
ENV BLEND_NAME devuan-live
|
||||
|
||||
RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
echo "source sdk" >> build-iso.zsh && \
|
||||
echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
echo "build_iso_dist" >> build-iso.zsh && \
|
||||
chmod +x build-iso.zsh
|
||||
|
||||
#ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["build-iso.zsh"]
|
||||
|
|
@ -0,0 +1,904 @@
|
|||
# syntax = docker/dockerfile:experimental
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
|
||||
RUN rm -f /etc/apt/apt.conf.d/docker-clean; \
|
||||
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt \
|
||||
--mount=type=cache,target=/var/lib/apt \
|
||||
apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt \
|
||||
--mount=type=cache,target=/var/lib/apt \
|
||||
apt-get install -y xorriso squashfs-tools live-boot live-build live-config live-config-sysvinit \
|
||||
syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils \
|
||||
rsync slim openssh-client isolinux grub-efi-amd64-bin grub-common dosfstools gnutls-bin
|
||||
|
||||
#RUN apt-get install -y kpartx cgpt
|
||||
|
||||
ARG GITLAB_URL="git.ring-zero.co.uk/"
|
||||
ARG GITLAB_PORT="10022"
|
||||
ARG GITLAB_USER=cyteen
|
||||
|
||||
ENV USER_NAME "default"
|
||||
ENV USER_PASS "default"
|
||||
|
||||
ENV ROOT_CRED "root:toor"
|
||||
ENV USER_CRED "${USER_NAME}:${USER_PASS}"
|
||||
|
||||
ENV DEFAULT_SHELL "/bin/zsh"
|
||||
|
||||
ENV OS "devuan"
|
||||
ENV ARCH "amd64"
|
||||
ARG RELEASE="beowulf"
|
||||
ENV VERSION 2.0.0
|
||||
|
||||
ARG TEMPLATE_NAME="devuan-beowulf-live-e17"
|
||||
ARG BLEND_NAME="live-zfs-e17"
|
||||
ARG BLEND_VERS="3.0-test-$(date +%Y-%m-%d)"
|
||||
|
||||
ARG APT_MIRROR="https://deb.devuan.org/merged"
|
||||
|
||||
ENV USE_HOOKS "yes"
|
||||
ENV SECTION "main contrib non-free"
|
||||
ENV RELEASE_CONF "$BLENDPATH/${release}/config"
|
||||
ENV IMAGE_NAME "${OS}_${RELEASE}_${VERSION}_${ARCH}_desktop"
|
||||
ENV BASE_PACKAGES_OPTION "--no-install-recommends"
|
||||
ENV EXTRA_PACKAGES_OPTION "--no-install-recommends"
|
||||
|
||||
ENV SOURCES_LIST "${BLENDPATH}/sources.list"
|
||||
ENV MANUAL_LIST "${BLENDPATH}/manual.list"
|
||||
ENV AUTO_LIST "${BLENDPATH}/auto.list"
|
||||
|
||||
ARG GIT_EMAIL_URL="ring-zero.co.uk"
|
||||
ARG GIT_EMAIL_NAME="cyteen"
|
||||
ARG GIT_NAME="Cyteen May"
|
||||
RUN git config --global user.email "${GIT_EMAIL_NAME}@${GIT_EMAIL_URL}"
|
||||
RUN git config --global user.name "${GIT_NAME}"
|
||||
|
||||
# Add any domains needed to the known hosts file.
|
||||
RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan git.devuan.org >> /root/.ssh/known_hosts
|
||||
|
||||
# ssh-keyscan -p 10020 git.ring-zero.co.uk >> ${HOME}/.ssh/know_hosts
|
||||
RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan -p ${GITLAB_PORT} ${GITLAB_URL} >> /root/.ssh/known_hosts
|
||||
|
||||
WORKDIR /var/tmp
|
||||
|
||||
## Create an empty project for the new blend.
|
||||
RUN mkdir ${BLEND_NAME}
|
||||
WORKDIR /tmp/${BLEND_NAME}
|
||||
RUN git init && \
|
||||
mkdir ${RELEASE}
|
||||
|
||||
# Add the blend scripts submodule to the new blend.
|
||||
# ssh://git@git.ring-zero.co.uk:10022/scripts/automate.git beowulf/scripts
|
||||
RUN --mount=type=ssh git submodule add ssh://git@${GITLAB_URL}:${GITLAB_PORT}/scripts/automate.git ${RELEASE}/scripts
|
||||
|
||||
RUN git add .
|
||||
RUN git commit -m "Dockerfile: commit after adding submodule."
|
||||
|
||||
|
||||
# Directly push it to GitLab to create the new project, see:
|
||||
# https://docs.gitlab.com/ee/gitlab-basics/create-project.html#push-to-create-a-new-project
|
||||
# ssh://git@git.ring-zero.co.uk:10022/sdk/blends/live-zfs-e17.git master
|
||||
RUN --mount=type=ssh git push --set-upstream ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/blends/${BLEND_NAME}.git master
|
||||
|
||||
|
||||
## Clone the live-sdk upstream to the root directory.
|
||||
#RUN --mount=type=ssh git clone https://${GITLAB_URL}/${GITLAB_USER}/live-sdk
|
||||
#RUN --mount=type=ssh git clone https://git.devuan.org/sdk/live-sdk.git /live-sdk
|
||||
#RUN --mount=type=ssh git clone git@git.devuan.org:sdk/live-sdk.git /live-sdk
|
||||
RUN --mount=type=ssh git clone ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/live-sdk.git /live-sdk
|
||||
|
||||
#RUN git remote remove origin && git remote add origin ${GITLAB_URL}:sdk/live-sdk.git
|
||||
|
||||
WORKDIR /live-sdk
|
||||
|
||||
## Create local branch of the live-sdk to add only local git submodules UNIQUE:
|
||||
RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Change the submodules to local for zuper and libdevuansdk
|
||||
# git config --file=.gitmodules submodule.lib/zuper.url ssh://git@git.ring-zero.co.uk:10022/sdk/zuper.git
|
||||
RUN git config --file=.gitmodules submodule.lib/zuper.url ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/zuper.git
|
||||
#git config --file=.gitmodules submodule.lib/libdevuansdk.url ssh://git@git.ring-zero.co.uk:10022/sdk/libdevuansdk.git
|
||||
RUN git config --file=.gitmodules submodule.lib/libdevuansdk.url ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/libdevuansdk.git
|
||||
RUN git config --file=.gitmodules submodule.lib/libdevuansdk.branch ring-zero
|
||||
|
||||
RUN git add .
|
||||
RUN git commit -am "Set library submodules to ring-zero gitlab repo."
|
||||
|
||||
RUN git submodule sync
|
||||
|
||||
RUN cat .git/config
|
||||
RUN cat .gitmodules
|
||||
|
||||
## Add submodules to the branch
|
||||
# the new blend submodule
|
||||
# git submodule add ssh://git@git.ring-zero.co.uk:10022/sdk/blends/live-zfs-e17.git \
|
||||
# blends/${BLEND_NAME} --recursive
|
||||
RUN --mount=type=ssh git submodule add ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/blends/${BLEND_NAME} \
|
||||
blends/${BLEND_NAME} --recursive
|
||||
|
||||
# the template blend submodule
|
||||
# git submodule add -b ring-zero ssh://git@git.ring-zero.co.uk:10022/sdk/blends/devuan-beowulf-live-e17.git blends/devuan-beowulf-live-e17 --recursive
|
||||
RUN --mount=type=ssh git submodule add -b ring-zero ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/blends/${TEMPLATE_NAME} \
|
||||
blends/${TEMPLATE_NAME} --recursive
|
||||
|
||||
RUN git add .
|
||||
RUN git commit -m "Add blends as submodules from ring-zero gitlab repo."
|
||||
|
||||
# re-synchronize the information in .git/config with the information in .gitmodules
|
||||
RUN git submodule sync
|
||||
|
||||
#RUN --mount=type=ssh git push --set-upstream git@${GITLAB_URL}:${GITLAB_USER}/live-sdk.git master
|
||||
|
||||
## Update submodules recursively,
|
||||
# /live-sdk/lib/libdevuansdk
|
||||
# /live-sdk/lib/zuper
|
||||
# /live-sdk/blends/${BLEND_NAME}
|
||||
# /live-sdk//blends/${BLEND_NAME}/scripts
|
||||
# /live-sdk//blends/${TEMPLATE_NAME}/scripts
|
||||
#RUN git submodule update --init --recursive --checkout
|
||||
#RUN --mount=type=ssh git pull && git submodule update --init --recursive --checkout
|
||||
RUN --mount=type=ssh git submodule update --init --recursive --remote
|
||||
RUN git add -A
|
||||
|
||||
## Starting with an empty BLEND_NAME. Copy the template blend into the new blend
|
||||
RUN cp -R /live-sdk/blends/${TEMPLATE_NAME}/* /live-sdk/blends/${BLEND_NAME}/
|
||||
|
||||
# Rename the blend file of the transfered blend to the new blend name.
|
||||
RUN mv /live-sdk/blends/${BLEND_NAME}/${TEMPLATE_NAME}.blend /live-sdk/blends/${BLEND_NAME}/${BLEND_NAME}.blend
|
||||
|
||||
# Enable/disable UEFI - Currently code checks to see if the $mkefi is set not if it is yes or no and turning it off breaks the xorriso build options.
|
||||
ENV MKEFI "no"
|
||||
ENV GRUB_VER "grub-pc"
|
||||
ENV EFI_WORK ""
|
||||
#RUN sed -i "s,^\(mkefi=\).*,\1\"${MKEFI}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(efi_work=\).*,\1\"${EFI_WORK}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i '/^mkefi=/s/^/# /' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#ENV MKEFI "yes"
|
||||
#ENV GRUB_VER "grub-efi-amd64"
|
||||
#ENV EFI_WORK "${BLENDPATH}/efi-files"
|
||||
#RUN sed -i '/# mkefi=/s/# /^/' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#WORKDIR /live-sdk/blends/
|
||||
#RUN git clone https://git.devuan.org/${GITLAB_USER}/blends/live-zfs
|
||||
#RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Once working and building push to git
|
||||
#RUN git push origin ${BLEND_NAME}
|
||||
|
||||
|
||||
WORKDIR /live-sdk
|
||||
# Add the new blend to the sdk blend_map so we can build it.
|
||||
RUN sed -i "/blend_map=.*/ s/.*/&\n\t\t\"${BLEND_NAME}\" \"\$R\/blends\/${BLEND_NAME}\/${BLEND_NAME}.blend\"/" sdk
|
||||
|
||||
# Add call for sourceslist
|
||||
#RUN sed -i "/install-custdebs.*/ s/.*/&\n\tinstall-packageslist || zerr/" sdk
|
||||
|
||||
COPY bin/edit-config.sh /live-sdk/edit-config.sh
|
||||
|
||||
# #!/bin/bash
|
||||
# /live-sdk/edit-config.sh
|
||||
#
|
||||
# CONFIG_FILE="${2}"
|
||||
# declare -A arr
|
||||
# arr+=( "${1}" )
|
||||
# for TARGET_KEY in "${!arr[@]}"; do
|
||||
# echo "x " ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
# if grep -q "^${TARGET_KEY}=" ${CONFIG_FILE}; then
|
||||
# sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# else
|
||||
# sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# fi
|
||||
# done
|
||||
|
||||
# Construct array for edit-config
|
||||
# Taken from /live-sdk/lib/libdevuansdk/config
|
||||
ENV CORE_PACKAGES \
|
||||
devuan-keyring \
|
||||
debian-keyring \
|
||||
ca-certificates \
|
||||
initramfs-tools \
|
||||
e2fsprogs \
|
||||
curl \
|
||||
less \
|
||||
vim \
|
||||
nano \
|
||||
sysvinit \
|
||||
""
|
||||
|
||||
ENV EXTRA_PACKAGES \
|
||||
librsvg2-common \
|
||||
fonts-quicksand \
|
||||
fonts-liberation \
|
||||
fonts-symbola \
|
||||
xserver-xorg-input-all \
|
||||
xserver-xorg-video-all \
|
||||
anacron \
|
||||
bluetooth \
|
||||
iw \
|
||||
powertop \
|
||||
vim-gtk3 \
|
||||
wireless-tools \
|
||||
wpasupplicant \
|
||||
tasksel \
|
||||
xfce4 \
|
||||
xfce4-goodies \
|
||||
xfce4-power-manager \
|
||||
xfce4-terminal \
|
||||
atril \
|
||||
dbus-x11 \
|
||||
hunspell-en-gb \
|
||||
hyphen-en-gb \
|
||||
mythes-en-us \
|
||||
synaptic \
|
||||
system-config-printer \
|
||||
tango-icon-theme \
|
||||
xsane \
|
||||
enlightenment \
|
||||
terminology \
|
||||
libeet-bin \
|
||||
libeina-bin \
|
||||
rox-filer \
|
||||
neovim \
|
||||
firmware-atheros \
|
||||
firmware-bnx2 \
|
||||
firmware-bnx2x \
|
||||
firmware-brcm80211 \
|
||||
firmware-intelwimax \
|
||||
firmware-iwlwifi \
|
||||
firmware-libertas \
|
||||
firmware-linux-nonfree \
|
||||
firmware-misc-nonfree \
|
||||
firmware-myricom \
|
||||
firmware-netxen \
|
||||
firmware-qlogic \
|
||||
firmware-ralink \
|
||||
firmware-realtek \
|
||||
firmware-ti-connectivity \
|
||||
firmware-zd1211 \
|
||||
sudo \
|
||||
yad \
|
||||
refractainstaller-gui \
|
||||
refractasnapshot-gui \
|
||||
linux-headers-amd64 \
|
||||
#libreoffice \
|
||||
#libreoffice-gtk3 \
|
||||
#libreoffice-help-en-gb \
|
||||
#mousepad \
|
||||
#network-manager-gnome \
|
||||
#avahi-daemon \
|
||||
#lightdm \
|
||||
#quodlibet \
|
||||
#lig_t-locker \
|
||||
#orca \
|
||||
""
|
||||
|
||||
RUN mkdir -p /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc && \
|
||||
echo spl >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules && \
|
||||
echo zfs >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules
|
||||
|
||||
ENV BASE_PACKAGES \
|
||||
apt-utils \
|
||||
openrc \
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-progs \
|
||||
zsh \
|
||||
rsync \
|
||||
git \
|
||||
mlocate \
|
||||
libbullet2.87 \
|
||||
libgif7 \
|
||||
libgles2 \
|
||||
libibus-1.0-5 \
|
||||
libpoppler-cpp0v5 \
|
||||
libscim8v5 \
|
||||
libxcb-xkb1 \
|
||||
libxkbcommon-x11-0 \
|
||||
libbluetooth3 \
|
||||
#virtualbox-guest-additions-iso \
|
||||
#qemu-guest-agent \
|
||||
#cloud-guest-utils \
|
||||
#openntpd \
|
||||
""
|
||||
|
||||
ENV PURGE_PACKAGES \
|
||||
apparmor \
|
||||
apparmor-utils \
|
||||
auditd \
|
||||
apparmor-profiles \
|
||||
apparmor-profiles-extra \
|
||||
avahi-daemon \
|
||||
avahi-autoipd \
|
||||
libavahi-common-data \
|
||||
libavahi-common3 \
|
||||
libavahi-glib1 \
|
||||
libavahi-client3 \
|
||||
cups-browsed \
|
||||
gvfs-daemon \
|
||||
libpam-gnome-keyring \
|
||||
pulseaudio \
|
||||
pulseaudio-utils \
|
||||
libpulsedsp \
|
||||
xscreensaver \
|
||||
xscreensaver-data \
|
||||
""
|
||||
|
||||
## instalation order is important
|
||||
ENV CUSTOM_DEB_PACKAGES \
|
||||
bluealsa_2.1.0-1_amd64.deb \
|
||||
checkinstall_1.6.2+git20170426.d24a630-2_amd64.deb \
|
||||
dissenter-browser_0.70.122_amd64.deb \
|
||||
libupnp6_1.6.19+git20160116-1.2_amd64.deb \
|
||||
djmount_0.71-7.1_amd64.deb \
|
||||
shellcheck_0.7.0-2~bpo10+1_amd64.deb \
|
||||
torbrowser-launcher_0.3.2-7_amd64.deb \
|
||||
#efl-doc_1.23.3-5_all.deb \
|
||||
#libecore1_1.23.3-5_amd64.deb \
|
||||
#libecore-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-file1_1.23.3-5_amd64.deb \
|
||||
#libeeze1_1.23.3-5_amd64.deb \
|
||||
#libeeze-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-audio1_1.23.3-5_amd64.deb \
|
||||
#libecore-con1_1.23.3-5_amd64.deb \
|
||||
#libeina1a_1.23.3-5_amd64.deb \
|
||||
#libemile1_1.23.3-5_amd64.deb \
|
||||
#libeet1_1.23.3-5_amd64.deb \
|
||||
#libector1_1.23.3-5_amd64.deb \
|
||||
#libeina-bin_1.23.3-5_amd64.deb \
|
||||
#libecore-ipc1_1.23.3-5_amd64.deb \
|
||||
#libeio1_1.23.3-5_amd64.deb \
|
||||
#libefreet-bin_1.23.3-5_amd64.deb \
|
||||
#libembryo-bin_1.23.3-5_amd64.deb \
|
||||
#libembryo1_1.23.3-5_amd64.deb \
|
||||
#libelua1_1.23.3-5_amd64.deb \
|
||||
#libelua-bin_1.23.3-5_amd64.deb \
|
||||
#libeolian1_1.23.3-5_amd64.deb \
|
||||
#libelocation1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libecore-fb1_1.23.3-5_amd64.deb \
|
||||
#libecore-x1_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-x_1.23.3-5_amd64.deb \
|
||||
#libevas1_1.23.3-5_amd64.deb \
|
||||
#libecore-evas1_1.23.3-5_amd64.deb \
|
||||
#libecore-input1_1.23.3-5_amd64.deb \
|
||||
#libelput1_1.23.3-5_amd64.deb \
|
||||
#libecore-wl2-1_1.23.3-5_amd64.deb \
|
||||
#libecore-drm2-1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libeet-bin_1.23.3-5_amd64.deb \
|
||||
#libelementary-bin_1.23.3-5_amd64.deb \
|
||||
#libevas-loaders_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-drm_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-fb_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-wayland_1.23.3-5_amd64.deb \
|
||||
#libecore-imf1_1.23.3-5_amd64.deb \
|
||||
#libedje-bin_1.23.3-5_amd64.deb \
|
||||
#libedje1_1.23.3-5_amd64.deb \
|
||||
#\
|
||||
#libelementary-data_1.23.3-5_all.deb \
|
||||
#libelementary1_1.23.3-5_amd64.deb \
|
||||
#libemotion1_1.23.3-5_amd64.deb \
|
||||
#libemotion-players_1.23.3-5_amd64.deb \
|
||||
#libephysics1_1.23.3-5_amd64.deb \
|
||||
#libethumb-client-bin_1.23.3-5_amd64.deb \
|
||||
#libethumb-client1_1.23.3-5_amd64.deb \
|
||||
#libethumb1_1.23.3-5_amd64.deb \
|
||||
#enlightenment-data_0.23.1-1_all.deb \
|
||||
#enlightenment_0.23.1-1_amd64.deb \
|
||||
#terminology-data_1.6.0-1_all.deb \
|
||||
#terminology_1.6.0-1_amd64.deb \
|
||||
#\
|
||||
#enlightenment-dev_0.23.1-1_amd64.deb \
|
||||
#libefl-all-dev_1.23.3-5_amd64.deb \
|
||||
\
|
||||
#enlightenment-dbgsym_0.23.1-1_amd64.deb \
|
||||
#libecore-audio1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-con1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-drm2-1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-evas1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-fb1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-file1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-imf1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-input1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-ipc1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-wl2-1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore-x1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libecore1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libector1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libedje-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libedje1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeet-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeet1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeeze-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeeze1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefl-all-dev-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefreet-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libefreet1a-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeina-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeina1a-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeio1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelementary-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelementary1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelocation1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelput1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelua-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libelua1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libembryo-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libembryo1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemile1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemotion-players-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libemotion1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libeolian1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libephysics1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb-client-bin-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb-client1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libethumb1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas-loaders-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-drm-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-fb-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-wayland-dbgsym_1.23.3-5_amd64.deb \
|
||||
#libevas1-engines-x-dbgsym_1.23.3-5_amd64.deb \
|
||||
#terminology-dbgsym_1.6.0-1_amd64.deb \
|
||||
""
|
||||
|
||||
ENV CUSTOM_SCRIPTS \
|
||||
001_apt_suggests-recommends.sh \
|
||||
001_locales.sh \
|
||||
001_resolvconf.sh \
|
||||
010_sysctl.sh \
|
||||
010_generate-ssh.sh \
|
||||
010_apt-get.sh \
|
||||
001_system_bell.sh \
|
||||
010_saltstack.sh \
|
||||
020_console.sh \
|
||||
020_zsh_quickstart.sh \
|
||||
020_zsh_aliases.d.sh \
|
||||
020_lsd.sh \
|
||||
020_grc.sh \
|
||||
010_alsa.sh \
|
||||
020_conky.sh \
|
||||
020_djmount.sh \
|
||||
020_vim.sh \
|
||||
020_meld.sh \
|
||||
020_themes.sh \
|
||||
020_audacity.sh \
|
||||
020_powerline-bash.sh \
|
||||
020_fonts.sh \
|
||||
020_nanorc.sh \
|
||||
020_neovim.sh \
|
||||
020_mutt-wizard.sh \
|
||||
020_mutt-notmuch.sh \
|
||||
020_mutt-khard.sh \
|
||||
020_shellcheck.sh \
|
||||
020_neofetch_motd.sh \
|
||||
020_tmux.sh \
|
||||
020_rox-filer.sh \
|
||||
020_hexchat.sh \
|
||||
020_pidgin.sh \
|
||||
020_brave_browser.sh \
|
||||
020_slim.sh \
|
||||
020_docker.sh \
|
||||
020_docker-compose.sh \
|
||||
050_wicd.sh \
|
||||
050_remove_xscreensaver.sh \
|
||||
""
|
||||
|
||||
ENV FINALIZE_PURGE_PACKAGES \
|
||||
""
|
||||
|
||||
### ## ENV CORE_VALUES " \
|
||||
### ## ["core_packages="]=${CORE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV BASE_VALUES " \
|
||||
### ## ["base_packages="]=${BASE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV PURGE_VALUES " \
|
||||
### ## ["purge_packages="]=${PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV FINALIZE_PURGE_VALUES " \
|
||||
### ## ["finalize_purge_packages="]=${FINALIZE_PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
|
||||
ENV SDK_CONFIG /live-sdk/lib/libdevuansdk/config
|
||||
ENV BLEND_CONFIG /live-sdk/blends/${BLEND_NAME}/config
|
||||
ENV BLEND_PACKAGE_CONFIG /live-sdk/blends/${BLEND_NAME}/${RELEASE}/config
|
||||
|
||||
#### # Bash-isms follow, so:
|
||||
#### SHELL ["/bin/bash", "-c"]
|
||||
####
|
||||
#### # Use sed to insert ..._package sections if missing. The Q42 is a forced exit status.
|
||||
#### # Assumes the base_package stanza is present.
|
||||
#### RUN ( \
|
||||
#### if $(sed -n -e "/^core_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\core_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^extra_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\EXTRA_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### if $(sed -n -e "/^purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^custom_deb_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\custom_deb_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^finalize_purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\finalize_purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^blend_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\blend_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # \
|
||||
#### # Use sed to replace block of values. \
|
||||
#### # This works and is copy/pasteable to a bash shell, but the '[@]' elements are not strictly needed in a Dockerfile. \
|
||||
#### # RUN ( \
|
||||
#### sed -i \
|
||||
#### -e "/^core_packages/,/^)$/ c\core_packages=(\n${CORE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^base_packages/,/^)$/ c\base_packages=(\n${BASE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^extra_packages/,/^)$/ i\extra_packages+=(\n${EXTRA_PACKAGES[@]}\n);Q" \
|
||||
#### -e "/^purge_packages/,/^)$/ c\purge_packages+=(\n${PURGE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^custom_deb_packages/,/^)$/ c\custom_deb_packages+=(\n${CUSTOM_DEB_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^finalize_purge_packages/,/^)$/ c\finalize_purge_packages+=(\n${FINALIZE_PURGE_PACKAGES[@]}\n)" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### ## \
|
||||
#### ## Use sed to format the lists one per line, tabbed. \
|
||||
#### ## Works for not- and tab-indented lists. \
|
||||
#### ##RUN ( \
|
||||
#### sed -i \
|
||||
#### ## -e "/^core_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^base_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ### -e "/^extra_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### -e "/^custom_deb_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^finalize_purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### cat ${BLEND_CONFIG}; \
|
||||
#### )
|
||||
|
||||
### ## RUN edit-config-list.sh ${CORE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${BASE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${PURGE_VALUES} ${BLEND_CONFIG}
|
||||
### ##
|
||||
### ## # FIXME: Does edit-config.sh cope with multi-line variables in CONFIG_VALUES below.
|
||||
|
||||
|
||||
### #ENV CONFIG_VALUES " \
|
||||
### # ["core_packages"]=${CORE_PACKAGES} \
|
||||
### # ["base_packages"]=${BASE_PACKAGES} \
|
||||
### # ["purge_packages"]=${PURGE_PACKAGES} \
|
||||
### # "
|
||||
|
||||
# These values are over-ridden by the blend conf files so should probably only be changed when releasing sdk updates.
|
||||
ENV SDK_CONFIG_VALUES "\
|
||||
["os"]='${OS}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${VERSION}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
["rootcredentials"]='${ROOT_CRED}' \
|
||||
["usercredentials"]='${USER_CRED}' \
|
||||
["corepackages_option"]='' \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages_option"]='' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages_option"]='' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
"
|
||||
#RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${SDK_CONFIG}
|
||||
|
||||
ENV CONFIG_VALUES " \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
["extra_packages"]='${EXTRA_PACKAGES}' \
|
||||
["custom_deb_packages"]='${CUSTOM_DEB_PACKAGES}' \
|
||||
["custom_scripts"]='${CUSTOM_SCRIPTS}' \
|
||||
["finalize_purge_packages"]='${FINALIZE_PURGE_PACKAGES}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${BLEND_PACKAGE_CONFIG}
|
||||
|
||||
ENV BLEND_CONFIG_VALUES " \
|
||||
["blend_name"]='${BLEND_NAME}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${BLEND_VERS}' \
|
||||
["username"]='${USER_NAME}' \
|
||||
["userpass"]='${USER_PASS}' \
|
||||
["default_shell"]='${DEFAULT_SHELL}' \
|
||||
["manual_list"]='${MANUAL_LIST}' \
|
||||
["auto_list"]='${AUTO_LIST}' \
|
||||
["grubversion"]='${GRUB_VER}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["release_conf"]='${RELEASE_CONF}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
# ["mkefi"]='${MKEFI}' \
|
||||
# ["efi_work"]='${EFI_WORK}' \
|
||||
# ["base_packages_option"]='${BASE_PACKAGES_OPTION}'
|
||||
# ["extra_packages_option"]='${EXTRA_PACKAGES_OPTION}'
|
||||
# ["hookscripts"]='${USE_HOOKS}' \
|
||||
# ["arch"]='${ARCH}' \
|
||||
# ["sources_list"]='${SOURCES_LIST}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${BLEND_CONFIG_VALUES}" ${BLEND_CONFIG}
|
||||
|
||||
# Add zfs var and arrs filesystems you would like to snapshot separately or
|
||||
# apply and indiviual quota
|
||||
#vars+=(zfs_poolname)
|
||||
ENV ZFS_POOLNAME "rpool"
|
||||
|
||||
#arrs+=(zfs_datasets)
|
||||
ENV ZFS_DATASETS " \
|
||||
"/home" \
|
||||
"/home/${username}" \
|
||||
"/space" \
|
||||
"/opt" \
|
||||
"/tmp" \
|
||||
"/usr" \
|
||||
"/usr/share" \
|
||||
"/usr/local" \
|
||||
"/var" \
|
||||
"/var/cache" \
|
||||
"/var/cache/apt" \
|
||||
"/var/lib" \
|
||||
"/var/tmp" \
|
||||
"/var/lib/virt" \
|
||||
"/var/lib/lxc" \
|
||||
"/var/lib/docker" \
|
||||
"/var/log" \
|
||||
"/var/spool" \
|
||||
"/var/tmp" \
|
||||
"
|
||||
|
||||
# Given on the load commandline
|
||||
#RUN sed -i "s,^\(os=\).*,\1\"${OS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#RUN sed -i "s,^\(blend_name=\).*,\1\"${BLEND_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(username=\).*,\1\"${USER_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(userpass=\).*,\1\"${USER_PASS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(default_shell=\).*,\1\"${DEFAULT_SHELL}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(section=\).*,\1\"${SECTION}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(image_name=\).*,\1\"${IMAGE_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(grubversion=\).*,\1\"${GRUB_VER}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
##RUN sed -i "s,^\(blend_vers=\).*,\1\"${BLEND_VERS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^blend_vers=' /live-sdk/blends/${BLEND_VERS}/config && \
|
||||
# sed -i "s/^blend_vers.*/mirror=${BLEND_VERS}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${BLEND_VERS}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
##RUN sed -i "s,^\(release=\).*,\1\"${RELEASE}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^release=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^release.*/mirror=${RELEASE}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${RELEASE}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN grep -q '^mirror=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^mirror.*/mirror=${APT_MIRROR}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^mirror=${BLEND_NAME}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN sed -i "s,^\(mirror=\).*,\1\"${APT_MIRROR}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
|
||||
# Add/remove packages not already in the blend
|
||||
#RUN echo ""extra_packages+=( smartmontools gsmartcontrol ) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN purge_packages+=( policykit-1) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
# Add hook scripts not all ready in the blend
|
||||
#RUN echo "" > /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
#COPY common/hooks/hook.sh /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
|
||||
# Add custom debs not already in the blend
|
||||
#RUN echo "custom_deb_packages+=( sanoid_1.4.14-1_amd64.deb )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#COPY common/custom-packages/sanoid_1.4.14-1_amd64.deb /live-sdk/blends/${BLEND_NAME}/sanoid_1.4.14-1_amd64.deb
|
||||
|
||||
## copy a get-selections from the livecd (install your prefered programs beforehand)
|
||||
#dpkg --get-selections > /var/tmp/packages.list
|
||||
#/usr/bin/apt-mark showauto > /var/tmp/pkgs_auto.lst
|
||||
#/usr/bin/apt-mark showmanual > /var/tmp/pkgs_manual.lst
|
||||
COPY packages.list blends/${BLEND_NAME}/packages.list
|
||||
#COPY pkgs_auto.list blends/${BLEND_NAME}/pkgs_auto.list
|
||||
#COPY pkgs_manual.list blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
COPY pkgs_auto.list-ascii blends/${BLEND_NAME}/pkgs_auto.list
|
||||
COPY pkgs_manual.list-ascii blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
## Commit changes to the new blend repo
|
||||
WORKDIR /live-sdk/blends/${BLEND_NAME}
|
||||
RUN git add .
|
||||
RUN git commit -m "Docker build: commit before push."
|
||||
# ssh://git@git.ring-zero.co.uk:10022/sdk/blends/live-zfs-e17.git --all
|
||||
RUN --mount=type=ssh git push ssh://git@${GITLAB_URL}:${GITLAB_PORT}/sdk/blends/${BLEND_NAME}.git --all
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
## Build sequence:
|
||||
# source sdk
|
||||
# load ${OS} ${ARCH} ${BLEND_NAME}
|
||||
# AUTOMATE_HOME=${strapdir}/var/tmp/automate
|
||||
# devprocsys umount ${strapdir}
|
||||
## build_iso_dist() {
|
||||
# bootstrap_complete_base
|
||||
# (*) bootstrapping devuan amd64 base
|
||||
# (*) running debootstrap stage 1 - retrieve and validate
|
||||
# (*) running debootstrap stage 2 - unpack and configure
|
||||
# (*) writing system configuration
|
||||
# (*) running debootstrap stage 3 - mount and chroot
|
||||
# (*) chrooting to execute thirdstage...
|
||||
# writes file 'thirdstage' to the chroot
|
||||
# bootstrap_config_thirdstage | sudo tee $strapdir/thirdstage >/dev/null
|
||||
#
|
||||
# and runs it with
|
||||
# chroot-script -d thirdstage || zerr
|
||||
#
|
||||
#
|
||||
# debconf-set-selections /debconf.set
|
||||
# apt-get --yes --force-yes install ${core_packages_option} ${core_packages}
|
||||
# apt-get --yes --force-yes install ${base_packages_option} ${base_packages}
|
||||
# apt-get --yes --force-yes purge ${purge_packages_option} ${purge_packages}
|
||||
# apt-get --yes --force-yes autoremove
|
||||
# sed -e 's/# en_US.UTF-8/en_US.UTF-8/' -i /etc/locale.gen
|
||||
# (*) Creating boostrap tarball in /live-sdk/tmp/bootstrap-devuan-amd64-stage3.tgz
|
||||
# (*) chrooting to execute postunpack... - install blend debs
|
||||
#
|
||||
# cp -a ${live_sdk-$PWD/}automate ${strapdir}/var/tmp
|
||||
# cp -a automate ${strapdir}/var/tmp
|
||||
#
|
||||
# blend_preinst from the blend file:
|
||||
# (*) executing devuan-desktop-live_ preinst
|
||||
# (*) adding user devuan:devuan
|
||||
# (*) chrooting to execute adduser... add-user $username $userpass
|
||||
# (*) copying blend-specific debs... cp -fv "$blend_release_path"/*.deb "$R/extra/custom-packages"
|
||||
#
|
||||
# devprocsys mount $strapdir
|
||||
# chroot-script /var/tmp/automate/001_locales.sh
|
||||
# chroot-script /var/tmp/automate/010_apt-get.sh
|
||||
# chroot-script /var/tmp/automate/010_saltstack.sh
|
||||
# chroot-script /var/tmp/automate/020_console.sh
|
||||
# chroot-script /var/tmp/automate/020_zsh_quickstart.sh
|
||||
# chroot-script /var/tmp/automate/020_zsh_aliases.d.sh
|
||||
# chroot-script /var/tmp/automate/020_lsd.sh
|
||||
# chroot-script /var/tmp/automate/020_grc.sh
|
||||
# chroot-script /var/tmp/automate/010_alsa.sh
|
||||
# chroot-script /var/tmp/automate/020_vim.sh
|
||||
# chroot-script /var/tmp/automate/020_meld.sh
|
||||
# chroot-script /var/tmp/automate/020_themes.sh
|
||||
# chroot-script /var/tmp/automate/020_powerline-bash.sh
|
||||
# chroot-script /var/tmp/automate/020_nanorc.sh
|
||||
# chroot-script /var/tmp/automate/020_neovim.sh
|
||||
# chroot-script /var/tmp/automate/020_neofetch_motd.sh
|
||||
# chroot-script /var/tmp/automate/020_tmux.sh
|
||||
# chroot-script /var/tmp/automate/020_rox-filer.sh
|
||||
# chroot-script /var/tmp/automate/020_hexchat.sh
|
||||
# chroot-script /var/tmp/automate/020_pidgin.sh
|
||||
# chroot-script /var/tmp/automate/020_torbrowser.sh
|
||||
# chroot-script /var/tmp/automate/050_wicd.sh
|
||||
# chroot-script /var/tmp/automate/050_remove_xscreensaver.sh
|
||||
# devprocsys umount $strapdir
|
||||
# iso_prepare_strap
|
||||
# (*) preparing strapdir for livecd
|
||||
# (*) chrooting to execute isoprep...
|
||||
# build_kernel_${arch}
|
||||
# (*) installing stock kernel for amd64
|
||||
# (*) chrooting to execute install-linux...
|
||||
# iso_setup_isolinux
|
||||
# (*) setting up isolinux
|
||||
# iso_write_isolinux_cfg
|
||||
# (*) writing isolinux configuration
|
||||
# (*) copying isolinux overlay
|
||||
# blend_postinst from the blend file:
|
||||
# install-custdebs
|
||||
# chroot-script -d install-debs
|
||||
# rsync the rootfs-overlay
|
||||
# (*) executing devuan-desktop-live_ postinst
|
||||
# (*) chrooting to execute install-debs...
|
||||
# (*) chrooting to execute finalize...
|
||||
# add user to groups: cdrom floppy audio dip video plugdev netdev lpadmin scanner
|
||||
# set default shell
|
||||
# copy the /root dotfiles to /home/${username}
|
||||
# chown the home directory
|
||||
# update-initramfs -u -k -all
|
||||
# change sources.list to deb.debuan.org
|
||||
# fill_apt_cache
|
||||
# iso_squash_strap
|
||||
# (*) creating squashfs out of strapdir
|
||||
# iso_xorriso_build
|
||||
# (*) building iso...
|
||||
#}
|
||||
#-------------------------------------------------------------------------------------
|
||||
# Log creation order
|
||||
# bootstrap_complete_base
|
||||
# dpkgdivert.log
|
||||
# postunpack.log
|
||||
# thirdstage.log
|
||||
# blend_preinst
|
||||
# blend_postinst
|
||||
# install-debs
|
||||
# install-scripts.log
|
||||
# adduser.log
|
||||
# finalize.log
|
||||
#
|
||||
#-------------------------------------------------------------------------------------
|
||||
# # Inject default background in e17 configuration (for all known profiles)
|
||||
## eet -l e.cfg # list all keys, usually just "config"
|
||||
## eet -d e.cfg config e.src # writes human readable values to file e.src
|
||||
## $EDITOR e.src # change whatever you like
|
||||
## eet -e e.cfg config e.src 1 # recompress to binary cfg file
|
||||
#
|
||||
# e.cfg
|
||||
# enlightenment-standard.png
|
||||
# module.conf.cfg
|
||||
# module.fileman.cfg
|
||||
# module.ibox.cfg
|
||||
# module.temperature.cfg
|
||||
# e_bindings.cfg
|
||||
# module.battery.cfg
|
||||
# module.cpufreq.cfg
|
||||
# module.ibar.cfg
|
||||
# module.pager.cfg
|
||||
# profile.desktop
|
||||
#
|
||||
# E_CFG_HOME /usr/share/enlightenment/data/config
|
||||
#
|
||||
# for profile in mobile standard tiling default computer; do
|
||||
# dpkg-divert --local --add ${E_CFG_HOME}/$profile/e.cfg
|
||||
# eet -d ${E_CFG_HOME}/$profile/e.cfg config /var/tmp/e.src
|
||||
# awk '/value "desktop_default_name"/ {print " value \"desktop_default_background\" string: \"/usr/share/enlightenment/data/backgrounds/kali-wallpaper_1920x1200.edj\";"}; {print}' /var/tmp/e.src >/var/tmp/e2.src
|
||||
# eet -e ${E_CFG_HOME}/$profile/e.cfg config /var/tmp/e2.src 1
|
||||
# rm -f /tmp/e.src /tmp/e2.src
|
||||
# done
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
## RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
## echo "source sdk" >> build-iso.zsh && \
|
||||
## echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
## echo "build_iso_dist" >> build-iso.zsh && \
|
||||
## chmod +x build-iso.zsh
|
||||
#RUN ( \
|
||||
# ( echo "#!/usr/bin/env zsh"; \
|
||||
# echo "source sdk"; \
|
||||
# echo "load ${OS} ${ARCH} ${BLEND_NAME}"; \
|
||||
# echo "build_iso_dist" \
|
||||
# ) >> build-iso.zsh \
|
||||
# && chmod +x build-iso.zsh && ls -l build-iso.zsh && cat build-iso.zsh \
|
||||
# )
|
||||
|
||||
## COPY bin/build-iso.zsh build-iso.zsh
|
||||
RUN source ${live_sdk-$PWD/}sdk && \
|
||||
load ${OS} ${ARCH} ${BLEND_NAME} && \
|
||||
bootstrap_complete_base || { zerr; wrapup }
|
||||
|
||||
RUN blend_preinst || { zerr; wrapup }
|
||||
|
||||
RUN iso_prepare_strap || { zerr; wrapup } && \
|
||||
build_kernel_${arch} || { zerr; wrapup } && \
|
||||
iso_setup_isolinux || { zerr; wrapup } && \
|
||||
iso_write_isolinux_cfg || { zerr; wrapup }
|
||||
|
||||
#RUN blend_postinst || { zerr; wrapup }
|
||||
#
|
||||
#RUN fill_apt_cache || { zerr; wrapup } && \
|
||||
# iso_squash_strap || { zerr; wrapup } && \
|
||||
|
||||
# Final step to build the iso place in CMD
|
||||
# iso_xorriso_build || { zerr; wrapup }
|
||||
|
||||
#RUN ( ls -l build-iso.zsh; ./build-iso.zsh )
|
||||
#RUN cat ${SDK_CONFIG}; cat ${BLEND_CONFIG}
|
||||
|
||||
### #ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["iso_xorriso_build"]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Put your TEMPLATE_NAME blend under version control or choose someone else's.
|
||||
|
||||
GITLAB_URL TEMPLATE_NAME BLEND_NAME are ARGS that can be passed to 'docker build', the passwords should be managed via ssh-agent
|
||||
|
||||
NB. You might need docker 19.03 or above with
|
||||
i. { "features": { "buildkit": true } } in /etc/docker/daemon.json
|
||||
ii. # syntax = docker/dockerfile:1.1-experimental at the top of your Dockerfile
|
||||
iii. RUN --mount=type=ssh before any command needing a password
|
||||
|
||||
See https://docs.docker.com/develop/develop-images/build_enhancements/
|
||||
|
||||
Installing with 020_docker.sh will install from docker sources.list and configure these features.
|
||||
|
||||
$ docker build --build-arg GITLAB_URL=git.devuan.org TEMPLATE_NAME=devuan-beowulf-live-e17 BLEND_NAME=live-zfs-e17
|
||||
|
||||
Change the URL for the submodules:
|
||||
i. TEMPLATE_NAME the blend to base the new blend on. DEFAULT devuan-beowulf-live-e17
|
||||
ii. BLEND_NAME the new unique blend to create. DEFAULT live-zfs-e17
|
||||
iii. GITLAB_URL the repo address for the template and the new blend DEFAULT git.devuan.org
|
||||
|
|
@ -0,0 +1,330 @@
|
|||
# https://dev1galaxy.org/viewtopic.php?id=551
|
||||
#FROM devuan:jessie-slim
|
||||
#FROM devuan:ascii-slim
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN apt-get install -y xorriso squashfs-tools live-boot syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils
|
||||
RUN apt-get install -y live-build live-config live-config-sysvinit isolinux grub-efi-amd64-bin grub-common dosfstools gnutls-bin
|
||||
#RUN apt-get install -y kpartx cgpt
|
||||
#RUN git clone https://git.devuan.org/cyteen/live-sdk
|
||||
RUN git clone https://git.devuan.org/sdk/live-sdk.git /live-sdk
|
||||
WORKDIR /live-sdk
|
||||
#RUN git submodule update --init --recursive --checkout
|
||||
RUN pwd
|
||||
RUN ls -lh
|
||||
RUN git pull && git submodule update --init --recursive --checkout
|
||||
|
||||
# sub modules might be behind current libdevuansdk git, if you require a more current version of libdevuansdk clone directly:
|
||||
#WORKDIR /live-sdk/lib
|
||||
#RUN rm -rf libdevuansdk
|
||||
#RUN git clone https://git.devuan.org/sdk/libdevuansdk
|
||||
|
||||
#WORKDIR /live-sdk
|
||||
# NB now included in the live-sdk if extra does not have a syslinux directory with isolinux.bin
|
||||
#mkdir -p /live-sdk/extra/syslinux
|
||||
|
||||
# from package live-build
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/*.c32 /live-sdk/extra/syslinux
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin /live-sdk/extra/syslinux
|
||||
|
||||
# from package ISOLINUX
|
||||
#cp /usr/lib/ISOLINUX/isohdpfx.bin /live-sdk/extra/syslinux
|
||||
|
||||
|
||||
ENV USER_NAME "default"
|
||||
ENV USER_PASS "default"
|
||||
ENV DEFAULT_SHELL "/bin/zsh"
|
||||
|
||||
ENV OS "devuan"
|
||||
ENV ARCH "amd64"
|
||||
ENV RELEASE "beowulf"
|
||||
ENV VERSION 2.0.0
|
||||
ENV TEMPLATE_NAME "devuan-beowulf-live"
|
||||
#ENV TEMPLATE_NAME "live-zfs"
|
||||
ENV BLEND_NAME "live-zfs"
|
||||
ENV BLEND_VERS "1.0"
|
||||
|
||||
#ENV APT_MIRROR "http://192.168.44.47:3142/pkgmaster.devuan.org/merged"
|
||||
ENV APT_MIRROR "http://pkgmaster.devuan.org/merged"
|
||||
|
||||
ENV USE_HOOKS "yes"
|
||||
ENV SECTION "main contrib non-free"
|
||||
ENV IMAGE_NAME "${os}_${release}_${version}_${arch}_desktop"
|
||||
|
||||
ENV SOURCES_LIST "${BLENDPATH}/sources.list"
|
||||
ENV MANUAL_LIST "${BLENDPATH}/manual.list"
|
||||
ENV AUTO_LIST "${BLENDPATH}/auto.list"
|
||||
|
||||
COPY ./live-sdk/blends/${TEMPLATE_NAME} /live-sdk/blends/${BLEND_NAME}
|
||||
RUN mv /live-sdk/blends/${BLEND_NAME}/${TEMPLATE_NAME}.blend /live-sdk/blends/${BLEND_NAME}/${BLEND_NAME}.blend
|
||||
|
||||
|
||||
# Enable/disable UEFI - Currently code checks to see if the $mkefi is set not if it is yes or no and turning it off breaks the xorriso build options.
|
||||
#ENV MKEFI "no"
|
||||
#ENV GRUB_VER "grub-pc"
|
||||
#ENV EFI_WORK ""
|
||||
#RUN sed -i "s,^\(mkefi=\).*,\1\"${MKEFI}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(efi_work=\).*,\1\"${EFI_WORK}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i '/^mkefi=/s/^/# /' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
ENV MKEFI "yes"
|
||||
ENV GRUB_VER "grub-efi-amd64"
|
||||
ENV EFI_WORK "${BLENDPATH}/efi-files"
|
||||
RUN sed -i '/# mkefi=/s/# /^/' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#WORKDIR /live-sdk/blends/
|
||||
#RUN git clone https://git.devuan.org/cyteen/blends/live-zfs
|
||||
#RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Once working and building push to git
|
||||
#RUN git push origin ${BLEND_NAME}
|
||||
|
||||
|
||||
WORKDIR /live-sdk
|
||||
# Add the new blend to the sdk blend_map so we can build it.
|
||||
RUN pwd
|
||||
RUN ls
|
||||
RUN sed -i "/blend_map=.*/ s/.*/&\n\t\t\"${BLEND_NAME}\" \"\$R\/blends\/${BLEND_NAME}\/${BLEND_NAME}.blend\"/" sdk
|
||||
|
||||
# Add call for sourceslist
|
||||
#RUN sed -i "/install-custdebs.*/ s/.*/&\n\tinstall-packageslist || zerr/" sdk
|
||||
|
||||
COPY bin/edit-config.sh /live-sdk/edit-config.sh
|
||||
|
||||
# #!/bin/bash
|
||||
# /live-sdk/edit-config.sh
|
||||
#
|
||||
# CONFIG_FILE="${2}"
|
||||
# declare -A arr
|
||||
# arr+=( "${1}" )
|
||||
# for TARGET_KEY in "${!arr[@]}"; do
|
||||
# echo "x " ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
# if grep -q "^${TARGET_KEY}=" ${CONFIG_FILE}; then
|
||||
# sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# else
|
||||
# sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# fi
|
||||
# done
|
||||
|
||||
# FIXME: Some settings in the blend config fail to override libdevuansdk/conf we should test setting in blend first to identify which ones are not imported.
|
||||
|
||||
# Construct array for edit-config
|
||||
# Taken from /live-sdk/lib/libdevuansdk/config
|
||||
ENV CORE_PACKAGES \
|
||||
devuan-keyring \
|
||||
debian-keyring \
|
||||
ca-certificates \
|
||||
initramfs-tools \
|
||||
e2fsprogs \
|
||||
curl \
|
||||
less \
|
||||
vim \
|
||||
nano \
|
||||
sysvinit \
|
||||
""
|
||||
|
||||
ENV BASE_PACKAGES \
|
||||
apt-utils \
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-base \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
#openntpd \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-tools \
|
||||
zsh \
|
||||
rsync \
|
||||
git-core \
|
||||
mlocate \
|
||||
""
|
||||
|
||||
#ENV PURGE_PACKAGES \
|
||||
# dbus \
|
||||
# ""
|
||||
|
||||
ENV FINALIZE_PURGE_PACKAGES \
|
||||
avahi-daemon \
|
||||
avahi-autoipd \
|
||||
libavahi-common-data \
|
||||
libavahi-common3 \
|
||||
libavahi-glib1 \
|
||||
libavahi-client3 \
|
||||
cups-browsed \
|
||||
gvfs-daemon \
|
||||
libpam-gnome-keyring \
|
||||
pulseaudio \
|
||||
policykit-1 \
|
||||
xscreensaver \
|
||||
xscreensaver-data \
|
||||
""
|
||||
|
||||
ENV CORE_VALUES " \
|
||||
["core_packages="]=${CORE_PACKAGES[@]} \
|
||||
"
|
||||
|
||||
ENV BASE_VALUES " \
|
||||
["base_packages="]=${BASE_PACKAGES[@]} \
|
||||
"
|
||||
|
||||
ENV PURGE_VALUES " \
|
||||
["purge_packages="]=${PURGE_PACKAGES[@]} \
|
||||
"
|
||||
|
||||
ENV FINALIZE_PURGE_VALUES " \
|
||||
["finalize_purge_packages="]=${FINALIZE_PURGE_PACKAGES[@]} \
|
||||
"
|
||||
|
||||
ENV BLEND_CONFIG /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
RUN edit-config-list.sh ${CORE_VALUES} ${BLEND_CONFIG}
|
||||
RUN edit-config-list.sh ${BASE_VALUES} ${BLEND_CONFIG}
|
||||
RUN edit-config-list.sh ${PURGE_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
# FIXME: Does edit-config.sh cope with multi-line variables in CONFIG_VALUES below.
|
||||
|
||||
ENV SDK_CONFIG /live-sdk/lib/libdevuansdk/config
|
||||
|
||||
#ENV CONFIG_VALUES " \
|
||||
# ["core_packages"]=${CORE_PACKAGES} \
|
||||
# ["base_packages"]=${BASE_PACKAGES} \
|
||||
# ["purge_packages"]=${PURGE_PACKAGES} \
|
||||
# "
|
||||
|
||||
ENV CONFIG_VALUES " \
|
||||
["os"]=${OS} \
|
||||
["release"]=${RELEASE} \
|
||||
["version"]=${VERSION} \
|
||||
["mirror"]=${APT_MIRROR} \
|
||||
["section"]=${SECTION} \
|
||||
["image_name"]=${IMAGE_NAME} \
|
||||
"
|
||||
|
||||
#RUN edit-config.sh ${CONFIG_VALUES} ${SDK_CONFIG}
|
||||
RUN edit-config.sh ${CONFIG_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
ENV BLEND_CONFIG_VALUES " \
|
||||
["user_name"]=${USER_NAME} \
|
||||
["user_pass"]=${USER_PASS} \
|
||||
["default-shell"]=${DEFAULT_SHELL} \
|
||||
["blend_name"]=${BLEND_NAME} \
|
||||
["blend_vers"]=${BLEND_VERS} \
|
||||
["hookfile"]=${USE_HOOKS} \
|
||||
["arch"]=${ARCH} \
|
||||
["mkefi"]=${MKEFI} \
|
||||
["efi-work"]=${EFI_WORK} \
|
||||
["grubversion"]=${GRUB_VER} \
|
||||
["sources_list"]=${SOURCES_LIST} \
|
||||
["manual_list"]=${MANUAL_LIST} \
|
||||
["auto_list"]=${AUTO_LIST} \
|
||||
"
|
||||
|
||||
RUN edit-config.sh ${BLEND_CONFIG_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
# Add zfs var and arrs filesystems you would like to snapshot separately or
|
||||
# apply and indiviual quota
|
||||
#vars+=(zfs_poolname)
|
||||
ENV ZFS_POOLNAME "rpool"
|
||||
|
||||
#arrs+=(zfs_datasets)
|
||||
ENV ZFS_DATASETS " \
|
||||
"/home" \
|
||||
"/home/${username}" \
|
||||
"/space" \
|
||||
"/opt" \
|
||||
"/tmp" \
|
||||
"/usr" \
|
||||
"/usr/share" \
|
||||
"/usr/local" \
|
||||
"/var" \
|
||||
"/var/cache" \
|
||||
"/var/cache/apt" \
|
||||
"/var/lib" \
|
||||
"/var/tmp" \
|
||||
"/var/lib/virt" \
|
||||
"/var/lib/lxc" \
|
||||
"/var/lib/docker" \
|
||||
"/var/log" \
|
||||
"/var/spool" \
|
||||
"/var/tmp" \
|
||||
"
|
||||
|
||||
# Given on the load commandline
|
||||
#RUN sed -i "s,^\(os=\).*,\1\"${OS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#RUN sed -i "s,^\(blend_name=\).*,\1\"${BLEND_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(username=\).*,\1\"${USER_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(userpass=\).*,\1\"${USER_PASS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(default_shell=\).*,\1\"${DEFAULT_SHELL}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(section=\).*,\1\"${SECTION}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(image_name=\).*,\1\"${IMAGE_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(grubversion=\).*,\1\"${GRUB_VER}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
##RUN sed -i "s,^\(blend_vers=\).*,\1\"${BLEND_VERS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^blend_vers=' /live-sdk/blends/${BLEND_VERS}/config && \
|
||||
# sed -i "s/^blend_vers.*/mirror=${BLEND_VERS}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${BLEND_VERS}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
##RUN sed -i "s,^\(release=\).*,\1\"${RELEASE}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^release=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^release.*/mirror=${RELEASE}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${RELEASE}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN grep -q '^mirror=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^mirror.*/mirror=${APT_MIRROR}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^mirror=${BLEND_NAME}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN sed -i "s,^\(mirror=\).*,\1\"${APT_MIRROR}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
|
||||
# Add/remove packages not already in the blend
|
||||
#RUN echo ""extra_packages+=( smartmontools gsmartcontrol ) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN purge_packages+=( policykit-1) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
# Add hook scripts not all ready in the blend
|
||||
#RUN echo "" > /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
#COPY common/hooks/hook.sh /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
|
||||
# Add custom debs not already in the blend
|
||||
#RUN echo "custom_deb_packages+=( sanoid_1.4.14-1_amd64.deb )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#COPY common/custom-packages/sanoid_1.4.14-1_amd64.deb /live-sdk/blends/${BLEND_NAME}/sanoid_1.4.14-1_amd64.deb
|
||||
|
||||
## copy a get-selections from the livecd (install your prefered programs beforehand)
|
||||
#dpkg --get-selections > /var/tmp/packages.list
|
||||
#/usr/bin/apt-mark showauto > /var/tmp/pkgs_auto.lst
|
||||
#/usr/bin/apt-mark showmanual > /var/tmp/pkgs_manual.lst
|
||||
COPY packages.list blend/${BLEND_NAME}/packages.list
|
||||
#COPY pkgs_auto.list blend/${BLEND_NAME}/pkgs_auto.list
|
||||
#COPY pkgs_manual.list blend/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
COPY pkgs_auto.list-ascii blend/${BLEND_NAME}/pkgs_auto.list
|
||||
COPY pkgs_manual.list-ascii blend/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
echo "source sdk" >> build-iso.zsh && \
|
||||
echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
echo "build_iso_dist" >> build-iso.zsh && \
|
||||
chmod +x build-iso.zsh
|
||||
|
||||
#ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["build-iso.zsh"]
|
||||
|
|
@ -0,0 +1,593 @@
|
|||
# https://dev1galaxy.org/viewtopic.php?id=551
|
||||
#FROM devuan:jessie-slim
|
||||
#FROM devuan:ascii-slim
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN apt-get install -y xorriso squashfs-tools live-boot syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils rsync slim
|
||||
RUN apt-get install -y live-build live-config live-config-sysvinit isolinux grub-efi-amd64-bin grub-common dosfstools gnutls-bin
|
||||
#RUN apt-get install -y kpartx cgpt
|
||||
#RUN git clone https://git.devuan.org/cyteen/live-sdk
|
||||
RUN git clone https://git.devuan.org/sdk/live-sdk.git /live-sdk
|
||||
WORKDIR /live-sdk
|
||||
#RUN git submodule update --init --recursive --checkout
|
||||
RUN pwd
|
||||
RUN ls -lh
|
||||
RUN git pull && git submodule update --init --recursive --checkout
|
||||
|
||||
# sub modules might be behind current libdevuansdk git, if you require a more current version of libdevuansdk clone directly:
|
||||
#WORKDIR /live-sdk/lib
|
||||
#RUN rm -rf libdevuansdk
|
||||
#RUN git clone https://git.devuan.org/sdk/libdevuansdk
|
||||
|
||||
#WORKDIR /live-sdk
|
||||
# NB now included in the live-sdk if extra does not have a syslinux directory with isolinux.bin
|
||||
#mkdir -p /live-sdk/extra/syslinux
|
||||
|
||||
# from package live-build
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/*.c32 /live-sdk/extra/syslinux
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin /live-sdk/extra/syslinux
|
||||
|
||||
# from package ISOLINUX
|
||||
#cp /usr/lib/ISOLINUX/isohdpfx.bin /live-sdk/extra/syslinux
|
||||
|
||||
|
||||
ENV USER_NAME "default"
|
||||
ENV USER_PASS "default"
|
||||
|
||||
ENV ROOT_CRED "root:toor"
|
||||
ENV USER_CRED "${USER_NAME}:${USER_PASS}"
|
||||
|
||||
ENV DEFAULT_SHELL "/bin/zsh"
|
||||
|
||||
ENV OS "devuan"
|
||||
ENV ARCH "amd64"
|
||||
ENV RELEASE "beowulf"
|
||||
ENV VERSION 2.0.0
|
||||
ENV TEMPLATE_NAME "devuan-beowulf-live_refracta"
|
||||
#ENV TEMPLATE_NAME "live-zfs"
|
||||
ENV BLEND_NAME "live-zfs"
|
||||
ENV BLEND_VERS "3.0-test-$(date +%Y-%m-%d)"
|
||||
|
||||
#ENV APT_MIRROR "http://192.168.44.47:3142/pkgmaster.devuan.org/merged"
|
||||
ENV APT_MIRROR "https://deb.devuan.org/merged"
|
||||
#ENV APT_MIRROR "https://pkgmaster.devuan.org/merged"
|
||||
|
||||
ENV USE_HOOKS "yes"
|
||||
ENV SECTION "main contrib non-free"
|
||||
ENV RELEASE_CONF "$BLENDPATH/${release}/config"
|
||||
ENV IMAGE_NAME "${OS}_${RELEASE}_${VERSION}_${ARCH}_desktop"
|
||||
ENV BASE_PACKAGES_OPTION "--no-install-recommends"
|
||||
ENV EXTRA_PACKAGES_OPTION "--no-install-recommends"
|
||||
|
||||
ENV SOURCES_LIST "${BLENDPATH}/sources.list"
|
||||
ENV MANUAL_LIST "${BLENDPATH}/manual.list"
|
||||
ENV AUTO_LIST "${BLENDPATH}/auto.list"
|
||||
|
||||
COPY ./live-sdk/blends/${TEMPLATE_NAME} /live-sdk/blends/${BLEND_NAME}
|
||||
RUN mv /live-sdk/blends/${BLEND_NAME}/${TEMPLATE_NAME}.blend /live-sdk/blends/${BLEND_NAME}/${BLEND_NAME}.blend
|
||||
|
||||
|
||||
# Enable/disable UEFI - Currently code checks to see if the $mkefi is set not if it is yes or no and turning it off breaks the xorriso build options.
|
||||
ENV MKEFI "no"
|
||||
ENV GRUB_VER "grub-pc"
|
||||
ENV EFI_WORK ""
|
||||
#RUN sed -i "s,^\(mkefi=\).*,\1\"${MKEFI}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(efi_work=\).*,\1\"${EFI_WORK}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i '/^mkefi=/s/^/# /' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#ENV MKEFI "yes"
|
||||
#ENV GRUB_VER "grub-efi-amd64"
|
||||
#ENV EFI_WORK "${BLENDPATH}/efi-files"
|
||||
#RUN sed -i '/# mkefi=/s/# /^/' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#WORKDIR /live-sdk/blends/
|
||||
#RUN git clone https://git.devuan.org/cyteen/blends/live-zfs
|
||||
#RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Once working and building push to git
|
||||
#RUN git push origin ${BLEND_NAME}
|
||||
|
||||
|
||||
WORKDIR /live-sdk
|
||||
# Add the new blend to the sdk blend_map so we can build it.
|
||||
RUN pwd
|
||||
RUN ls
|
||||
RUN sed -i "/blend_map=.*/ s/.*/&\n\t\t\"${BLEND_NAME}\" \"\$R\/blends\/${BLEND_NAME}\/${BLEND_NAME}.blend\"/" sdk
|
||||
|
||||
# Add call for sourceslist
|
||||
#RUN sed -i "/install-custdebs.*/ s/.*/&\n\tinstall-packageslist || zerr/" sdk
|
||||
|
||||
COPY bin/edit-config.sh /live-sdk/edit-config.sh
|
||||
|
||||
# #!/bin/bash
|
||||
# /live-sdk/edit-config.sh
|
||||
#
|
||||
# CONFIG_FILE="${2}"
|
||||
# declare -A arr
|
||||
# arr+=( "${1}" )
|
||||
# for TARGET_KEY in "${!arr[@]}"; do
|
||||
# echo "x " ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
# if grep -q "^${TARGET_KEY}=" ${CONFIG_FILE}; then
|
||||
# sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# else
|
||||
# sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
# fi
|
||||
# done
|
||||
|
||||
# FIXME: Some settings in the blend config fail to override libdevuansdk/conf we should test setting in blend first to identify which ones are not imported.
|
||||
|
||||
# Construct array for edit-config
|
||||
# Taken from /live-sdk/lib/libdevuansdk/config
|
||||
ENV CORE_PACKAGES \
|
||||
devuan-keyring \
|
||||
debian-keyring \
|
||||
ca-certificates \
|
||||
initramfs-tools \
|
||||
e2fsprogs \
|
||||
curl \
|
||||
less \
|
||||
vim \
|
||||
nano \
|
||||
sysvinit \
|
||||
""
|
||||
|
||||
ENV EXTRA_PACKAGES \
|
||||
librsvg2-common \
|
||||
fonts-quicksand \
|
||||
fonts-symbola \
|
||||
xserver-xorg-input-all \
|
||||
xserver-xorg-video-all \
|
||||
anacron \
|
||||
bluetooth \
|
||||
iw \
|
||||
powertop \
|
||||
vim-gtk \
|
||||
wireless-tools \
|
||||
wpasupplicant \
|
||||
tasksel \
|
||||
xfce4 \
|
||||
xfce4-goodies \
|
||||
xfce4-power-manager \
|
||||
xfce4-terminal \
|
||||
atril \
|
||||
dbus-x11 \
|
||||
hunspell-en-gb \
|
||||
hyphen-en-gb \
|
||||
mythes-en-us \
|
||||
synaptic \
|
||||
system-config-printer \
|
||||
tango-icon-theme \
|
||||
xsane \
|
||||
enlightenment \
|
||||
terminology \
|
||||
rox-filer \
|
||||
slim \
|
||||
libeina-bin \
|
||||
neovim \
|
||||
firmware-atheros \
|
||||
firmware-bnx2 \
|
||||
firmware-bnx2x \
|
||||
firmware-brcm80211 \
|
||||
firmware-intelwimax \
|
||||
firmware-iwlwifi \
|
||||
firmware-libertas \
|
||||
firmware-linux-nonfree \
|
||||
firmware-misc-nonfree \
|
||||
firmware-myricom \
|
||||
firmware-netxen \
|
||||
firmware-qlogic \
|
||||
firmware-ralink \
|
||||
firmware-realtek \
|
||||
firmware-ti-connectivity \
|
||||
firmware-zd1211 \
|
||||
sudo \
|
||||
yad \
|
||||
refractainstaller-gui \
|
||||
refractasnapshot-gui \
|
||||
linux-headers-amd64 \
|
||||
dkms \
|
||||
spl-dkms \
|
||||
zfs-dkms \
|
||||
#libreoffice \
|
||||
#libreoffice-gtk3 \
|
||||
#libreoffice-help-en-gb \
|
||||
#mousepad \
|
||||
#network-manager-gnome \
|
||||
#avahi-daemon \
|
||||
#lightdm \
|
||||
#quodlibet \
|
||||
#light-locker \
|
||||
#orca \
|
||||
""
|
||||
|
||||
RUN mkdir -p /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc && \
|
||||
echo spl >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules && \
|
||||
echo zfs >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/modules
|
||||
|
||||
## /etc/slim.conf
|
||||
# login_cmd exec /bin/bash -login /etc/X11/Xsession %session
|
||||
# sessiondir /usr/share/xsessions/ # contains enlightenment.desktop:Exec=/usr/bin/enlightenment and xfce.desktop:Exec=startxfce4
|
||||
# default_user devuan
|
||||
# auto_login yes
|
||||
|
||||
#RUN cp /etc/slim.conf /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf
|
||||
#RUN \
|
||||
# echo "# HELLO THERE!" >> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf && \
|
||||
# sed -i "s|^login_cmd.*|login_cmd exec /bin/sh - ~/.xinitrc \%session|" /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf && \
|
||||
# sed -i "/^#.*auto_login/ s/^#//" /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf && \
|
||||
# sed -i "s/^default_user.*/default_user\ ${USER_NAME}/" /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf && \
|
||||
# sed -i "/^# default_user/ s/^#//" /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf
|
||||
#
|
||||
#RUN cat /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/etc/slim.conf >> /var/tmp/slim.conf
|
||||
|
||||
RUN mkdir -p /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/home/${USER_NAME}
|
||||
|
||||
#RUN echo $'DEFAULT_SESSION=enlightenment_start\n\
|
||||
#\n\
|
||||
#case $session in\n\
|
||||
# enlightenment ) exec enlightenment_start ;;\n\
|
||||
# xfce|xfce4 ) exec startxfce4 ;;\n\
|
||||
# # No known session, try to run it as command\n\
|
||||
# *) exec $DEFAULT_SESSION ;;\n\
|
||||
#esac '\
|
||||
#>> /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/home/${USER_NAME}/.xinitrc
|
||||
#
|
||||
#RUN cat /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/home/${USER_NAME}/.xinitrc >> /var/tmp/xinitrc
|
||||
|
||||
|
||||
ENV BASE_PACKAGES \
|
||||
apt-utils \
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-base \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
#openntpd \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-tools \
|
||||
zsh \
|
||||
rsync \
|
||||
git-core \
|
||||
mlocate \
|
||||
""
|
||||
|
||||
ENV PURGE_PACKAGES \
|
||||
apparmor \
|
||||
apparmor-utils \
|
||||
auditd \
|
||||
apparmor-profiles \
|
||||
apparmor-profiles-extra \
|
||||
avahi-daemon \
|
||||
avahi-autoipd \
|
||||
libavahi-common-data \
|
||||
libavahi-common3 \
|
||||
libavahi-glib1 \
|
||||
libavahi-client3 \
|
||||
cups-browsed \
|
||||
gvfs-daemon \
|
||||
libpam-gnome-keyring \
|
||||
policykit-1 \
|
||||
pulseaudio \
|
||||
pulseaudio-utils \
|
||||
xscreensaver \
|
||||
xscreensaver-data \
|
||||
""
|
||||
|
||||
ENV CUSTOM_DEB_PACKAGES \
|
||||
dissenter-browser_0.70.122_amd64.deb \
|
||||
""
|
||||
|
||||
ENV FINALIZE_PURGE_PACKAGES \
|
||||
""
|
||||
|
||||
### ## ENV CORE_VALUES " \
|
||||
### ## ["core_packages="]=${CORE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV BASE_VALUES " \
|
||||
### ## ["base_packages="]=${BASE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV PURGE_VALUES " \
|
||||
### ## ["purge_packages="]=${PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
### ##
|
||||
### ## ENV FINALIZE_PURGE_VALUES " \
|
||||
### ## ["finalize_purge_packages="]=${FINALIZE_PURGE_PACKAGES[@]} \
|
||||
### ## "
|
||||
|
||||
ENV SDK_CONFIG /live-sdk/lib/libdevuansdk/config
|
||||
ENV BLEND_CONFIG /live-sdk/blends/${BLEND_NAME}/config
|
||||
ENV BLEND_PACKAGE_CONFIG /live-sdk/blends/${BLEND_NAME}/${RELEASE}/config
|
||||
|
||||
#### # Bash-isms follow, so:
|
||||
#### SHELL ["/bin/bash", "-c"]
|
||||
####
|
||||
#### # Use sed to insert ..._package sections if missing. The Q42 is a forced exit status.
|
||||
#### # Assumes the base_package stanza is present.
|
||||
#### RUN ( \
|
||||
#### if $(sed -n -e "/^core_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\core_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^extra_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\EXTRA_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### if $(sed -n -e "/^purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^custom_deb_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\custom_deb_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^finalize_purge_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\finalize_purge_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # if $(sed -n -e "/^blend_package/ Q42" ${BLEND_CONFIG} ); then sed -i "/^base_packages/ i\blend_packages+=(\n)\n" ${BLEND_CONFIG}; fi; \
|
||||
#### # \
|
||||
#### # Use sed to replace block of values. \
|
||||
#### # This works and is copy/pasteable to a bash shell, but the '[@]' elements are not strictly needed in a Dockerfile. \
|
||||
#### # RUN ( \
|
||||
#### sed -i \
|
||||
#### -e "/^core_packages/,/^)$/ c\core_packages=(\n${CORE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^base_packages/,/^)$/ c\base_packages=(\n${BASE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^extra_packages/,/^)$/ i\extra_packages+=(\n${EXTRA_PACKAGES[@]}\n);Q" \
|
||||
#### -e "/^purge_packages/,/^)$/ c\purge_packages+=(\n${PURGE_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^custom_deb_packages/,/^)$/ c\custom_deb_packages+=(\n${CUSTOM_DEB_PACKAGES[@]}\n)" \
|
||||
#### # -e "/^finalize_purge_packages/,/^)$/ c\finalize_purge_packages+=(\n${FINALIZE_PURGE_PACKAGES[@]}\n)" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### ## \
|
||||
#### ## Use sed to format the lists one per line, tabbed. \
|
||||
#### ## Works for not- and tab-indented lists. \
|
||||
#### ##RUN ( \
|
||||
#### sed -i \
|
||||
#### ## -e "/^core_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^base_packages/, /^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ### -e "/^extra_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### -e "/^custom_deb_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ## -e "/^finalize_purge_packages/,/^)$/ { n; s/^/\t/; s/ \t/\n\t/g; s/ \([^\t]\)/\n\t\1/g; }" \
|
||||
#### ${BLEND_CONFIG}; \
|
||||
#### cat ${BLEND_CONFIG}; \
|
||||
#### )
|
||||
|
||||
### ## RUN edit-config-list.sh ${CORE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${BASE_VALUES} ${BLEND_CONFIG}
|
||||
### ## RUN edit-config-list.sh ${PURGE_VALUES} ${BLEND_CONFIG}
|
||||
### ##
|
||||
### ## # FIXME: Does edit-config.sh cope with multi-line variables in CONFIG_VALUES below.
|
||||
|
||||
|
||||
### #ENV CONFIG_VALUES " \
|
||||
### # ["core_packages"]=${CORE_PACKAGES} \
|
||||
### # ["base_packages"]=${BASE_PACKAGES} \
|
||||
### # ["purge_packages"]=${PURGE_PACKAGES} \
|
||||
### # "
|
||||
|
||||
# These values are over-ridden by the blend conf files so should probably only be changed when releasing sdk updates.
|
||||
ENV SDK_CONFIG_VALUES "\
|
||||
["os"]='${OS}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${VERSION}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
["rootcredentials"]='${ROOT_CRED}' \
|
||||
["usercredentials"]='${USER_CRED}' \
|
||||
["corepackages_option"]='' \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages_option"]='' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages_option"]='' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
"
|
||||
#RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${SDK_CONFIG}
|
||||
|
||||
ENV CONFIG_VALUES " \
|
||||
["core_packages"]='${CORE_PACKAGES}' \
|
||||
["base_packages"]='${BASE_PACKAGES}' \
|
||||
["purge_packages"]='${PURGE_PACKAGES}' \
|
||||
["extra_packages"]='${EXTRA_PACKAGES}' \
|
||||
["custom_deb_packages"]='${CUSTOM_DEB_PACKAGES}' \
|
||||
["finalize_purge_packages"]='${FINALIZE_PURGE_PACKAGES}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${BLEND_PACKAGE_CONFIG}
|
||||
|
||||
|
||||
#ENV CONFIG_VALUES " \
|
||||
# ["os"]='${OS}' \
|
||||
# ["release"]='${RELEASE}' \
|
||||
# ["version"]='${VERSION}' \
|
||||
# ["mirror"]='${APT_MIRROR}' \
|
||||
# ["section"]='${SECTION}' \
|
||||
# ["image_name"]='${IMAGE_NAME}' \
|
||||
# "
|
||||
#RUN /live-sdk/edit-config.sh "${CONFIG_VALUES}" ${BLEND_CONFIG}
|
||||
|
||||
ENV BLEND_CONFIG_VALUES " \
|
||||
["blend_name"]='${BLEND_NAME}' \
|
||||
["release"]='${RELEASE}' \
|
||||
["version"]='${BLEND_VERS}' \
|
||||
["user_name"]='${USER_NAME}' \
|
||||
["user_pass"]='${USER_PASS}' \
|
||||
["default-shell"]='${DEFAULT_SHELL}' \
|
||||
["manual_list"]='${MANUAL_LIST}' \
|
||||
["auto_list"]='${AUTO_LIST}' \
|
||||
["grubversion"]='${GRUB_VER}' \
|
||||
["mirror"]='${APT_MIRROR}' \
|
||||
["section"]='${SECTION}' \
|
||||
["release_conf"]='${RELEASE_CONF}' \
|
||||
["image_name"]='${IMAGE_NAME}' \
|
||||
# ["mkefi"]='${MKEFI}' \
|
||||
# ["efi_work"]='${EFI_WORK}' \
|
||||
# ["base_packages_option"]='${BASE_PACKAGES_OPTION}'
|
||||
# ["extra_packages_option"]='${EXTRA_PACKAGES_OPTION}'
|
||||
# ["hookscripts"]='${USE_HOOKS}' \
|
||||
# ["arch"]='${ARCH}' \
|
||||
# ["sources_list"]='${SOURCES_LIST}' \
|
||||
"
|
||||
RUN /live-sdk/edit-config.sh "${BLEND_CONFIG_VALUES}" ${BLEND_CONFIG}
|
||||
|
||||
# Add zfs var and arrs filesystems you would like to snapshot separately or
|
||||
# apply and indiviual quota
|
||||
#vars+=(zfs_poolname)
|
||||
ENV ZFS_POOLNAME "rpool"
|
||||
|
||||
#arrs+=(zfs_datasets)
|
||||
ENV ZFS_DATASETS " \
|
||||
"/home" \
|
||||
"/home/${username}" \
|
||||
"/space" \
|
||||
"/opt" \
|
||||
"/tmp" \
|
||||
"/usr" \
|
||||
"/usr/share" \
|
||||
"/usr/local" \
|
||||
"/var" \
|
||||
"/var/cache" \
|
||||
"/var/cache/apt" \
|
||||
"/var/lib" \
|
||||
"/var/tmp" \
|
||||
"/var/lib/virt" \
|
||||
"/var/lib/lxc" \
|
||||
"/var/lib/docker" \
|
||||
"/var/log" \
|
||||
"/var/spool" \
|
||||
"/var/tmp" \
|
||||
"
|
||||
|
||||
# Given on the load commandline
|
||||
#RUN sed -i "s,^\(os=\).*,\1\"${OS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#RUN sed -i "s,^\(blend_name=\).*,\1\"${BLEND_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(username=\).*,\1\"${USER_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(userpass=\).*,\1\"${USER_PASS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(default_shell=\).*,\1\"${DEFAULT_SHELL}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(section=\).*,\1\"${SECTION}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(image_name=\).*,\1\"${IMAGE_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(grubversion=\).*,\1\"${GRUB_VER}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
##RUN sed -i "s,^\(blend_vers=\).*,\1\"${BLEND_VERS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^blend_vers=' /live-sdk/blends/${BLEND_VERS}/config && \
|
||||
# sed -i "s/^blend_vers.*/mirror=${BLEND_VERS}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${BLEND_VERS}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
##RUN sed -i "s,^\(release=\).*,\1\"${RELEASE}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^release=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^release.*/mirror=${RELEASE}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${RELEASE}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN grep -q '^mirror=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^mirror.*/mirror=${APT_MIRROR}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^mirror=${BLEND_NAME}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN sed -i "s,^\(mirror=\).*,\1\"${APT_MIRROR}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
|
||||
# Add/remove packages not already in the blend
|
||||
#RUN echo ""extra_packages+=( smartmontools gsmartcontrol ) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN purge_packages+=( policykit-1) >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
# Add hook scripts not all ready in the blend
|
||||
#RUN echo "" > /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
#COPY common/hooks/hook.sh /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
|
||||
# Add custom debs not already in the blend
|
||||
#RUN echo "custom_deb_packages+=( sanoid_1.4.14-1_amd64.deb )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#COPY common/custom-packages/sanoid_1.4.14-1_amd64.deb /live-sdk/blends/${BLEND_NAME}/sanoid_1.4.14-1_amd64.deb
|
||||
|
||||
## copy a get-selections from the livecd (install your prefered programs beforehand)
|
||||
#dpkg --get-selections > /var/tmp/packages.list
|
||||
#/usr/bin/apt-mark showauto > /var/tmp/pkgs_auto.lst
|
||||
#/usr/bin/apt-mark showmanual > /var/tmp/pkgs_manual.lst
|
||||
COPY packages.list blends/${BLEND_NAME}/packages.list
|
||||
#COPY pkgs_auto.list blends/${BLEND_NAME}/pkgs_auto.list
|
||||
#COPY pkgs_manual.list blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
COPY pkgs_auto.list-ascii blends/${BLEND_NAME}/pkgs_auto.list
|
||||
COPY pkgs_manual.list-ascii blends/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
ENV AUTOMATE_HOME /live-sdk/blends/${BLEND_NAME}/${RELEASE}/rootfs-overlay/var/tmp/
|
||||
COPY automate ${AUTOMATE_HOME}
|
||||
COPY automate /live-sdk/automate
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
## Build sequence:
|
||||
# source sdk
|
||||
# load ${OS} ${ARCH} ${BLEND_NAME}
|
||||
# build_iso_dist() {
|
||||
# bootstrap_complete_base
|
||||
# (*) bootstrapping devuan amd64 base
|
||||
# (*) running debootstrap stage 1 - retrieve and validate
|
||||
# (*) running debootstrap stage 2 - unpack and configure
|
||||
# (*) writing system configuration
|
||||
# (*) running debootstrap stage 3 - mount and chroot
|
||||
# (*) chrooting to execute thirdstage...
|
||||
# (*) Creating boostrap tarball in /live-sdk/tmp/bootstrap-devuan-amd64-stage3.tgz
|
||||
# (*) chrooting to execute postunpack... - install blend debs
|
||||
# devprocsys mount $strapdir
|
||||
# chroot-script /var/tmp/automate/001_locales.sh
|
||||
# chroot-script /var/tmp/automate/010_alsa.sh
|
||||
# chroot-script /var/tmp/automate/020_waterfox.sh
|
||||
# chroot-script /var/tmp/automate/020_vim.sh
|
||||
# chroot-script /var/tmp/automate/020_nanorc.sh
|
||||
# chroot-script /var/tmp/automate/020_neovim.sh
|
||||
# chroot-script /var/tmp/automate/020_neofetch_motd.sh
|
||||
# chroot-script /var/tmp/automate/020_tmux.sh
|
||||
# chroot-script /var/tmp/automate/020_rox-filer.sh
|
||||
# chroot-script /var/tmp/automate/020_wicd.sh
|
||||
# chroot-script /var/tmp/automate/050_xscreensaver.sh
|
||||
# devprocsys umount $strapdir
|
||||
# blend_preinst
|
||||
# (*) executing devuan-desktop-live_ preinst
|
||||
# (*) adding user devuan:devuan
|
||||
# (*) chrooting to execute adduser...
|
||||
# iso_prepare_strap
|
||||
# (*) preparing strapdir for livecd
|
||||
# (*) chrooting to execute isoprep...
|
||||
# build_kernel_${arch}
|
||||
# (*) installing stock kernel for amd64
|
||||
# (*) chrooting to execute install-linux...
|
||||
# iso_setup_isolinux
|
||||
# (*) setting up isolinux
|
||||
# iso_write_isolinux_cfg
|
||||
# (*) writing isolinux configuration
|
||||
# (*) copying isolinux overlay
|
||||
# blend_postinst
|
||||
# (*) executing devuan-desktop-live_ postinst
|
||||
# (*) chrooting to execute install-debs...
|
||||
# (*) chrooting to execute finalize...
|
||||
# fill_apt_cache
|
||||
# iso_squash_strap
|
||||
# (*) creating squashfs out of strapdir
|
||||
# iso_xorriso_build
|
||||
# (*) building iso...
|
||||
#}
|
||||
|
||||
## RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
## echo "source sdk" >> build-iso.zsh && \
|
||||
## echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
## echo "build_iso_dist" >> build-iso.zsh && \
|
||||
## chmod +x build-iso.zsh
|
||||
#RUN ( \
|
||||
# ( echo "#!/usr/bin/env zsh"; \
|
||||
# echo "source sdk"; \
|
||||
# echo "load ${OS} ${ARCH} ${BLEND_NAME}"; \
|
||||
# echo "build_iso_dist" \
|
||||
# ) >> build-iso.zsh \
|
||||
# && chmod +x build-iso.zsh && ls -l build-iso.zsh && cat build-iso.zsh \
|
||||
# )
|
||||
|
||||
COPY bin/build-iso.zsh build-iso.zsh
|
||||
#RUN ( ls -l build-iso.zsh; ./build-iso.zsh )
|
||||
|
||||
RUN cat ${SDK_CONFIG}; cat ${BLEND_CONFIG}
|
||||
### #ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["./build-iso.zsh"]
|
||||
|
|
@ -0,0 +1,315 @@
|
|||
# https://dev1galaxy.org/viewtopic.php?id=551
|
||||
#FROM devuan:jessie-slim
|
||||
#FROM devuan:ascii-slim
|
||||
FROM dyne/devuan:beowulf
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo 'Acquire::http { Proxy "http://192.168.1.49:3142"; };' > /etc/apt/apt.conf.d/02proxy
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN apt-get install -y xorriso squashfs-tools live-boot syslinux-common git zsh debootstrap sudo kpartx xz-utils sudo cgpt parted vim curl sed gawk bsdmainutils
|
||||
RUN apt-get install -y live-build live-config live-config-sysvinit isolinux grub-efi-amd64-bin grub-common dosfstools gnutls-bin
|
||||
#RUN apt-get install -y kpartx cgpt
|
||||
#RUN git clone https://git.devuan.org/cyteen/live-sdk
|
||||
RUN git clone https://git.devuan.org/sdk/live-sdk.git /live-sdk
|
||||
WORKDIR /live-sdk
|
||||
#RUN git submodule update --init --recursive --checkout
|
||||
RUN pwd
|
||||
RUN ls -lh
|
||||
RUN git pull && git submodule update --init --recursive --checkout
|
||||
|
||||
# sub modules might be behind current libdevuansdk git, if you require a more current version of libdevuansdk clone directly:
|
||||
#WORKDIR /live-sdk/lib
|
||||
#RUN rm -rf libdevuansdk
|
||||
#RUN git clone https://git.devuan.org/sdk/libdevuansdk
|
||||
|
||||
#WORKDIR /live-sdk
|
||||
# NB now included in the live-sdk if extra does not have a syslinux directory with isolinux.bin
|
||||
#mkdir -p /live-sdk/extra/syslinux
|
||||
|
||||
# from package live-build
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/*.c32 /live-sdk/extra/syslinux
|
||||
#cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin /live-sdk/extra/syslinux
|
||||
|
||||
# from package ISOLINUX
|
||||
#cp /usr/lib/ISOLINUX/isohdpfx.bin /live-sdk/extra/syslinux
|
||||
|
||||
|
||||
ENV USER_NAME "default"
|
||||
ENV USER_PASS "default"
|
||||
ENV DEFAULT_SHELL "/bin/zsh"
|
||||
|
||||
ENV OS "devuan"
|
||||
ENV ARCH "amd64"
|
||||
ENV RELEASE "beowulf"
|
||||
ENV VERSION 2.0.0
|
||||
ENV TEMPLATE_NAME "devuan-beowulf-live"
|
||||
#ENV TEMPLATE_NAME "live-zfs"
|
||||
ENV BLEND_NAME "live-zfs"
|
||||
ENV BLEND_VERS "1.0"
|
||||
|
||||
#ENV APT_MIRROR "http://192.168.44.47:3142/pkgmaster.devuan.org/merged"
|
||||
ENV APT_MIRROR "http://pkgmaster.devuan.org/merged"
|
||||
|
||||
ENV USE_HOOKS "yes"
|
||||
ENV SECTION "main contrib non-free"
|
||||
ENV IMAGE_NAME "${os}_${release}_${version}_${arch}_desktop"
|
||||
|
||||
ENV SOURCES_LIST "${BLENDPATH}/sources.list"
|
||||
ENV MANUAL_LIST "${BLENDPATH}/manual.list"
|
||||
ENV AUTO_LIST "${BLENDPATH}/auto.list"
|
||||
|
||||
COPY ./live-sdk/blends/${TEMPLATE_NAME} /live-sdk/blends/${BLEND_NAME}
|
||||
RUN mv /live-sdk/blends/${BLEND_NAME}/${TEMPLATE_NAME}.blend /live-sdk/blends/${BLEND_NAME}/${BLEND_NAME}.blend
|
||||
|
||||
|
||||
# Enable/disable UEFI - Currently code checks to see if the $mkefi is set not if it is yes or no and turning it off breaks the xorriso build options.
|
||||
#ENV MKEFI "no"
|
||||
#ENV GRUB_VER "grub-pc"
|
||||
#ENV EFI_WORK ""
|
||||
#RUN sed -i "s,^\(mkefi=\).*,\1\"${MKEFI}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(efi_work=\).*,\1\"${EFI_WORK}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i '/^mkefi=/s/^/# /' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
ENV MKEFI "yes"
|
||||
ENV GRUB_VER "grub-efi-amd64"
|
||||
ENV EFI_WORK "${BLENDPATH}/efi-files"
|
||||
RUN sed -i '/# mkefi=/s/# /^/' /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#WORKDIR /live-sdk/blends/
|
||||
#RUN git clone https://git.devuan.org/cyteen/blends/live-zfs
|
||||
#RUN git checkout -b ${BLEND_NAME}
|
||||
|
||||
## Once working and building push to git
|
||||
#RUN git push origin ${BLEND_NAME}
|
||||
|
||||
|
||||
WORKDIR /live-sdk
|
||||
# Add the new blend to the sdk blend_map so we can build it.
|
||||
RUN pwd
|
||||
RUN ls
|
||||
RUN sed -i "/blend_map=.*/ s/.*/&\n\t\t\"${BLEND_NAME}\" \"\$R\/blends\/${BLEND_NAME}\/${BLEND_NAME}.blend\"/" sdk
|
||||
|
||||
# Add call for sourceslist
|
||||
#RUN sed -i "/install-custdebs.*/ s/.*/&\n\tinstall-packageslist || zerr/" sdk
|
||||
|
||||
COPY bin/edit-config.sh /live-sdk/edit-config.sh
|
||||
|
||||
# FIXME: Some settings in the blend config fail to override libdevuansdk/conf we should test setting in blend first to identify which ones are not imported.
|
||||
|
||||
# Construct array for edit-config
|
||||
# Taken from /live-sdk/lib/libdevuansdk/config
|
||||
ENV CORE_PACKAGES \
|
||||
devuan-keyring \
|
||||
debian-keyring \
|
||||
ca-certificates \
|
||||
initramfs-tools \
|
||||
e2fsprogs \
|
||||
curl \
|
||||
less \
|
||||
vim \
|
||||
nano \
|
||||
sysvinit \
|
||||
""
|
||||
|
||||
ENV BASE_PACKAGES \
|
||||
apt-utils \
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-base \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
#openntpd \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-tools \
|
||||
zsh \
|
||||
rsync \
|
||||
git-core \
|
||||
mlocate \
|
||||
""
|
||||
|
||||
#ENV PURGE_PACKAGES \
|
||||
# dbus \
|
||||
# ""
|
||||
|
||||
ENV FINALIZE_PURGE_PACKAGES \
|
||||
avahi-daemon \
|
||||
avahi-autoipd \
|
||||
libavahi-common-data \
|
||||
libavahi-common3 \
|
||||
libavahi-glib1 \
|
||||
libavahi-client3 \
|
||||
cups-browsed \
|
||||
gvfs-daemon \
|
||||
libpam-gnome-keyring \
|
||||
pulseaudio \
|
||||
policykit-1 \
|
||||
xscreensaver \
|
||||
xscreensaver-data \
|
||||
""
|
||||
|
||||
ENV CORE_VALUES \
|
||||
["core_packages="]=${CORE_PACKAGES[@]} \
|
||||
""
|
||||
|
||||
ENV BASE_VALUES \
|
||||
["base_packages="]=${BASE_PACKAGES[@]} \
|
||||
""
|
||||
|
||||
ENV PURGE_VALUES \
|
||||
["purge_packages="]=${PURGE_PACKAGES[@]} \
|
||||
""
|
||||
|
||||
ENV FINALIZE_PURGE_VALUES \
|
||||
["finalize_purge_packages="]=${FINALIZE_PURGE_PACKAGES[@]} \
|
||||
""
|
||||
|
||||
ENV BLEND_CONFIG /live-sdk/blends/${BLEND_NAME}/${RELEASE}/config
|
||||
|
||||
RUN edit-config-list.sh ${CORE_VALUES} ${BLEND_CONFIG}
|
||||
RUN edit-config-list.sh ${BASE_VALUES} ${BLEND_CONFIG}
|
||||
RUN edit-config-list.sh ${PURGE_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
# FIXME: Does edit-config.sh cope with multi-line variables in CONFIG_VALUES below.
|
||||
|
||||
ENV SDK_CONFIG /live-sdk/lib/libdevuansdk/config
|
||||
|
||||
#ENV CONFIG_VALUES \
|
||||
# ["core_packages"]=${CORE_PACKAGES} \
|
||||
# ["base_packages"]=${BASE_PACKAGES} \
|
||||
# ["purge_packages"]=${PURGE_PACKAGES} \
|
||||
# ""
|
||||
|
||||
ENV CONFIG_VALUES \
|
||||
["os"]=${OS} \
|
||||
["release"]=${RELEASE} \
|
||||
["version"]=${VERSION} \
|
||||
["mirror"]=${APT_MIRROR} \
|
||||
["section"]=${SECTION} \
|
||||
["image_name"]=${IMAGE_NAME} \
|
||||
""
|
||||
|
||||
#RUN edit-config.sh ${CONFIG_VALUES} ${SDK_CONFIG}
|
||||
RUN edit-config.sh ${CONFIG_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
ENV BLEND_CONFIG_VALUES \
|
||||
["user_name"]=${USER_NAME} \
|
||||
["user_pass"]=${USER_PASS} \
|
||||
["default-shell"]=${DEFAULT_SHELL} \
|
||||
["blend_name"]=${BLEND_NAME} \
|
||||
["blend_vers"]=${BLEND_VERS} \
|
||||
["hookfile"]=${USE_HOOKS} \
|
||||
["arch"]=${ARCH} \
|
||||
["mkefi"]=${MKEFI} \
|
||||
["efi-work"]=${EFI_WORK} \
|
||||
["grubversion"]=${GRUB_VER} \
|
||||
["sources_list"]=${SOURCES_LIST} \
|
||||
["manual_list"]=${MANUAL_LIST} \
|
||||
["auto_list"]=${AUTO_LIST} \
|
||||
""
|
||||
|
||||
RUN edit-config.sh ${BLEND_CONFIG_VALUES} ${BLEND_CONFIG}
|
||||
|
||||
# Add zfs var and arrs filesystems you would like to snapshot separately or
|
||||
# apply and indiviual quota
|
||||
#vars+=(zfs_poolname)
|
||||
ENV ZFS_POOLNAME "rpool"
|
||||
|
||||
#arrs+=(zfs_datasets)
|
||||
ENV ZFS_DATASETS \
|
||||
"/home" \
|
||||
"/home/${username}" \
|
||||
"/space" \
|
||||
"/opt" \
|
||||
"/tmp" \
|
||||
"/usr" \
|
||||
"/usr/share" \
|
||||
"/usr/local" \
|
||||
"/var" \
|
||||
"/var/cache" \
|
||||
"/var/cache/apt" \
|
||||
"/var/lib" \
|
||||
"/var/tmp" \
|
||||
"/var/lib/virt" \
|
||||
"/var/lib/lxc" \
|
||||
"/var/lib/docker" \
|
||||
"/var/log" \
|
||||
"/var/spool" \
|
||||
"/var/tmp" \
|
||||
""
|
||||
|
||||
# Given on the load commandline
|
||||
#RUN sed -i "s,^\(os=\).*,\1\"${OS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
#RUN sed -i "s,^\(blend_name=\).*,\1\"${BLEND_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(username=\).*,\1\"${USER_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(userpass=\).*,\1\"${USER_PASS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(default_shell=\).*,\1\"${DEFAULT_SHELL}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(hookscripts=\).*,\1\"${USE_HOOKS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(section=\).*,\1\"${SECTION}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN sed -i "s,^\(image_name=\).*,\1\"${IMAGE_NAME}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
#RUN sed -i "s,^\(grubversion=\).*,\1\"${GRUB_VER}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#
|
||||
##RUN sed -i "s,^\(blend_vers=\).*,\1\"${BLEND_VERS}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^blend_vers=' /live-sdk/blends/${BLEND_VERS}/config && \
|
||||
# sed -i "s/^blend_vers.*/mirror=${BLEND_VERS}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${BLEND_VERS}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
##RUN sed -i "s,^\(release=\).*,\1\"${RELEASE}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN grep -q '^release=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^release.*/mirror=${RELEASE}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^release=${RELEASE}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN grep -q '^mirror=' /live-sdk/blends/${BLEND_NAME}/config && \
|
||||
# sed -i "s/^mirror.*/mirror=${APT_MIRROR}/" /live-sdk/blends/${BLEND_NAME}/config || \
|
||||
# sed -i "/blend_name=.*/ s/.*/&\n^mirror=${BLEND_NAME}\"/" /live-sdk/blends/${BLEND_NAME/config}
|
||||
#
|
||||
#RUN sed -i "s,^\(mirror=\).*,\1\"${APT_MIRROR}\"," /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
|
||||
# Add/remove packages not already in the blend
|
||||
#RUN echo "extra_packages+=( smartmontools gsmartcontrol )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#RUN echo "purge_packages+=( policykit-1)" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
|
||||
# Add hook scripts not all ready in the blend
|
||||
#RUN echo "" > /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
#COPY common/hooks/hook.sh /live-sdk/blends/${BLEND_NAME}/hooks/hook.sh
|
||||
|
||||
# Add custom debs not already in the blend
|
||||
#RUN echo "custom_deb_packages+=( sanoid_1.4.14-1_amd64.deb )" >> /live-sdk/blends/${BLEND_NAME}/config
|
||||
#COPY common/custom-packages/sanoid_1.4.14-1_amd64.deb /live-sdk/blends/${BLEND_NAME}/sanoid_1.4.14-1_amd64.deb
|
||||
|
||||
## copy a get-selections from the livecd (install your prefered programs beforehand)
|
||||
#dpkg --get-selections > /var/tmp/packages.list
|
||||
#/usr/bin/apt-mark showauto > /var/tmp/pkgs_auto.lst
|
||||
#/usr/bin/apt-mark showmanual > /var/tmp/pkgs_manual.lst
|
||||
COPY packages.list blend/${BLEND_NAME}/packages.list
|
||||
#COPY pkgs_auto.list blend/${BLEND_NAME}/pkgs_auto.list
|
||||
#COPY pkgs_manual.list blend/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
COPY pkgs_auto.list-ascii blend/${BLEND_NAME}/pkgs_auto.list
|
||||
COPY pkgs_manual.list-ascii blend/${BLEND_NAME}/pkgs_manual.list
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
|
||||
RUN echo "#!/usr/bin/env zsh" > build-iso.zsh && \
|
||||
echo "source sdk" >> build-iso.zsh && \
|
||||
echo "load ${OS} ${ARCH} ${BLEND_NAME}" >> build-iso.zsh && \
|
||||
echo "build_iso_dist" >> build-iso.zsh && \
|
||||
chmod +x build-iso.zsh
|
||||
|
||||
#ENTRYPOINT ["/bin/zsh", "-f", "-c", "source sdk"]
|
||||
CMD ["build-iso.zsh"]
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
source ${live_sdk-$PWD/}sdk
|
||||
load ${OS} ${ARCH} ${BLEND_NAME}
|
||||
|
||||
AUTOMATE_HOME=${strapdir}/var/tmp/automate
|
||||
|
||||
devprocsys umount ${strapdir}
|
||||
bootstrap_complete_base
|
||||
|
||||
cp -a ${live_sdk-$PWD/}automate ${strapdir}/var/tmp
|
||||
|
||||
# add log file for each script to silence warning.
|
||||
for filename in ${AUTOMATE_HOME}/*.sh;
|
||||
do
|
||||
echo ${filename}
|
||||
chmod +x ${filename}
|
||||
touch ${filename}.log
|
||||
done
|
||||
|
||||
blend_preinst
|
||||
iso_prepare_strap
|
||||
build_kernel_${arch}
|
||||
iso_setup_isolinux
|
||||
iso_write_isolinux_cfg
|
||||
blend_postinst
|
||||
devprocsys mount ${strapdir}
|
||||
chroot $strapdir /usr/bin/apt-get install -y grub-efi-amd64-bin grub-pc-bin grub2-common wget
|
||||
chroot-script /var/tmp/automate/001_locales.sh
|
||||
chroot-script /var/tmp/automate/001_resolvconf.sh
|
||||
chroot-script /var/tmp/automate/001_sysctl.sh
|
||||
chroot-script /var/tmp/automate/010_apt-get.sh
|
||||
chroot-script /var/tmp/automate/010_zram.sh
|
||||
chroot-script /var/tmp/automate/010_zfs.sh
|
||||
chroot-script /var/tmp/automate/010_saltstack.sh
|
||||
chroot-script /var/tmp/automate/020_console.sh
|
||||
chroot-script /var/tmp/automate/020_zsh_quickstart.sh
|
||||
chroot-script /var/tmp/automate/020_zsh_aliases.d.sh
|
||||
chroot-script /var/tmp/automate/020_lsd.sh
|
||||
chroot-script /var/tmp/automate/020_grc.sh
|
||||
chroot-script /var/tmp/automate/010_alsa.sh
|
||||
chroot-script /var/tmp/automate/020_vim.sh
|
||||
chroot-script /var/tmp/automate/020_meld.sh
|
||||
chroot-script /var/tmp/automate/020_themes.sh
|
||||
chroot-script /var/tmp/automate/020_powerline-bash.sh
|
||||
chroot-script /var/tmp/automate/020_fonts.sh
|
||||
chroot-script /var/tmp/automate/020_nanorc.sh
|
||||
chroot-script /var/tmp/automate/020_neovim.sh
|
||||
chroot-script /var/tmp/automate/020_shellcheck.sh
|
||||
chroot-script /var/tmp/automate/020_neofetch_motd.sh
|
||||
chroot-script /var/tmp/automate/020_tmux.sh
|
||||
chroot-script /var/tmp/automate/020_rox-filer.sh
|
||||
chroot-script /var/tmp/automate/020_hexchat.sh
|
||||
chroot-script /var/tmp/automate/020_pidgin.sh
|
||||
chroot-script /var/tmp/automate/020_torbrowser.sh
|
||||
chroot-script /var/tmp/automate/020_slim.sh
|
||||
chroot-script /var/tmp/automate/020_docker.sh
|
||||
chroot-script /var/tmp/automate/020_docker-compose.sh
|
||||
chroot-script /var/tmp/automate/050_wicd.sh
|
||||
chroot-script /var/tmp/automate/050_remove_xscreensaver.sh
|
||||
devprocsys umount ${strapdir}
|
||||
fill_apt_cache
|
||||
iso_squash_strap
|
||||
iso_xorriso_build
|
||||
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
#!/bin/bash
|
||||
#set -x
|
||||
BASE_PACKAGES=( \
|
||||
apt-utils
|
||||
dselect \
|
||||
parted \
|
||||
openssh-server \
|
||||
openssh-client \
|
||||
sudo \
|
||||
alsa-base \
|
||||
alsa-utils \
|
||||
mawk \
|
||||
tmux \
|
||||
screen \
|
||||
#openntpd \
|
||||
ntp \
|
||||
wpasupplicant \
|
||||
wireless-tools \
|
||||
elinks \
|
||||
firmware-linux-free \
|
||||
btrfs-tools \
|
||||
zsh \
|
||||
rsync \
|
||||
git-core \
|
||||
mlocate \
|
||||
)
|
||||
BASE_VALUES="["base_packages"]=${BASE_PACKAGES}"
|
||||
CONFIG_FILE=$2
|
||||
#arr+=( ["blend_name"]="devuan-live" \
|
||||
# ["blend_vers"]="2.0" \
|
||||
# ["mirror"]="http://192.168.44.47:3142/pkgmaster.devuan.org/merged" \
|
||||
# ["release"]="ascii" )
|
||||
|
||||
echo "${BASE_PACKAGES[@]}"
|
||||
#for VALUE in ${BASE_PACKAGES[@]}; do
|
||||
# printf "V: " ${VALUE}
|
||||
#done
|
||||
|
||||
declare -A arr
|
||||
#arr+=( $1 )
|
||||
arr+=( ["base_packages"]="${BASE_PACKAGES[@]}" )
|
||||
|
||||
for TARGET_KEY in "${!arr[@]}"; do
|
||||
echo "B00 " "${TARGET_KEY}" "${arr["${TARGET_KEY}"]}" "${CONFIG_FILE}"
|
||||
echo "B01 " "${TARGET_KEY}" "${arr["${TARGET_KEY[@]}"]}" "${CONFIG_FILE}"
|
||||
echo "BO2 " '${!arr[@]}' "${!arr[@]}"
|
||||
|
||||
for VALUE in ${arr["${TARGET_KEY[@]}"]}; do
|
||||
echo "B04 " "${VALUE["${TARGET_KEY}"]}"
|
||||
done
|
||||
# if the key exists
|
||||
if grep -q "^${TARGET_KEY}=" "${CONFIG_FILE}"; then
|
||||
# For each of the values in the list
|
||||
for VALUE in ${arr["${TARGET_KEY[@]}]"}; do
|
||||
# Add the value under the target
|
||||
sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" "${CONFIG_FILE}"
|
||||
done
|
||||
else
|
||||
# Under blend_name add the new key and add the value to it.
|
||||
sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\(\n\)|" "${CONFIG_FILE}"
|
||||
for VALUE in ${arr["${TARGET_KEY[@]}]"}; do
|
||||
sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" "${CONFIG_FILE}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
CONFIG_FILE="${2}"
|
||||
#arr+=( ["blend_name"]="devuan-live" \
|
||||
# ["blend_vers"]="2.0" \
|
||||
# ["mirror"]="http://192.168.44.47:3142/pkgmaster.devuan.org/merged" \
|
||||
# ["release"]="ascii" )
|
||||
|
||||
declare -A arr
|
||||
#arr+=( "${1}" )
|
||||
echo "edit-config.sh file: <"${2}">"
|
||||
echo "edit-config.sh arr: <"${1}">"
|
||||
eval "arr=(${1})"
|
||||
|
||||
for TARGET_KEY in "${!arr[@]}"; do
|
||||
echo ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
if grep -q "^${TARGET_KEY}[+]*=" ${CONFIG_FILE}; then
|
||||
# sed -i "s|^${TARGET_KEY}[+]*.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
|
||||
# Replace multiline "${TARGET_KEY}=(...)" with "TARGET_KEY=(TARGET_VALUES)".
|
||||
# Replace multiline "${TARGET_KEY}+=(...)" with "TARGET_KEY+=(TARGET_VALUES)".
|
||||
sed -i -e "/${TARGET_KEY}\([+]*\)=(/{" \
|
||||
-e " :loop;s/^${TARGET_KEY}\([+]\)*=(.*)/TARGET_KEY\1=(TARGET_VALUES)/;t;N;b loop" \
|
||||
-e "}" \
|
||||
${CONFIG_FILE}
|
||||
# Replace "TARGET_KEY=(TARGET_VALUES)" with values from ${arr[]}.
|
||||
# Works with "TARGET_KEY=(TARGET_VALUES)" and "TARGET_KEY+=(TARGET_VALUES)".
|
||||
sed -i -e "s|^TARGET_KEY\([+]*\)=|${TARGET_KEY}\1=|;" \
|
||||
-e "s|TARGET_VALUES|${arr[${TARGET_KEY}]}|" \
|
||||
${CONFIG_FILE}
|
||||
else
|
||||
# $TARGET_KEY is new to ${CONFIG_FILE}
|
||||
# Assume $TARGET_KEY is not used elsewhere, so use "=" not "+=".
|
||||
sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
fi
|
||||
done
|
||||
|
||||
## sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
##
|
||||
## sed -e "/${TARGET_KEY}[+]=(/{" -e ":loop;s/^${TARGET_KEY}=(.*)/(xTARGETx)/;t;N;b loop" -e "}" -e "s/^(xTARGETx)/${TARGET_KEY}=${arr[${TARGET_KEY}]}/"
|
||||
## ${CONFIG_FILE}
|
||||
##
|
||||
## sed -e "/${TARGET_KEY}[+]=(/{" \
|
||||
## -e ":loop;s/^${TARGET_KEY}=(.*)/(xTARGETx)/;t;N;b loop" \
|
||||
## -e "}" \
|
||||
## -e "s/^(xTARGETx)/${TARGET_KEY}=${arr[${TARGET_KEY}]}/"
|
||||
##
|
||||
## Works: +=
|
||||
##
|
||||
## cat config| sed -e "/${TARGET_KEY}\([+]*\)=(/{" -e " :loop;s/^${TARGET_KEY}+=(.*)/(xTARGETx)/;t;N;b loop" -e "}" -e "s/^(xTARGETx)/${TARGET_KEY}+=${arr[${TARGET_KEY}]}/"
|
||||
##
|
||||
## works: =
|
||||
##
|
||||
## cat config| sed -e "/${TARGET_KEY}\([+]*\)=(/{" -e " :loop;s/^${TARGET_KEY}=(.*)/(xTARGETx)/;t;N;b loop" -e "}" -e "s/^(xTARGETx)/${TARGET_KEY}+=${arr[${TARGET_KEY}]}/"
|
||||
##
|
||||
## works: both
|
||||
##
|
||||
## cat config| sed -e "/${TARGET_KEY}\([+]*\)=(/{" -e " :loop;s/^${TARGET_KEY}\([+]\)*=(.*)/TARGET_KEY\1=(TARGET_VALUES)/;t;N;b loop" -e "}" | sed -e "s/^TARGET_KEY\([+]*\)=/${TARGET_KEY}\1=/; s/TARGET_VALUES/${arr[${TARGET_KEY}]}/"
|
||||
##
|
||||
## formatted:
|
||||
##
|
||||
## cat config| sed -e "/${TARGET_KEY}\([+]*\)=(/{"
|
||||
## -e " :loop;s/^${TARGET_KEY}\([+]\)*=(.*)/TARGET_KEY\1=(TARGET_VALUES)/;t;N;b loop"
|
||||
## -e "}" | sed -e "s/^TARGET_KEY\([+]*\)=/${TARGET_KEY}\1=/; s/TARGET_VALUES/${arr[${TARGET_KEY}]}/"
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
CONFIG_FILE="${2}"
|
||||
#arr+=( ["blend_name"]="devuan-live" \
|
||||
# ["blend_vers"]="2.0" \
|
||||
# ["mirror"]="http://192.168.44.47:3142/pkgmaster.devuan.org/merged" \
|
||||
# ["release"]="ascii" )
|
||||
|
||||
declare -A arr
|
||||
arr+=( "${1}" )
|
||||
|
||||
for TARGET_KEY in "${!arr[@]}"; do
|
||||
echo ${TARGET_KEY} ${arr[${TARGET_KEY}]} ${CONFIG_FILE}
|
||||
if grep -q "^${TARGET_KEY}=" ${CONFIG_FILE}; then
|
||||
sed -i "s|^${TARGET_KEY}.*|${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
else
|
||||
sed -i "/^blend_name=.*/ s|.*|&\n${TARGET_KEY}=\"${arr[${TARGET_KEY}]}\"|" ${CONFIG_FILE}
|
||||
fi
|
||||
done
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
BLEND_URL[0]=http://distro.ibiblio.org/refracta/files/blends/jessie-oblx-blend.tar.gz
|
||||
BLEND_URL[1]=http://distro.ibiblio.org/refracta/files/blends/simple-ice-blend.tar.gz
|
||||
BLEND_URL[2]=http://distro.ibiblio.org/refracta/files/blends/devuan_2.0_desktop-live.blend.tar.gz
|
||||
|
||||
# For some reason there is no containing directory
|
||||
#BLEND_URL[3]=http://distro.ibiblio.org/refracta/files/blends/beowulf-blend.tar.gz
|
||||
|
||||
for URL in ${BLEND_URL[@]}
|
||||
do
|
||||
wget -c -O - ${URL} | tar -C ${PWD}/blends -xzf -
|
||||
done
|
||||
|
||||
git clone https://github.com/headslive/build-system.git blends/heads-live
|
||||
|
|
@ -0,0 +1 @@
|
|||
docker build --no-cache -t markm/devuan-live-sdk-plain - < ./Dockerfile-plain
|
||||
|
|
@ -0,0 +1 @@
|
|||
docker build -t markm/devuan-live-sdk:latest -t markm/devuan-live-sdk -f ./Dockerfile-e17 .
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
#\docker build -t markm/devuan-live-sdk:latest -t markm/devuan-live-sdk -f ./Dockerfile-e17 .
|
||||
|
||||
# Gitlab credentials:
|
||||
# GITLAB_USER
|
||||
# GITLAB_URL
|
||||
|
||||
# Gitlab personal repo
|
||||
# TEMPLATE_NAME
|
||||
# BLEND_NAME
|
||||
|
||||
# Local git credentials
|
||||
# GIT_EMAIL_NAME
|
||||
# GIT_EMAIL_URL
|
||||
# GIT_NAME
|
||||
|
||||
# experimental: --squash \
|
||||
|
||||
#--ssh default=${SSH_AUTH_SOCK} \
|
||||
#--ssh default=/tmp/ssh-8l3EayCMOhTH/agent.15125 \
|
||||
#--network host \
|
||||
#--no-cache \
|
||||
#--progress=plain \
|
||||
|
||||
echo "ssh auth sock: ${SSH_AUTH_SOCK}"
|
||||
|
||||
docker build \
|
||||
--squash \
|
||||
--progress=plain \
|
||||
--no-cache \
|
||||
--ssh default \
|
||||
--build-arg GITLAB_USER="cyteen" \
|
||||
--build-arg GITLAB_URL="git.ring-zero.co.uk" \
|
||||
--build-arg GITLAB_PORT="10022" \
|
||||
--build-arg APT_MIRROR="https://pkgmaster.devuan.org/merged" \
|
||||
--build-arg TEMPLATE_NAME="devuan-beowulf-live-e17" \
|
||||
--build-arg RELEASE="beowulf" \
|
||||
--build-arg BLEND_NAME="live-zfs-e17" \
|
||||
--build-arg BLEND_VERS="3.0-test-$(date +%Y-%m-%d)" \
|
||||
--build-arg GIT_EMAIL_NAME="cyteen" \
|
||||
--build-arg GIT_EMAIL_URL="ring-zero.co.uk" \
|
||||
--build-arg GIT_NAME="Cyteen May" \
|
||||
-t markm/devuan-live-sdk_sm:latest \
|
||||
-t markm/devuan-live-sdk_sm \
|
||||
-f ./Dockerfile-submodule-e17 \
|
||||
.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
version: "3.8"
|
||||
services:
|
||||
devuan-live-sdk:
|
||||
image: markm/devuan-live-sdk_sm:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile-submodule-e17
|
||||
args:
|
||||
GITLAB_USER: ${GITLAB_USER}
|
||||
GITLAB_URL: ${GITLAB_URL}
|
||||
GITLAB_PORT: ${GITLAB_PORT}
|
||||
APT_MIRROR: ${APT_MIRROR}
|
||||
TEMPLATE_NAME: ${TEMPLATE_NAME}
|
||||
RELEASE: ${RELEASE}
|
||||
BLEND_NAME: ${BLEND_NAME}
|
||||
BLEND_VERS: ${BLEND_VERS}
|
||||
GIT_EMAIL_NAME: ${GIT_EMAIL_NAME}
|
||||
GIT_EMAIL_URL: ${GIT_EMAIL_URL}
|
||||
GIT_NAME: ${GIT_NAME}
|
||||
volumes:
|
||||
- ./dist:/live-sdk/dist
|
||||
- ./log:/live-sdk/log
|
||||
privileged: true
|
||||
command: --
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
Subproject commit ad40af151e952615c74c1e95681e945e0b76121e
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,279 @@
|
|||
cmake-data
|
||||
coinor-libcoinutils3v5
|
||||
coinor-libosi1v5
|
||||
dirmngr
|
||||
festlex-oald
|
||||
festlex-poslex
|
||||
firebird3.0-common
|
||||
firebird3.0-common-doc
|
||||
g++
|
||||
g++-6
|
||||
gawk
|
||||
git-man
|
||||
gtk-update-icon-cache
|
||||
ipxe-qemu
|
||||
keyutils
|
||||
libaio1
|
||||
libapparmor1
|
||||
libapt-pkg-perl
|
||||
libarchive-zip-perl
|
||||
libasan3
|
||||
libasprintf0v5
|
||||
libassuan0
|
||||
libatomic1
|
||||
libaudclient2
|
||||
libavcodec57
|
||||
libavfilter6
|
||||
libavformat57
|
||||
libavresample3
|
||||
libavutil55
|
||||
libb-hooks-endofscope-perl
|
||||
libbind9-140
|
||||
libboost-filesystem1.62.0
|
||||
libboost-iostreams1.62.0
|
||||
libboost-system1.62.0
|
||||
libbs2b0
|
||||
libbsd0
|
||||
libc-dev-bin
|
||||
libc-l10n
|
||||
libcacard0
|
||||
libcap-ng0
|
||||
libcc1-0
|
||||
libchromaprint1
|
||||
libcilkrts5
|
||||
libclass-method-modifiers-perl
|
||||
libcolamd2
|
||||
libcpan-changes-perl
|
||||
libcroco3
|
||||
libcwidget3v5
|
||||
libdata-perl-perl
|
||||
libdbus-1-dev
|
||||
libdevel-globaldestruction-perl
|
||||
libdevmapper1.02.1
|
||||
libdns162
|
||||
libdpkg-perl
|
||||
libdrm-amdgpu1
|
||||
libebur128-1
|
||||
libedit2
|
||||
libelf1
|
||||
liberror-perl
|
||||
libestools2.4
|
||||
libexpat1
|
||||
libexpat1-dev
|
||||
libexporter-tiny-perl
|
||||
libfdt1
|
||||
libfftw3-double3
|
||||
libfile-slurp-perl
|
||||
libfile-stripnondeterminism-perl
|
||||
libfreetype6
|
||||
libfuse2
|
||||
libgcc-6-dev
|
||||
libgcrypt20
|
||||
libgetopt-long-descriptive-perl
|
||||
libgif7
|
||||
libglib2.0-0
|
||||
libgme0
|
||||
libgmime-2.6-0
|
||||
libgomp1
|
||||
libgpg-error0
|
||||
libgphoto2-port12
|
||||
libgssapi-krb5-2
|
||||
libicu57
|
||||
libid3tag0
|
||||
libimlib2
|
||||
libimobiledevice6
|
||||
libimport-into-perl
|
||||
libinput-bin
|
||||
libinput10
|
||||
libio-stringy-perl
|
||||
libipc-system-simple-perl
|
||||
libisc160
|
||||
libisccc140
|
||||
libisccfg140
|
||||
libisl15
|
||||
libitm1
|
||||
libjemalloc1
|
||||
libjim0.76
|
||||
libjq1
|
||||
libjsoncpp1
|
||||
libk5crypto3
|
||||
libkeyutils1
|
||||
libklibc
|
||||
libkrb5-3
|
||||
libkrb5support0
|
||||
libksba8
|
||||
libldap-common
|
||||
liblirc-client0
|
||||
liblist-moreutils-perl
|
||||
libllvm3.9
|
||||
liblouis12
|
||||
liblsan0
|
||||
liblua5.1-0
|
||||
liblvm2app2.2
|
||||
liblwres141
|
||||
libmagic-mgc
|
||||
libmagic1
|
||||
libmodule-implementation-perl
|
||||
libmodule-load-conditional-perl
|
||||
libmodule-runtime-perl
|
||||
libmoo-perl
|
||||
libmoox-handlesvia-perl
|
||||
libmpc3
|
||||
libmpdec2
|
||||
libmpfr4
|
||||
libmpg123-0
|
||||
libmpx2
|
||||
libmsgpackc2
|
||||
libnamespace-autoclean-perl
|
||||
libnamespace-clean-perl
|
||||
libnghttp2-14
|
||||
libnotmuch4
|
||||
libntfs-3g871
|
||||
libnvpair1linux
|
||||
libonig4
|
||||
libopencv-core2.4v5
|
||||
libopencv-imgproc2.4v5
|
||||
libopenjp2-7
|
||||
libopenmpt0
|
||||
libopts25
|
||||
libotr5
|
||||
libpackage-stash-perl
|
||||
libparams-classify-perl
|
||||
libparams-validate-perl
|
||||
libpath-tiny-perl
|
||||
libperl5.24
|
||||
libpgm-5.2-0
|
||||
libplist3
|
||||
libpng16-16
|
||||
libpoppler64
|
||||
libpostproc54
|
||||
libproxy1v5
|
||||
libpython-dev
|
||||
libpython-stdlib
|
||||
libpython2.7-dev
|
||||
libpython2.7-minimal
|
||||
libpython2.7-stdlib
|
||||
libpython3-dev
|
||||
libpython3-stdlib
|
||||
libpython3.5
|
||||
libpython3.5-dev
|
||||
libpython3.5-minimal
|
||||
libpython3.5-stdlib
|
||||
libqpdf17
|
||||
libquadmath0
|
||||
libregexp-assemble-perl
|
||||
librole-tiny-perl
|
||||
librubberband2
|
||||
libruby2.3
|
||||
libseccomp2
|
||||
libservlet3.1-java
|
||||
libsidplay1v5
|
||||
libsigc++-2.0-0v5
|
||||
libsigsegv2
|
||||
libsnappy1v5
|
||||
libsodium18
|
||||
libsoxr0
|
||||
libspice-server1
|
||||
libsqlite3-0
|
||||
libssh-gcrypt-4
|
||||
libstdc++-6-dev
|
||||
libstrictures-perl
|
||||
libsub-exporter-progressive-perl
|
||||
libsub-identify-perl
|
||||
libsuitesparseconfig4
|
||||
libswresample2
|
||||
libswscale4
|
||||
libsystemd0
|
||||
libtag1v5
|
||||
libtag1v5-vanilla
|
||||
libtbb2
|
||||
libtermkey1
|
||||
libtidy5
|
||||
libtimedate-perl
|
||||
libtommath1
|
||||
libtool
|
||||
libtry-tiny-perl
|
||||
libtsan0
|
||||
libturbojpeg0
|
||||
libtype-tiny-perl
|
||||
libubsan0
|
||||
libunibilium0
|
||||
libunistring0
|
||||
libusbmuxd4
|
||||
libusbredirparser1
|
||||
libuutil1linux
|
||||
libuv1
|
||||
libvariable-magic-perl
|
||||
libvdeplug2
|
||||
libvpx4
|
||||
libvterm0
|
||||
libwacom-common
|
||||
libwacom2
|
||||
libwebp6
|
||||
libwebpdemux2
|
||||
libwebpmux2
|
||||
libwebrtc-audio-processing1
|
||||
libx264-148
|
||||
libx265-95
|
||||
libxen-4.8
|
||||
libxenstore3.0
|
||||
libxfce4ui-common
|
||||
libxfce4util7
|
||||
libxfont2
|
||||
libxml2
|
||||
libxmmsclient6
|
||||
libxnvctrl0
|
||||
libzfs2linux
|
||||
libzmq5
|
||||
libzpool2linux
|
||||
neovim-runtime
|
||||
nodejs
|
||||
openbios-ppc
|
||||
openbios-sparc
|
||||
openhackware
|
||||
p7zip
|
||||
perl-openssl-defaults
|
||||
pkg-config
|
||||
python-httplib2
|
||||
python-librdf
|
||||
python-powerline
|
||||
python-psutil
|
||||
python-ptyprocess
|
||||
python-pysimplesoap
|
||||
python-urwid
|
||||
python2.7-dev
|
||||
python3-debianbts
|
||||
python3-httplib2
|
||||
python3-jedi
|
||||
python3-pycurl
|
||||
python3-pysimplesoap
|
||||
python3-reportbug
|
||||
python3-requests
|
||||
python3-urllib3
|
||||
python3.5-dev
|
||||
qemu-slof
|
||||
qemu-system
|
||||
qemu-system-arm
|
||||
qemu-system-common
|
||||
qemu-system-mips
|
||||
qemu-system-misc
|
||||
qemu-system-ppc
|
||||
qemu-system-sparc
|
||||
qemu-system-x86
|
||||
qemu-user
|
||||
rake
|
||||
ruby
|
||||
ruby-did-you-mean
|
||||
ruby-erubis
|
||||
ruby-minitest
|
||||
ruby-net-telnet
|
||||
ruby-power-assert
|
||||
ruby-test-unit
|
||||
ruby-thor
|
||||
ruby2.3
|
||||
rubygems-integration
|
||||
seabios
|
||||
tex-common
|
||||
xserver-xorg-input-libinput
|
||||
xserver-xorg-video-amdgpu
|
||||
zip
|
||||
|
|
@ -0,0 +1,259 @@
|
|||
acpi-support-base
|
||||
adduser
|
||||
alsa-base
|
||||
alsa-utils
|
||||
apt
|
||||
apt-listchanges
|
||||
apt-transport-https
|
||||
apt-utils
|
||||
aptitude
|
||||
b43-fwcutter
|
||||
base-files
|
||||
base-passwd
|
||||
bash
|
||||
bash-completion
|
||||
bsdmainutils
|
||||
bsdutils
|
||||
bzip2
|
||||
ca-certificates
|
||||
coreutils
|
||||
cpio
|
||||
cron
|
||||
cryptsetup
|
||||
curl
|
||||
dash
|
||||
debconf
|
||||
debconf-i18n
|
||||
debian-archive-keyring
|
||||
debianutils
|
||||
devuan-baseconf
|
||||
devuan-keyring
|
||||
dialog
|
||||
diffutils
|
||||
discover
|
||||
dmidecode
|
||||
dnsutils
|
||||
doc-debian
|
||||
docutils-common
|
||||
docutils-doc
|
||||
dpkg
|
||||
e2fslibs
|
||||
e2fsprogs
|
||||
findutils
|
||||
firmware-atheros
|
||||
firmware-b43-installer
|
||||
firmware-b43legacy-installer
|
||||
firmware-bnx2
|
||||
firmware-bnx2x
|
||||
firmware-brcm80211
|
||||
firmware-intelwimax
|
||||
firmware-iwlwifi
|
||||
firmware-libertas
|
||||
firmware-linux-free
|
||||
firmware-linux-nonfree
|
||||
firmware-myricom
|
||||
firmware-netxen
|
||||
firmware-qlogic
|
||||
firmware-ralink
|
||||
firmware-realtek
|
||||
firmware-ti-connectivity
|
||||
firmware-zd1211
|
||||
fonts-dejavu
|
||||
fonts-liberation
|
||||
fonts-sil-gentium-basic
|
||||
ftp
|
||||
gcc-4.8-base
|
||||
gcc-4.9-base
|
||||
gettext
|
||||
gnupg
|
||||
gnupg2
|
||||
gparted
|
||||
gpgv
|
||||
grep
|
||||
groff-base
|
||||
grub-pc
|
||||
gzip
|
||||
hostname
|
||||
ifupdown
|
||||
init
|
||||
init-system-helpers
|
||||
initramfs-tools
|
||||
initscripts
|
||||
insserv
|
||||
iproute2
|
||||
iptables
|
||||
iputils-ping
|
||||
isc-dhcp-client
|
||||
isc-dhcp-common
|
||||
isolinux
|
||||
iw
|
||||
kmod
|
||||
laptop-detect
|
||||
less
|
||||
libacl1
|
||||
libapt-inst1.5
|
||||
libapt-pkg4.12
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libblkid1
|
||||
libboost-iostreams1.55.0
|
||||
libbz2-1.0
|
||||
libc-bin
|
||||
libc6
|
||||
libcap2
|
||||
libcomerr2
|
||||
libdb5.3
|
||||
libdebconfclient0
|
||||
libdns-export100
|
||||
libestr0
|
||||
libfdisk1
|
||||
libffi6
|
||||
libgcc1
|
||||
libgdbm3
|
||||
libgmp10
|
||||
libgnutls-deb0-28
|
||||
libgnutls-openssl27
|
||||
libhogweed2
|
||||
libicu52
|
||||
libidn11
|
||||
libirs-export91
|
||||
libisc-export95
|
||||
libisccfg-export90
|
||||
libjson-c2
|
||||
libkmod2
|
||||
liblocale-gettext-perl
|
||||
liblogging-stdlog0
|
||||
liblognorm1
|
||||
liblzma5
|
||||
libmnl0
|
||||
libmount1
|
||||
libncurses5
|
||||
libncursesw5
|
||||
libnetfilter-acct1
|
||||
libnettle4
|
||||
libnewt0.52
|
||||
libnfnetlink0
|
||||
libp11-kit0
|
||||
libpam-modules
|
||||
libpam-modules-bin
|
||||
libpam-runtime
|
||||
libpam0g
|
||||
libpangox-1.0-0
|
||||
libpangoxft-1.0-0
|
||||
libpcre3
|
||||
libpipeline1
|
||||
libpopt0
|
||||
libprocps3
|
||||
libpsl0
|
||||
libreadline6
|
||||
libreoffice-base
|
||||
libreoffice-calc
|
||||
libreoffice-draw
|
||||
libreoffice-impress
|
||||
libreoffice-report-builder-bin
|
||||
libselinux1
|
||||
libsemanage-common
|
||||
libsemanage1
|
||||
libsepol1
|
||||
libservlet2.5-java
|
||||
libsigc++-2.0-0c2a
|
||||
libslang2
|
||||
libsmartcols1
|
||||
libss2
|
||||
libssl1.0.0
|
||||
libstdc++6
|
||||
libtasn1-6
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
libtext-wrapi18n-perl
|
||||
libtinfo5
|
||||
libudev1
|
||||
libusb-0.1-4
|
||||
libustr-1.0-1
|
||||
libuuid1
|
||||
libxtables10
|
||||
linux-image-amd64
|
||||
live-boot
|
||||
live-boot-initramfs-tools
|
||||
live-config
|
||||
live-config-sysvinit
|
||||
login
|
||||
logrotate
|
||||
lsb-base
|
||||
lsof
|
||||
lvm2
|
||||
man-db
|
||||
manpages
|
||||
mawk
|
||||
memtest86+
|
||||
mlocate
|
||||
mount
|
||||
multiarch-support
|
||||
mutt
|
||||
nano
|
||||
ncurses-base
|
||||
ncurses-bin
|
||||
ncurses-term
|
||||
net-tools
|
||||
netbase
|
||||
netcat-traditional
|
||||
nfacct
|
||||
nfs-common
|
||||
openssh-client
|
||||
openssh-server
|
||||
parted
|
||||
passwd
|
||||
perl-base
|
||||
popularity-contest
|
||||
procmail
|
||||
procps
|
||||
readline-common
|
||||
refractainstaller-base
|
||||
refractainstaller-gui
|
||||
refractasnapshot-base
|
||||
refractasnapshot-gui
|
||||
reportbug
|
||||
rsync
|
||||
rsyslog
|
||||
screen
|
||||
sed
|
||||
sensible-utils
|
||||
setnet
|
||||
software-properties-common
|
||||
squashfs-tools
|
||||
startpar
|
||||
sudo
|
||||
syslinux
|
||||
syslinux-common
|
||||
sysv-rc
|
||||
sysvinit
|
||||
sysvinit-core
|
||||
sysvinit-utils
|
||||
tar
|
||||
task-desktop
|
||||
task-english
|
||||
task-print-server
|
||||
task-xfce-desktop
|
||||
tasksel
|
||||
tasksel-data
|
||||
telnet
|
||||
texinfo
|
||||
traceroute
|
||||
tzdata
|
||||
udev
|
||||
usbutils
|
||||
util-linux
|
||||
vim
|
||||
vim-common
|
||||
vim-gtk
|
||||
vim-tiny
|
||||
w3m
|
||||
wget
|
||||
whiptail
|
||||
whois
|
||||
wireless-tools
|
||||
wpasupplicant
|
||||
xorriso
|
||||
yad
|
||||
zlib1g
|
||||
|
|
@ -0,0 +1,259 @@
|
|||
acpi-support-base
|
||||
adduser
|
||||
alsa-base
|
||||
alsa-utils
|
||||
apt
|
||||
apt-listchanges
|
||||
apt-transport-https
|
||||
apt-utils
|
||||
aptitude
|
||||
b43-fwcutter
|
||||
base-files
|
||||
base-passwd
|
||||
bash
|
||||
bash-completion
|
||||
bsdmainutils
|
||||
bsdutils
|
||||
bzip2
|
||||
ca-certificates
|
||||
coreutils
|
||||
cpio
|
||||
cron
|
||||
cryptsetup
|
||||
curl
|
||||
dash
|
||||
debconf
|
||||
debconf-i18n
|
||||
debian-archive-keyring
|
||||
debianutils
|
||||
devuan-baseconf
|
||||
devuan-keyring
|
||||
dialog
|
||||
diffutils
|
||||
discover
|
||||
dmidecode
|
||||
dnsutils
|
||||
doc-debian
|
||||
docutils-common
|
||||
docutils-doc
|
||||
dpkg
|
||||
e2fslibs
|
||||
e2fsprogs
|
||||
findutils
|
||||
firmware-atheros
|
||||
firmware-b43-installer
|
||||
firmware-b43legacy-installer
|
||||
firmware-bnx2
|
||||
firmware-bnx2x
|
||||
firmware-brcm80211
|
||||
firmware-intelwimax
|
||||
firmware-iwlwifi
|
||||
firmware-libertas
|
||||
firmware-linux-free
|
||||
firmware-linux-nonfree
|
||||
firmware-myricom
|
||||
firmware-netxen
|
||||
firmware-qlogic
|
||||
firmware-ralink
|
||||
firmware-realtek
|
||||
firmware-ti-connectivity
|
||||
firmware-zd1211
|
||||
fonts-dejavu
|
||||
fonts-liberation
|
||||
fonts-sil-gentium-basic
|
||||
ftp
|
||||
gcc-4.8-base
|
||||
gcc-4.9-base
|
||||
gettext
|
||||
gnupg
|
||||
gnupg2
|
||||
gparted
|
||||
gpgv
|
||||
grep
|
||||
groff-base
|
||||
grub-pc
|
||||
gzip
|
||||
hostname
|
||||
ifupdown
|
||||
init
|
||||
init-system-helpers
|
||||
initramfs-tools
|
||||
initscripts
|
||||
insserv
|
||||
iproute2
|
||||
iptables
|
||||
iputils-ping
|
||||
isc-dhcp-client
|
||||
isc-dhcp-common
|
||||
isolinux
|
||||
iw
|
||||
kmod
|
||||
laptop-detect
|
||||
less
|
||||
libacl1
|
||||
libapt-inst1.5
|
||||
libapt-pkg4.12
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libblkid1
|
||||
libboost-iostreams1.55.0
|
||||
libbz2-1.0
|
||||
libc-bin
|
||||
libc6
|
||||
libcap2
|
||||
libcomerr2
|
||||
libdb5.3
|
||||
libdebconfclient0
|
||||
libdns-export100
|
||||
libestr0
|
||||
libfdisk1
|
||||
libffi6
|
||||
libgcc1
|
||||
libgdbm3
|
||||
libgmp10
|
||||
libgnutls-deb0-28
|
||||
libgnutls-openssl27
|
||||
libhogweed2
|
||||
libicu52
|
||||
libidn11
|
||||
libirs-export91
|
||||
libisc-export95
|
||||
libisccfg-export90
|
||||
libjson-c2
|
||||
libkmod2
|
||||
liblocale-gettext-perl
|
||||
liblogging-stdlog0
|
||||
liblognorm1
|
||||
liblzma5
|
||||
libmnl0
|
||||
libmount1
|
||||
libncurses5
|
||||
libncursesw5
|
||||
libnetfilter-acct1
|
||||
libnettle4
|
||||
libnewt0.52
|
||||
libnfnetlink0
|
||||
libp11-kit0
|
||||
libpam-modules
|
||||
libpam-modules-bin
|
||||
libpam-runtime
|
||||
libpam0g
|
||||
libpangox-1.0-0
|
||||
libpangoxft-1.0-0
|
||||
libpcre3
|
||||
libpipeline1
|
||||
libpopt0
|
||||
libprocps3
|
||||
libpsl0
|
||||
libreadline6
|
||||
libreoffice-base
|
||||
libreoffice-calc
|
||||
libreoffice-draw
|
||||
libreoffice-impress
|
||||
libreoffice-report-builder-bin
|
||||
libselinux1
|
||||
libsemanage-common
|
||||
libsemanage1
|
||||
libsepol1
|
||||
libservlet2.5-java
|
||||
libsigc++-2.0-0c2a
|
||||
libslang2
|
||||
libsmartcols1
|
||||
libss2
|
||||
libssl1.0.0
|
||||
libstdc++6
|
||||
libtasn1-6
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
libtext-wrapi18n-perl
|
||||
libtinfo5
|
||||
libudev1
|
||||
libusb-0.1-4
|
||||
libustr-1.0-1
|
||||
libuuid1
|
||||
libxtables10
|
||||
linux-image-amd64
|
||||
live-boot
|
||||
live-boot-initramfs-tools
|
||||
live-config
|
||||
live-config-sysvinit
|
||||
login
|
||||
logrotate
|
||||
lsb-base
|
||||
lsof
|
||||
lvm2
|
||||
man-db
|
||||
manpages
|
||||
mawk
|
||||
memtest86+
|
||||
mlocate
|
||||
mount
|
||||
multiarch-support
|
||||
mutt
|
||||
nano
|
||||
ncurses-base
|
||||
ncurses-bin
|
||||
ncurses-term
|
||||
net-tools
|
||||
netbase
|
||||
netcat-traditional
|
||||
nfacct
|
||||
nfs-common
|
||||
openssh-client
|
||||
openssh-server
|
||||
parted
|
||||
passwd
|
||||
perl-base
|
||||
popularity-contest
|
||||
procmail
|
||||
procps
|
||||
readline-common
|
||||
refractainstaller-base
|
||||
refractainstaller-gui
|
||||
refractasnapshot-base
|
||||
refractasnapshot-gui
|
||||
reportbug
|
||||
rsync
|
||||
rsyslog
|
||||
screen
|
||||
sed
|
||||
sensible-utils
|
||||
setnet
|
||||
software-properties-common
|
||||
squashfs-tools
|
||||
startpar
|
||||
sudo
|
||||
syslinux
|
||||
syslinux-common
|
||||
sysv-rc
|
||||
sysvinit
|
||||
sysvinit-core
|
||||
sysvinit-utils
|
||||
tar
|
||||
task-desktop
|
||||
task-english
|
||||
task-print-server
|
||||
task-xfce-desktop
|
||||
tasksel
|
||||
tasksel-data
|
||||
telnet
|
||||
texinfo
|
||||
traceroute
|
||||
tzdata
|
||||
udev
|
||||
usbutils
|
||||
util-linux
|
||||
vim
|
||||
vim-common
|
||||
vim-gtk
|
||||
vim-tiny
|
||||
w3m
|
||||
wget
|
||||
whiptail
|
||||
whois
|
||||
wireless-tools
|
||||
wpasupplicant
|
||||
xorriso
|
||||
yad
|
||||
zlib1g
|
||||
Loading…
Reference in New Issue