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:
brent s. 2015-07-15 03:26:34 -04:00
parent 0153d38a33
commit 7fb6e77c32
34 changed files with 127 additions and 19 deletions

1
LICENSE Symbolic link
View File

@ -0,0 +1 @@
COPYING

4
TODO
View File

@ -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 ##


View File

@ -4,6 +4,9 @@ build() {
add_runscript

add_binary curl

add_full_dir /etc/ssl
add_full_dir /etc/ca-certificates
}

help() {

View File

@ -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..."

View File

@ -1,5 +1,7 @@
function holla_atcha_boi {

FUNCNAME="holla_atcha_boi"

if [[ "${I_AM_A_RACECAR}" == "y" ]];
then
RACECAR_CHK='nice -n -19 '

View File

@ -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?

View File

@ -1,4 +1,7 @@
function facehugger () {

FUNCNAME="facehugger"

local ARCHSUFFIX="${1}"
if [[ "${1}" == "64" ]];
then

View File

@ -1,4 +1,7 @@
function chroot_wrapper () {

FUNCNAME="chroot_wrapper"

local ARCHSUFFIX="${1}"
if [[ "${1}" == "64" ]];
then

View File

@ -1,4 +1,7 @@
function jenny_craig () {

FUNCNAME="jenny_craig"

BUILDDIR="${BUILDDIR_GLOB}"
if [[ "${1}" == "64" ]];
then

View File

@ -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"-")

View File

@ -1,4 +1,7 @@
function will_it_blend () {

FUNCNAME="will_it_blend"

local ARCHSUFFIX="${1}"
if [[ "${1}" == "64" ]];
then

View File

@ -1,5 +1,7 @@
function stuffy {

FUNCNAME="stuffy"

cp -f ${BASEDIR}/VERSION_INFO.txt ${TEMPDIR}/.

if [[ "${I_AM_A_RACECAR}" == "y" ]];

View File

@ -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?!

View File

@ -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

View File

@ -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
View File

@ -0,0 +1 @@
../Arch/pkgs

View File

@ -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/'

View File

@ -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
View File

@ -0,0 +1 @@
../RHEL/pkgs

View File

@ -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/'

View File

@ -0,0 +1,10 @@
git
curl
dosfstools
libisoburn1
lynx
rsync
sed
squashfs-tools
xorriso
xz-utils

7
lib/prereqs/Devuan/meta Normal file
View 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
View File

@ -0,0 +1 @@
../Debian/pkgs

View File

@ -0,0 +1,9 @@
git
curl
libisofs
lynx
rsync
sed
squashfs-tools
xorriso
xz

View File

@ -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}


View File

@ -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
View File

@ -0,0 +1 @@
../Arch/pkgs

View File

1
lib/prereqs/Mint/pkgs Symbolic link
View File

@ -0,0 +1 @@
../Ubuntu/pkgs

View File

@ -0,0 +1,9 @@
git
curl
libisofs
lynx
rsync
sed
squashfs-tools
xorriso
xz

View File

@ -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/'

View File

1
lib/prereqs/SUSE/pkgs Symbolic link
View File

@ -0,0 +1 @@
../openSUSE/pkgs

View File

@ -0,0 +1,10 @@
git
curl
dosfstools
libisoburn1
lynx
rsync
sed
squashfs-tools
xorriso
xz-utils

1
lib/prereqs/iso.pkgs.lst Normal file
View File

@ -0,0 +1 @@
syslinux

View File

@ -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/'