more work done... still 100% untested, and i need to finish the package lists, but i have a testing platform built for all the distros.
This commit is contained in:
parent
0153d38a33
commit
7fb6e77c32
4
TODO
4
TODO
@ -38,7 +38,9 @@
|
||||
-X-platform
|
||||
--what distros are supported?
|
||||
--automatically install what we need for buildtime
|
||||
--hardcode list of runtime dependencies (e.g. openssh, vim, etc.)
|
||||
---need to finish pkg lists and then test, but meta files should be done as well as lib script
|
||||
--hardcode list of runtime (e.g. live media) dependencies (e.g. openssh, vim, etc.)
|
||||
--...and create separate list for after-the-fact e.g. goodies
|
||||
|
||||
## Split into Separate Tools CD ##
|
||||
|
||||
|
@ -4,6 +4,9 @@ build() {
|
||||
add_runscript
|
||||
|
||||
add_binary curl
|
||||
|
||||
add_full_dir /etc/ssl
|
||||
add_full_dir /etc/ca-certificates
|
||||
}
|
||||
|
||||
help() {
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
function so_check_me_out {
|
||||
|
||||
FUNCNAME="depcheck"
|
||||
|
||||
if [[ -n ${HOST_DIST} ]];
|
||||
then
|
||||
if [[ ! -f ${BASEDIR}/lib/prereqs/${HOST_DIST}/meta || ! -f ${BASEDIR}/lib/prereqs/${HOST_DIST}/pkgs ]];
|
||||
@ -43,6 +45,9 @@ function so_check_me_out {
|
||||
META="${DISTRO_DIR}/meta"
|
||||
PKGLIST="${DISTRO_DIR}/pkgs"
|
||||
|
||||
# And once more, just to be safe.
|
||||
source ${META}
|
||||
|
||||
if [[ "${PRE_RUN}" != 'none' ]];
|
||||
then
|
||||
echo "Now updating your local package cache..."
|
||||
|
@ -1,5 +1,7 @@
|
||||
function holla_atcha_boi {
|
||||
|
||||
FUNCNAME="holla_atcha_boi"
|
||||
|
||||
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
||||
then
|
||||
RACECAR_CHK='nice -n -19 '
|
||||
|
@ -1,4 +1,7 @@
|
||||
function release_me () {
|
||||
|
||||
FUNCNAME="release_me"
|
||||
|
||||
## check for mountpoints from a manual chroot and umount them if they're still mounted.
|
||||
## NOTE: you can use findmnt(8) to view a tree of mountpoints, including bindmounts etc.
|
||||
# Is there an active chroot?
|
||||
|
@ -1,4 +1,7 @@
|
||||
function facehugger () {
|
||||
|
||||
FUNCNAME="facehugger"
|
||||
|
||||
local ARCHSUFFIX="${1}"
|
||||
if [[ "${1}" == "64" ]];
|
||||
then
|
||||
|
@ -1,4 +1,7 @@
|
||||
function chroot_wrapper () {
|
||||
|
||||
FUNCNAME="chroot_wrapper"
|
||||
|
||||
local ARCHSUFFIX="${1}"
|
||||
if [[ "${1}" == "64" ]];
|
||||
then
|
||||
|
@ -1,4 +1,7 @@
|
||||
function jenny_craig () {
|
||||
|
||||
FUNCNAME="jenny_craig"
|
||||
|
||||
BUILDDIR="${BUILDDIR_GLOB}"
|
||||
if [[ "${1}" == "64" ]];
|
||||
then
|
||||
|
@ -1,4 +1,7 @@
|
||||
function centos_is_stupid {
|
||||
|
||||
FUNCNAME="centos_is_stupid"
|
||||
|
||||
echo "Checking for appropriate kernel version and mksquashfs version..."
|
||||
SQFS_VER=$(mksquashfs -version 2>&1 | head -n1 | awk '{print $3}' | sed -re 's/(^[0-9]*\.[0-9]*).*$/\1/g')
|
||||
KERN_VER=$(uname -r | cut -f1 -d"-")
|
||||
|
@ -1,4 +1,7 @@
|
||||
function will_it_blend () {
|
||||
|
||||
FUNCNAME="will_it_blend"
|
||||
|
||||
local ARCHSUFFIX="${1}"
|
||||
if [[ "${1}" == "64" ]];
|
||||
then
|
||||
|
@ -1,5 +1,7 @@
|
||||
function stuffy {
|
||||
|
||||
FUNCNAME="stuffy"
|
||||
|
||||
cp -f ${BASEDIR}/VERSION_INFO.txt ${TEMPDIR}/.
|
||||
|
||||
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
||||
|
@ -1,4 +1,7 @@
|
||||
function yo_dj () {
|
||||
|
||||
FUNCNAME="yo_dj"
|
||||
|
||||
ARCH="${1}"
|
||||
echo "Building the actual .iso image. This may take a while."
|
||||
#im_batman ## WHYTF IS THIS HERE?!
|
||||
|
@ -1,4 +1,7 @@
|
||||
function mentos {
|
||||
|
||||
FUNCNAME="mentos"
|
||||
|
||||
# Freshen up the chroots to git's HEAD. Package lists, overlay, etc.
|
||||
sed -i -e '/base-devel/d ; /multilib-devel/d' ${BASEDIR}/extra/packages.*
|
||||
# both
|
||||
|
@ -1,7 +1,7 @@
|
||||
NAME='Antergos'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD='egrep "^NAME=\"Antergos Linux\"" /etc/os-release'
|
||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
||||
CHECK_METHOD='egrep "^NAME=\"Antergos Linux\"$" /etc/os-release'
|
||||
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||
PRE_RUN='pacman -Syyy'
|
||||
PKG_CHK='pacman -Q ${pkgname}'
|
||||
URL='http://antergos.com/'
|
||||
|
1
lib/prereqs/Antergos/pkgs
Symbolic link
1
lib/prereqs/Antergos/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../Arch/pkgs
|
@ -1,7 +1,7 @@
|
||||
NAME='Arch'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD='egrep "^NAME=\"Arch Linux\"" /etc/os-release'
|
||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
||||
CHECK_METHOD='egrep "^NAME=\"Arch Linux\"$" /etc/os-release'
|
||||
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||
PRE_RUN='pacman -Syyy'
|
||||
PKG_CHK='pacman -Q ${pkgname}'
|
||||
URL='https://www.archlinux.org/'
|
||||
|
@ -0,0 +1,17 @@
|
||||
binutils
|
||||
curl
|
||||
gcc-libs-multilib
|
||||
gcc-multilib
|
||||
git
|
||||
libisoburn
|
||||
lynx
|
||||
make
|
||||
patch
|
||||
perl
|
||||
rsync
|
||||
sed
|
||||
squashfs-tools
|
||||
syslinux
|
||||
xorriso
|
||||
xz
|
||||
zlib
|
1
lib/prereqs/CentOS/pkgs
Symbolic link
1
lib/prereqs/CentOS/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../RHEL/pkgs
|
@ -1,8 +1,7 @@
|
||||
NAME='Debian'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD='egrep "^[0-9.]*$" /etc/debian_version'
|
||||
CHECK_METHOD='egrep "^NAME=\"Debian\ GNU/Linux\"" /etc/os-release'
|
||||
CHECK_METHOD='egrep "^NAME=\"Debian\ GNU/Linux\"$" /etc/os-release'
|
||||
PKG_MGR='apt-get -y install ${pkgname}'
|
||||
PRE_RUN='apt-get update'
|
||||
PKG_CHK='dpkg-query -l ${pkgname}'
|
||||
PKG_CHK='dpkg-query -l ${pkgname} | egrep "^ii[[:space:]]*${pkgname}"'
|
||||
URL='http://www.debian.org/'
|
||||
|
@ -0,0 +1,10 @@
|
||||
git
|
||||
curl
|
||||
dosfstools
|
||||
libisoburn1
|
||||
lynx
|
||||
rsync
|
||||
sed
|
||||
squashfs-tools
|
||||
xorriso
|
||||
xz-utils
|
7
lib/prereqs/Devuan/meta
Normal file
7
lib/prereqs/Devuan/meta
Normal file
@ -0,0 +1,7 @@
|
||||
NAME='Devuan'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD='egrep "^NAME=\"Devuan\ GNU/Linux\"$" /etc/os-release'
|
||||
PKG_MGR='apt-get -y install ${pkgname}'
|
||||
PRE_RUN='apt-get update'
|
||||
PKG_CHK='dpkg-query -l ${pkgname} | egrep "^ii[[:space:]]*${pkgname}"'
|
||||
URL='http://www.debian.org/'
|
1
lib/prereqs/Devuan/pkgs
Symbolic link
1
lib/prereqs/Devuan/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../Debian/pkgs
|
@ -0,0 +1,9 @@
|
||||
git
|
||||
curl
|
||||
libisofs
|
||||
lynx
|
||||
rsync
|
||||
sed
|
||||
squashfs-tools
|
||||
xorriso
|
||||
xz
|
@ -1,4 +1,4 @@
|
||||
This directory is used to enable cross-distro support. A list of packages is needed for the *host* to build the ISO. Adding distro support is easy; there simply needs to be the following added:
|
||||
This directory is used to enable cross-distro support and set baseline ISO packages needed for it to boot. A list of packages is needed for the *host* to build the ISO as well, which you'll find detailed below. Adding distro support is easy; there simply needs to be the following added:
|
||||
|
||||
<basedir>/lib/prereqs/<Distro>/{meta,pkgs}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
NAME='Manjaro'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD='egrep "^NAME=\"Manjaro Linux\"" /etc/os-release'
|
||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
||||
CHECK_METHOD='egrep "^NAME=\"Manjaro Linux\"$" /etc/os-release'
|
||||
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||
PRE_RUN='pacman -Syyyu'
|
||||
PKG_CHK='pacman -Q ${pkgname}'
|
||||
URL='https://manjaro.org/'
|
||||
|
1
lib/prereqs/Manjaro/pkgs
Symbolic link
1
lib/prereqs/Manjaro/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../Arch/pkgs
|
1
lib/prereqs/Mint/pkgs
Symbolic link
1
lib/prereqs/Mint/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../Ubuntu/pkgs
|
@ -0,0 +1,9 @@
|
||||
git
|
||||
curl
|
||||
libisofs
|
||||
lynx
|
||||
rsync
|
||||
sed
|
||||
squashfs-tools
|
||||
xorriso
|
||||
xz
|
@ -1,8 +1,8 @@
|
||||
NAME='SUSE'
|
||||
SUPPORTED=
|
||||
SUPPORTED='yes'
|
||||
# Both SLED and SLES. We can probably safely combine them.
|
||||
CHECK_METHOD='egrep "^NAME=\"SLE(D|S)\"" /etc/os-release'
|
||||
PKG_MGR='zypper install -l ${pkgname}'
|
||||
PRE_RUN='none'
|
||||
CHECK_METHOD='egrep "^NAME=\"SLE(D|S)\"$" /etc/os-release'
|
||||
PKG_MGR='zypper install --no-confirm -l ${pkgname}'
|
||||
PRE_RUN='zypper refresh'
|
||||
PKG_CHK='rpm -q ${pkgname} | egrep "^${pkgname}-[0-9]"'
|
||||
URL='https://www.suse.com/'
|
||||
|
1
lib/prereqs/SUSE/pkgs
Symbolic link
1
lib/prereqs/SUSE/pkgs
Symbolic link
@ -0,0 +1 @@
|
||||
../openSUSE/pkgs
|
@ -0,0 +1,10 @@
|
||||
git
|
||||
curl
|
||||
dosfstools
|
||||
libisoburn1
|
||||
lynx
|
||||
rsync
|
||||
sed
|
||||
squashfs-tools
|
||||
xorriso
|
||||
xz-utils
|
1
lib/prereqs/iso.pkgs.lst
Normal file
1
lib/prereqs/iso.pkgs.lst
Normal file
@ -0,0 +1 @@
|
||||
syslinux
|
@ -1,7 +1,8 @@
|
||||
NAME='openSUSE'
|
||||
SUPPORTED='yes'
|
||||
CHECK_METHOD=''
|
||||
PKG_MGR=''
|
||||
PRE_RUN=''
|
||||
PKG_CHK=''
|
||||
# Default doesn't have the quotes around the value, but I have a feeling that's a bug that will get "fixed" soon.
|
||||
CHECK_METHOD='egrep "^NAME=\"?openSUSE\"?$" /etc/os-release'
|
||||
PKG_MGR='zypper install --no-confirm -l ${pkgname}'
|
||||
PRE_RUN='zypper refresh'
|
||||
PKG_CHK='rpm -q ${pkgname} | egrep "^${pkgname}-[0-9]"'
|
||||
URL='https://www.opensuse.org/'
|
||||
|
Loading…
Reference in New Issue
Block a user