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
|
-X-platform
|
||||||
--what distros are supported?
|
--what distros are supported?
|
||||||
--automatically install what we need for buildtime
|
--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 ##
|
## Split into Separate Tools CD ##
|
||||||
|
|
||||||
|
@ -4,6 +4,9 @@ build() {
|
|||||||
add_runscript
|
add_runscript
|
||||||
|
|
||||||
add_binary curl
|
add_binary curl
|
||||||
|
|
||||||
|
add_full_dir /etc/ssl
|
||||||
|
add_full_dir /etc/ca-certificates
|
||||||
}
|
}
|
||||||
|
|
||||||
help() {
|
help() {
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
function so_check_me_out {
|
function so_check_me_out {
|
||||||
|
|
||||||
|
FUNCNAME="depcheck"
|
||||||
|
|
||||||
if [[ -n ${HOST_DIST} ]];
|
if [[ -n ${HOST_DIST} ]];
|
||||||
then
|
then
|
||||||
if [[ ! -f ${BASEDIR}/lib/prereqs/${HOST_DIST}/meta || ! -f ${BASEDIR}/lib/prereqs/${HOST_DIST}/pkgs ]];
|
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"
|
META="${DISTRO_DIR}/meta"
|
||||||
PKGLIST="${DISTRO_DIR}/pkgs"
|
PKGLIST="${DISTRO_DIR}/pkgs"
|
||||||
|
|
||||||
|
# And once more, just to be safe.
|
||||||
|
source ${META}
|
||||||
|
|
||||||
if [[ "${PRE_RUN}" != 'none' ]];
|
if [[ "${PRE_RUN}" != 'none' ]];
|
||||||
then
|
then
|
||||||
echo "Now updating your local package cache..."
|
echo "Now updating your local package cache..."
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
function holla_atcha_boi {
|
function holla_atcha_boi {
|
||||||
|
|
||||||
|
FUNCNAME="holla_atcha_boi"
|
||||||
|
|
||||||
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
||||||
then
|
then
|
||||||
RACECAR_CHK='nice -n -19 '
|
RACECAR_CHK='nice -n -19 '
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function release_me () {
|
function release_me () {
|
||||||
|
|
||||||
|
FUNCNAME="release_me"
|
||||||
|
|
||||||
## check for mountpoints from a manual chroot and umount them if they're still mounted.
|
## 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.
|
## NOTE: you can use findmnt(8) to view a tree of mountpoints, including bindmounts etc.
|
||||||
# Is there an active chroot?
|
# Is there an active chroot?
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function facehugger () {
|
function facehugger () {
|
||||||
|
|
||||||
|
FUNCNAME="facehugger"
|
||||||
|
|
||||||
local ARCHSUFFIX="${1}"
|
local ARCHSUFFIX="${1}"
|
||||||
if [[ "${1}" == "64" ]];
|
if [[ "${1}" == "64" ]];
|
||||||
then
|
then
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function chroot_wrapper () {
|
function chroot_wrapper () {
|
||||||
|
|
||||||
|
FUNCNAME="chroot_wrapper"
|
||||||
|
|
||||||
local ARCHSUFFIX="${1}"
|
local ARCHSUFFIX="${1}"
|
||||||
if [[ "${1}" == "64" ]];
|
if [[ "${1}" == "64" ]];
|
||||||
then
|
then
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function jenny_craig () {
|
function jenny_craig () {
|
||||||
|
|
||||||
|
FUNCNAME="jenny_craig"
|
||||||
|
|
||||||
BUILDDIR="${BUILDDIR_GLOB}"
|
BUILDDIR="${BUILDDIR_GLOB}"
|
||||||
if [[ "${1}" == "64" ]];
|
if [[ "${1}" == "64" ]];
|
||||||
then
|
then
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function centos_is_stupid {
|
function centos_is_stupid {
|
||||||
|
|
||||||
|
FUNCNAME="centos_is_stupid"
|
||||||
|
|
||||||
echo "Checking for appropriate kernel version and mksquashfs version..."
|
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')
|
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"-")
|
KERN_VER=$(uname -r | cut -f1 -d"-")
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function will_it_blend () {
|
function will_it_blend () {
|
||||||
|
|
||||||
|
FUNCNAME="will_it_blend"
|
||||||
|
|
||||||
local ARCHSUFFIX="${1}"
|
local ARCHSUFFIX="${1}"
|
||||||
if [[ "${1}" == "64" ]];
|
if [[ "${1}" == "64" ]];
|
||||||
then
|
then
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
function stuffy {
|
function stuffy {
|
||||||
|
|
||||||
|
FUNCNAME="stuffy"
|
||||||
|
|
||||||
cp -f ${BASEDIR}/VERSION_INFO.txt ${TEMPDIR}/.
|
cp -f ${BASEDIR}/VERSION_INFO.txt ${TEMPDIR}/.
|
||||||
|
|
||||||
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
if [[ "${I_AM_A_RACECAR}" == "y" ]];
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function yo_dj () {
|
function yo_dj () {
|
||||||
|
|
||||||
|
FUNCNAME="yo_dj"
|
||||||
|
|
||||||
ARCH="${1}"
|
ARCH="${1}"
|
||||||
echo "Building the actual .iso image. This may take a while."
|
echo "Building the actual .iso image. This may take a while."
|
||||||
#im_batman ## WHYTF IS THIS HERE?!
|
#im_batman ## WHYTF IS THIS HERE?!
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
function mentos {
|
function mentos {
|
||||||
|
|
||||||
|
FUNCNAME="mentos"
|
||||||
|
|
||||||
# Freshen up the chroots to git's HEAD. Package lists, overlay, etc.
|
# Freshen up the chroots to git's HEAD. Package lists, overlay, etc.
|
||||||
sed -i -e '/base-devel/d ; /multilib-devel/d' ${BASEDIR}/extra/packages.*
|
sed -i -e '/base-devel/d ; /multilib-devel/d' ${BASEDIR}/extra/packages.*
|
||||||
# both
|
# both
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
NAME='Antergos'
|
NAME='Antergos'
|
||||||
SUPPORTED='yes'
|
SUPPORTED='yes'
|
||||||
CHECK_METHOD='egrep "^NAME=\"Antergos Linux\"" /etc/os-release'
|
CHECK_METHOD='egrep "^NAME=\"Antergos Linux\"$" /etc/os-release'
|
||||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||||
PRE_RUN='pacman -Syyy'
|
PRE_RUN='pacman -Syyy'
|
||||||
PKG_CHK='pacman -Q ${pkgname}'
|
PKG_CHK='pacman -Q ${pkgname}'
|
||||||
URL='http://antergos.com/'
|
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'
|
NAME='Arch'
|
||||||
SUPPORTED='yes'
|
SUPPORTED='yes'
|
||||||
CHECK_METHOD='egrep "^NAME=\"Arch Linux\"" /etc/os-release'
|
CHECK_METHOD='egrep "^NAME=\"Arch Linux\"$" /etc/os-release'
|
||||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||||
PRE_RUN='pacman -Syyy'
|
PRE_RUN='pacman -Syyy'
|
||||||
PKG_CHK='pacman -Q ${pkgname}'
|
PKG_CHK='pacman -Q ${pkgname}'
|
||||||
URL='https://www.archlinux.org/'
|
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'
|
NAME='Debian'
|
||||||
SUPPORTED='yes'
|
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}'
|
PKG_MGR='apt-get -y install ${pkgname}'
|
||||||
PRE_RUN='apt-get update'
|
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/'
|
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}
|
<basedir>/lib/prereqs/<Distro>/{meta,pkgs}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
NAME='Manjaro'
|
NAME='Manjaro'
|
||||||
SUPPORTED='yes'
|
SUPPORTED='yes'
|
||||||
CHECK_METHOD='egrep "^NAME=\"Manjaro Linux\"" /etc/os-release'
|
CHECK_METHOD='egrep "^NAME=\"Manjaro Linux\"$" /etc/os-release'
|
||||||
PKG_MGR='pacman --noconfirm -S ${pkgname}'
|
PKG_MGR='pacman -S --needed --noconfirm ${pkgname}'
|
||||||
PRE_RUN='pacman -Syyyu'
|
PRE_RUN='pacman -Syyyu'
|
||||||
PKG_CHK='pacman -Q ${pkgname}'
|
PKG_CHK='pacman -Q ${pkgname}'
|
||||||
URL='https://manjaro.org/'
|
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'
|
NAME='SUSE'
|
||||||
SUPPORTED=
|
SUPPORTED='yes'
|
||||||
# Both SLED and SLES. We can probably safely combine them.
|
# Both SLED and SLES. We can probably safely combine them.
|
||||||
CHECK_METHOD='egrep "^NAME=\"SLE(D|S)\"" /etc/os-release'
|
CHECK_METHOD='egrep "^NAME=\"SLE(D|S)\"$" /etc/os-release'
|
||||||
PKG_MGR='zypper install -l ${pkgname}'
|
PKG_MGR='zypper install --no-confirm -l ${pkgname}'
|
||||||
PRE_RUN='none'
|
PRE_RUN='zypper refresh'
|
||||||
PKG_CHK='rpm -q ${pkgname} | egrep "^${pkgname}-[0-9]"'
|
PKG_CHK='rpm -q ${pkgname} | egrep "^${pkgname}-[0-9]"'
|
||||||
URL='https://www.suse.com/'
|
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'
|
NAME='openSUSE'
|
||||||
SUPPORTED='yes'
|
SUPPORTED='yes'
|
||||||
CHECK_METHOD=''
|
# Default doesn't have the quotes around the value, but I have a feeling that's a bug that will get "fixed" soon.
|
||||||
PKG_MGR=''
|
CHECK_METHOD='egrep "^NAME=\"?openSUSE\"?$" /etc/os-release'
|
||||||
PRE_RUN=''
|
PKG_MGR='zypper install --no-confirm -l ${pkgname}'
|
||||||
PKG_CHK=''
|
PRE_RUN='zypper refresh'
|
||||||
|
PKG_CHK='rpm -q ${pkgname} | egrep "^${pkgname}-[0-9]"'
|
||||||
URL='https://www.opensuse.org/'
|
URL='https://www.opensuse.org/'
|
||||||
|
Loading…
Reference in New Issue
Block a user