/iso/build_alcasar_iso.sh |
---|
File deleted |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
Deleted: svn:executable |
-* |
\ No newline at end of property |
/iso/minimal-rpm-list |
---|
File deleted |
/iso/procedure-iso_v2.3.odt |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/iso/README.md |
---|
0,0 → 1,39 |
Mageiar ISO builder |
=================== |
Goal |
---- |
The goal here is to create a minimalist ISO image of Mageia-Linux with the ALCASAR archive and all its RPM dependencies. |
How it works |
------------ |
The script uses an official Mageia docker image to retrieve a recursive list of dependecies that are downloaded and packaged in the installation ISO. ALCASAR dependencies list, as well as its kernel version, are retrieved from the ALCASAR tarball archive. |
Once the ISO is done, one can boot on it and install the OS normally. The dependencies are installed along the basesystem packages, which means that the Alcasar installer will only download updates. |
What it needs |
------------- |
The script can be provided with both the Alcasar tarball archive as well as the Mageia ISO image. |
The Alcasar archive can be given in argument using the `-a` option. Otherwise it will be downloaded automatically in its latest version. |
The Mageia ISO image is to be placed in the `ressources` directory. |
If Mageia image has been provided, it will be downloaded in the docker. |
This is because the version has to match the one in the docker |
The script's only dependency is the docker service and iptables ("urpmi iptables,docker"). All other dependencies, such as the RPM and ISO tools, will be installed within the docker. |
How to use |
---------- |
Usage : buildMageiar [-a alcasar.tar.gz] |
What can be done |
---------------- |
The ISO image seems to be already as light as it can be. With all the necessary packages, it weighs around 800Mo. |
Here is a list of interesting functionnalities: |
- Use DrakX to install and configure Alcasar graphically |
/iso/buildMageiar.sh |
---|
0,0 → 1,109 |
#!/bin/bash |
####################### |
###### Variables ###### |
################################################################################ |
# Script variables |
CURRENT_DIR="$(readlink -f "$(dirname $0)")" |
RESSOURCES="$CURRENT_DIR/ressources" |
SCRIPTS_DIR="$CURRENT_DIR/scripts" |
SCRIPTS_TMP_DIR="$CURRENT_DIR/scripts_tmp" |
BUILDER_SCRIPT="build-image.sh" |
LOG_FILE="${CURRENT_DIR}/mageiarBuilder.log" |
####################### |
###### Functions ###### |
################################################################################ |
# Print the given error message and exit 1 |
function errorExit() |
{ |
tput bold |
echo -e "ERROR : $1 \nAborting\n" >&2 |
echo "$1" > "$LOG_FILE" |
tput sgr0 |
exit 1 |
} |
#------------------------------------------------------------------------------- |
function printBold() |
{ |
tput bold 2>/dev/null |
echo $1 |
tput sgr0 2>/dev/null |
} |
####################### |
###### Main ###### |
################################################################################ |
# Check root |
[[ $(whoami) != 'root' ]] && errorExit 'Please run as root' |
# Check options |
while getopts "a:h" option; do |
case $option in |
a) # Alcasar image |
alcasarTar="$(echo $OPTARG | rev | cut -d '/' -f 1 | rev)" |
[[ ! -f "$OPTARG" ]] && errorExit "could not find $OPTARG" |
# Copy the image in the ressource directory to be accessible from the docker |
printBold "Copying $OPTARG" in $RESSOURCES |
rsync -usP "$OPTARG" "$RESSOURCES/$alcasarTar" || \ |
errorExit "could not copy $OPTARG to $RESSOURCES" |
;; |
*) |
echo "Usage : buildMageiar [-a alcasar.tar.gz]" |
exit 1 |
;; |
esac |
done |
# Check if auto_inst.cfg.pl is present |
[[ ! -f "$RESSOURCES/auto_inst.cfg.pl_template" ]] && errorExit "No auto_inst.cfg.pl_template file in $RESSOURCES" |
#------------------------------------------------------------------------------- |
# If needed, download Alcasar image |
#------------------------------------------------------------------------------- |
if [[ -z $alcasarTar ]]; then |
latestAlcasarVersion="-$(dig version.alcasar.net txt | \ |
grep "ANSWER SECTION" -A 1 | \ |
grep version | cut -d '"' -f2 || \ |
errorExit "could not retrieve Alcasar latest version")" |
alcasarTar="alcasar$latestAlcasarVersion.tar.gz" |
printBold "Downloading Alcasar image" |
wget -O "$RESSOURCES/$alcasarTar" "ftp.alcasar.net:/pub/stable/$alcasarTar" || errorExit 'could not download Alcasar' |
fi |
# |
# If Mageia image isn't provided here, it will be downloaded in the docker. |
# This is because the version has to match the one in the docker |
# |
#------------------------------------------------------------------------------- |
# Run docker image |
#------------------------------------------------------------------------------- |
systemctl start docker || errorExit 'could not start docker service' |
# Copy script folder to temporary one |
cp -r "$SCRIPTS_DIR" "$SCRIPTS_TMP_DIR" |
printBold "Running mageia docker" |
docker run --privileged --rm --volume "$RESSOURCES":/var/iso --volume "$SCRIPTS_TMP_DIR":/root/ -it mageia "/root/$BUILDER_SCRIPT" "$alcasarTar" |
[[ -d "$SCRIPTS_TMP_DIR" ]] && rm -Rf "$SCRIPTS_TMP_DIR" 2>/dev/null |
# Retrieve created iso image |
mv "$RESSOURCES"/Mageia*Alcasar* "$CURRENT_DIR" 2>/dev/null |
# Give it to SUDO_USER if exists |
[[ ! -z $SUDO_USER ]] && chown -R $SUDO_USER "$CURRENT_DIR"/* 2>/dev/null |
#------------------------------------------------------------------------------- |
# Stopping |
#------------------------------------------------------------------------------- |
read -p 'Stop docker service ? [Y/n] : ' ynAnswer |
[[ ! $ynAnswer = [nN] ]] && systemctl stop docker |
#------------------------------------------------------------------------------- |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/iso/old/build_alcasar_iso.sh |
---|
0,0 → 1,326 |
#!/bin/bash |
# |
# Authors: Mageia Team |
# Update for ALCASAR : Hamza ESSAYEGH (Querdos) - Rexy - Laurent Roux |
## |
# Usage: $0 ARGS |
# --iso-file, -i Mageia-xxx-xxxxxx-xxx.iso (mandatory) |
# --lang, -l Language for installation (optional) |
# Supported languages: fr;en |
# |
function print_percentage() { |
local percent=$1 |
if [ ${percent} -lt 5 ]; then |
echo -ne "Downloading... [ ] ${percent}%\r" |
elif [ ${percent} -lt 10 ]; then |
echo -ne "Downloading... [ # ] ${percent}%\r" |
elif [ ${percent} -lt 15 ]; then |
echo -ne "Downloading... [ ## ] ${percent}%\r" |
elif [ ${percent} -lt 20 ]; then |
echo -ne "Downloading... [ ### ] ${percent}%\r" |
elif [ ${percent} -lt 25 ]; then |
echo -ne "Downloading... [ #### ] ${percent}%\r" |
elif [ ${percent} -lt 30 ]; then |
echo -ne "Downloading... [ ##### ] ${percent}%\r" |
elif [ ${percent} -lt 35 ]; then |
echo -ne "Downloading... [ ###### ] ${percent}%\r" |
elif [ ${percent} -lt 40 ]; then |
echo -ne "Downloading... [ ####### ] ${percent}%\r" |
elif [ ${percent} -lt 45 ]; then |
echo -ne "Downloading... [ ######## ] ${percent}%\r" |
elif [ ${percent} -lt 50 ]; then |
echo -ne "Downloading... [ ######### ] ${percent}%\r" |
elif [ ${percent} -lt 55 ]; then |
echo -ne "Downloading... [ ########## ] ${percent}%\r" |
elif [ ${percent} -lt 60 ]; then |
echo -ne "Downloading... [ ########### ] ${percent}%\r" |
elif [ ${percent} -lt 65 ]; then |
echo -ne "Downloading... [ ############ ] ${percent}%\r" |
elif [ ${percent} -lt 70 ]; then |
echo -ne "Downloading... [ ############# ] ${percent}%\r" |
elif [ ${percent} -lt 75 ]; then |
echo -ne "Downloading... [ ############## ] ${percent}%\r" |
elif [ ${percent} -lt 80 ]; then |
echo -ne "Downloading... [ ############### ] ${percent}%\r" |
elif [ ${percent} -lt 85 ]; then |
echo -ne "Downloading... [ ################ ] ${percent}%\r" |
elif [ ${percent} -lt 90 ]; then |
echo -ne "Downloading... [ ################# ] ${percent}%\r" |
elif [ ${percent} -lt 95 ]; then |
echo -ne "Downloading... [ ################## ] ${percent}%\r" |
elif [ ${percent} -lt 100 ]; then |
echo -ne "Downloading... [ ################### ] ${percent}%\r" |
elif [ ${percent} == 100 ]; then |
echo -ne "Downloading... [ #################### ] ${percent}%\r" |
fi |
} |
# Check if a given option is valid an set a global var with the option value |
function optionIsValid() { |
# Retrieving option and its value |
local option=$1 |
local value=$2 |
# Available options (short and long) |
local isoFileOption="--iso-file -i" |
local langOption="--lang -l" |
# Iso file option ? |
for opt in ${isoFileOption}; do |
if [[ ${opt} = ${option} ]]; then |
isoFile=${value} |
return 0 |
fi |
done |
# Language option ? |
for opt in ${langOption}; do |
if [[ ${opt} = ${option} ]]; then |
lang="-${value}" |
return 0 |
fi |
done |
# Unknown option |
echo "Unknown option '${option}'. Aborting." && exit 1 |
} |
# Check if needed packages are installed |
function requiredPackagesInstalled() { |
# Checking mkisofs |
command -v genisoimage > /dev/null 2>&1 || \ |
{ echo "The package genisoimage is not installed." && \ |
genisoimageNotInstalled=1; } |
# Checking genhdlist2 |
command -v genhdlist2 > /dev/null 2>&1 || \ |
{ echo "The package genhdlist2 is not installed." && \ |
genhdlist2NotInstalled=1; } |
# Checking gendistrib |
command -v gendistrib > /dev/null 2>&1 || \ |
{ echo "The package gendistrib is not installed (rpmtools)." && \ |
gendistribNotInstalled=1; } |
# If one of the following, aborting |
[[ ${genisoimageNotInstalled} -eq 1 ]] || \ |
[[ ${genhdlist2NotInstalled} -eq 1 ]] || \ |
[[ ${gendistribNotInstalled} -eq 1 ]] && exit 1 |
} |
# Check if a given language is supported by this script or not |
function languageIsSupported() { |
local lang=$1 |
local supportedLang="fr en" |
# Comparing with available langs |
for supLang in ${supportedLang}; do |
if [[ ${supLang} = ${lang} ]]; then |
return 0 |
fi |
done |
# Language is not supported |
echo "Language '${lang}' is not supported. Aborting." && exit 1 |
} |
# "Purify" the rpm name -> for the plop.idx file ("Mageia-5.1-x86_64 rpmname" for example) |
function purifyRpmName() { |
local str=$1 |
local arch=$2 |
local len=${#str} |
p=`echo ${str} | grep -oP ".*\.mga6"` |
echo "Mageia-6-${arch} ${p}" |
} |
################################# |
# BEGIN HERE # |
################################# |
# Checking arguments (rpm_list and iso file and eventually lang) |
[[ ($# -lt 1) || ($# -gt 2) ]] && echo \ |
"Usage: $0 ARGS |
--iso-file, -i Mageia-xxx-xxxxxx-xxx.iso (mandatory) |
--lang, -l Language for installation (optional) |
Supported languages: fr;en |
" && exit 1 |
# Checking options |
optionIsValid $1 $2 |
# Checking that mandatory option have been specified |
[[ -z ${isoFile} ]] && { echo "Iso file option is mandatory. Aborting." && exit 1; } |
# Checking validity of options |
[[ -f ${isoFile} ]] || { echo "Invalid iso file. Aborting." && exit 1; } |
# Checking that executed as root |
[[ $(whoami) != "root" ]] && \ |
{ echo "This script must be executed with root privileges. Aborting." && exit 1; } |
# Checking required packages |
requiredPackagesInstalled |
# Directories |
actualDir=$(pwd) |
RPMS_DIR=$(pwd)"/rpms" |
[[ -d ${RPMS_DIR} ]] && rm -rf ${RPMS_DIR} |
mkdir ${RPMS_DIR} |
# Retreiving rpm_lists |
rpm_need_by_alcasar=`rpm -qa` |
rpm_need_by_mageia=`cat minimal-rpm-list` |
# official and new dirs |
mageiaNewDir=/tmp/mageia_new |
mageiaOfficialDir=/tmp/mageia_official |
# Mounting the image |
echo "Mounting the image..." |
[[ ! -d ${mageiaOfficialDir} ]] && mkdir ${mageiaOfficialDir} |
mount -o ro,loop ${isoFile} ${mageiaOfficialDir} || { echo "Failed mounting '${isoFile}'. Aborting." && exit 1; } |
# Checking architecture |
[[ -d ${mageiaOfficialDir}/x86_64 ]] && arch=x86_64 || arch=i586 |
# Creating new directory that will contains the "cleared" iso image |
[[ -d ${mageiaNewDir} ]] && rm -rf ${mageiaNewDir} |
mkdir ${mageiaNewDir} |
# Copying main files except core and nonfree directories |
echo "Extracting base image..." |
cd $mageiaOfficialDir && \ |
tar cf - --exclude=${arch}/media . | (cd $mageiaNewDir && tar xf - ) && cd "${actualDir}" |
# Creating new directories core and nonfree and dir for alcasar stufs |
mkdir -p ${mageiaNewDir}/${arch}/{media/{core,nonfree},install/alcasar} |
# Retrieving core and nonfree dirs (official) |
coreDir=${mageiaOfficialDir}/${arch}/media/core |
nonFreeDir=${mageiaOfficialDir}/${arch}/media/nonfree |
# Retrieving core and nonfree dirs (new) |
coreDirNew=${mageiaNewDir}/${arch}/media/core/ |
nonFreeDirNew=${mageiaNewDir}/${arch}/media/nonfree |
plopFilePath=${mageiaNewDir}/${arch}/media/plop.idx |
# Initializing counts |
count=0 |
countCore=0 |
countNonFree=0 |
# Copying the RPM in core and nonfree and clearing the plop.idx file |
echo "Copying RPMS in ISO ..." |
> ${plopFilePath} |
total=`echo $rpm_need_by_mageia | wc -w` |
# Selecting & copying of rpm need by Mageia |
for rpm in ${rpm_need_by_mageia}; do |
let percent="${count} * 100 / ${total}" |
print_percentage ${percent} |
# Retreiving output of ls in directories |
fileInCore=$(ls ${coreDir} | grep "^${rpm}") |
fileInNonFree=$(ls ${nonFreeDir} | grep "^${rpm}") |
# If present in core, copying in core_new |
if [[ ! -z ${fileInCore} ]]; then |
# Copying RPM |
cp "${coreDir}/${fileInCore}" ${coreDirNew} |
countCore=$(expr ${countCore} + 1) |
# Updating the plop.idx |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath} |
# if present in nonfree, copying in nonfree_new |
elif [[ ! -z ${fileInNonFree} ]]; then |
# Copying RPM |
cp "${nonFreeDir}/${fileInNonFree}" ${nonFreeDirNew} |
countNonFree=$(expr ${countNonFree} + 1) |
# Updating the plop.idx |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath} |
else |
echo "$rpm not found" |
fi |
count=$(expr ${count} + 1) |
done |
# Sorting the plop file alphabetically |
cat ${plopFilePath} | sort > /tmp/tmpFileMageia && mv /tmp/tmpFileMageia ${plopFilePath} |
# Informations |
echo "$count RPMs copied (${countCore} from core and ${countNonFree} from nonfree)" |
echo "Hit a Key to download complemmentary RPMs" |
read a |
# Dowloading additionnal RPM |
count=0 |
total=`echo $rpm_need_by_alcasar | wc -w` |
# Selecting & copying of rpm need by alcasar |
for rpm in ${rpm_need_by_alcasar}; do |
let percent="${count} * 100 / ${total}" |
print_percentage ${percent} |
# Retreiving output of ls in directories |
fileInCore=$(ls ${coreDir} | grep "^${rpm}") |
fileInNonFree=$(ls ${nonFreeDir} | grep "^${rpm}") |
# Download complementary RPMS (that aren't in core nor in nonfree) |
if [ -z ${fileInCore} ] && [ -z ${fileInNonFree} ]; then |
url=$(urpmq --ignorearch --sources ${rpm} | grep 'updates\|release' | uniq) |
wget -P "${RPMS_DIR}" "${url}" --quiet |
short_name=`rpm -q $rpm --qf "%{NAME}\n"` |
fi |
count=$(expr ${count} + 1) |
done |
$lcd=`pwd` |
cd ${RPMS_DIR} |
tar -cvf ${mageiaNewDir}/${arch}/install/alcasar/alcasar.tar ${RPMS_DIR}/ |
cd $lcd |
# Informations |
echo "$count complementary RPMs copied" |
echo "Hit a Key to create the ISO file" |
read a |
# Copying customized files |
echo "Copying customized files..." |
### only if we want to change the normal install procedure ### |
#cp ${actualDir}/config/first_login ${mageiaNewDir}/${arch}/install/alcasar |
#cp ${actualDir}/config/auto_inst-${arch}${lang}.cfg.pl ${mageiaNewDir}/${arch}/install/alcasar/auto_inst-${arch}.cfg.pl |
#cp -f ${actualDir}"/config/isolinux-x86_64.cfg" ${mageiaNewDir}/isolinux/isolinux.cfg |
# Generating media info for core |
echo "Generating media_info for core..." |
genhdlist2 ${coreDirNew} --allow-empty-media --quiet |
echo "Generating media_info for nonfree..." |
genhdlist2 ${nonFreeDirNew} --allow-empty-media --quiet |
# Puting pubkeys in media_info |
cp ${coreDir}/media_info/pubkey ${coreDirNew}/media_info/ |
cp ${nonFreeDir}/media_info/pubkey ${nonFreeDirNew}/media_info/ |
# Retrieving media.cfg & compssUsers.pl depending on the arch |
mkdir ${mageiaNewDir}/${arch}/media/media_info |
cp ${mageiaOfficialDir}/${arch}/media/media_info/compssUsers.pl ${mageiaNewDir}/${arch}/media/media_info/compssUsers.pl |
cp ${mageiaOfficialDir}/${arch}/media/media_info/media.cfg ${mageiaNewDir}/${arch}/media/media_info/media.cfg |
# Generating distr |
echo "Generating mirror tree..." |
gendistrib -s ${mageiaNewDir}/${arch} |
# Creating the new iso file |
echo "Creating the isofile..." |
newIsoName=Mageia-6-${arch}${lang}-Alcasar.iso |
cd ${mageiaNewDir} && genisoimage -quiet -o ${actualDir}/${newIsoName} \ |
-b isolinux/isolinux.bin \ |
-c boot.catalog \ |
-no-emul-boot -boot-load-size 4 \ |
-boot-info-table -J -R -V "Mageia-6 Alcasar (${arch})" . |
# Unmounting |
echo "Umounting..." |
umount ${mageiaOfficialDir} && rmdir ${mageiaOfficialDir} |
# Removing temporary dir |
rm -rf ${mageiaNewDir} |
# Setting same permissions as the initial image |
cd ${actualDir} |
chmod --reference=${isoFile} ${newIsoName} |
chown --reference=${isoFile} ${newIsoName} |
# Finished |
echo "Done." |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/iso/old/minimal-rpm-list |
---|
0,0 → 1,498 |
pkgconfig-0.29.1-3.mga6 |
run-parts-4.4-7.mga6 |
lib64xcursor1-1.1.14-6.mga6 |
glibc-2.22-25.mga6 |
grub2-common-2.02-0.git10463.8.mga6 |
lib64x11-xcb1-1.6.5-1.mga6 |
lib64xrandr2-1.5.1-1.mga6 |
lib64glapi0-17.1.4-1.mga6 |
lib64xi6-1.7.9-1.mga6 |
lib64drm_nouveau2-2.4.81-1.mga6 |
pango-1.40.6-1.mga6 |
lib64drm_intel1-2.4.81-1.mga6 |
lib64jbig1-2.1-4.mga6 |
lib64xcb1-1.12-2.mga6 |
atk1.0-common-2.24.0-1.mga6 |
lib64xcb-dri3_0-1.12-2.mga6 |
thai-data-0.1.26-1.mga6 |
lib64gmp10-6.1.2-1.mga6 |
gtk+3.0-3.22.16-1.mga6 |
libgcc1-5.4.0-5.mga6 |
lib64appindicator3_1-12.10.0-19.mga6 |
lib64xext6-1.3.3-4.mga6 |
perl-URI-1.710.0-2.mga6 |
lib64llvm3.9-3.9.1-6.mga6 |
lib64cairo-gir1.0-1.52.1-1.mga6 |
perl-base-5.22.3-3.mga6 |
perl-WWW-RobotRules-6.20.0-8.mga6 |
lib64ncursesw6-6.0-8.mga6 |
perl-HTTP-Cookies-6.10.0-10.mga6 |
lib64bzip2_1-1.0.6-10.mga6 |
rpm-4.13.0.1-3.mga6 |
info-install-6.1-1.mga6 |
perl-Math-Int64-0.540.0-2.mga6 |
perl-File-Sync-0.110.0-17.mga6 |
lib64fontconfig-gir2.0-1.52.1-1.mga6 |
lib64blkid1-2.28.2-2.mga6 |
perl-URPM-5.12-1.mga6 |
lib64sqlite3_0-3.17.0-2.mga6 |
perl-HTML-Parser-3.720.0-2.mga6 |
python3-pkg-resources-19.6.2-1.mga6 |
perl-Net-DBus-1.1.0-5.mga6 |
lib64python3.5-3.5.3-1.mga6 |
genhdlist2-7.00-6.mga6 |
lib64gpg-error0-1.24-1.mga6 |
perl-Filesys-Df-0.920.0-18.mga6 |
lib64audit1-2.7.7-1.mga6 |
perl-Locale-gettext-1.50.0-20.mga6 |
lib64systemd0-230-12.mga6 |
lib64secret1_0-0.18.5-2.mga6 |
lib64udev1-230-12.mga6 |
crda-3.18-5.mga6 |
lib64intl8-0.19.8.1-1.mga6 |
mageia-repos-pkgprefs-6-1.mga6 |
popt-data-1.16-13.mga6 |
libdrakx-net-2.32-1.mga6 |
lib64daemon0-0.14-10.mga6 |
lib64npth0-1.5-1.mga6 |
iputils-20161105-2.mga6 |
gnupg2-2.1.21-2.mga6 |
lib64ext2fs2-1.43.4-1.mga6 |
monitor-edid-3.1-8.mga6 |
lib64microhttpd12-0.9.55-1.mga6 |
mageia-repos-6-1.mga6 |
ifplugd-0.28-20.mga6 |
aria2-1.25.0-1.mga6 |
lib64cryptsetup4-1.7.5-1.mga6 |
libdrakx-kbd-mouse-x11-1.23-1.mga6 |
psmisc-22.21-7.mga6 |
coreutils-doc-8.25-3.mga6 |
kmod-24-2.mga6 |
python3-six-1.10.0-2.mga6 |
ethtool-4.8-1.mga6 |
lib64solv0-0.6.28-1.mga6 |
nss-myhostname-230-12.mga6 |
ipset-6.30-1.mga6 |
lib64talloc2-2.1.9-1.mga6 |
lib64usb-compat0.1_4-0.1.5-8.mga6 |
lib64tcb0-1.1-7.mga6 |
lib64ip4tc0-1.6.1-2.mga6 |
lib64gio2.0_0-2.52.2-2.mga6 |
lib64iptables12-1.6.1-2.mga6 |
lib64pytalloc-util2-2.1.9-1.mga6 |
btrfs-progs-4.9-2.mga6 |
lib64xml2_2-2.9.4-8.mga6 |
gnupg-1.4.21-1.mga6 |
lib64dbus1_3-1.10.16-1.mga6 |
cronie-1.5.1-1.mga6 |
systemd-units-230-12.mga6 |
logrotate-3.12.2-1.mga6 |
rpm-helper-0.24.17-4.mga6 |
bc-1.06.95-8.mga6 |
systemd-230-12.mga6 |
lib64gpm2-1.20.7-7.mga6 |
lib64cups2-2.2.3-2.mga6 |
ncurses-6.0-8.mga6 |
samba-common-4.6.5-1.mga6 |
vim-minimal-8.0.388-1.mga6 |
dmraid-1.0.0-0.rc16.22.mga6 |
python3-rpm-4.13.0.1-3.mga6 |
libnl3-config-3.3.0-1.mga6 |
python3-iniparse-0.4-14.mga6 |
lib64nl3_200-3.3.0-1.mga6 |
lib64lftp0-4.7.7-1.mga6 |
lib64gbm1-17.1.4-1.mga6 |
dnf-plugins-core-2.1.1-2.mga6 |
lib64usb1.0_0-1.0.21-1.mga6 |
dhcp-client-4.3.5-1.mga6 |
lib64magic1-5.25-5.mga6 |
ldetect-0.12.8-3.mga6 |
ldetect-lst-0.3.7-1.mga6 |
sudo-1.8.20p2-1.mga6 |
bzip2-1.0.6-10.mga6 |
cronie-anacron-1.5.1-1.mga6 |
lib64fontconfig1-2.12.1-2.mga6 |
acpid-2.0.28-1.mga6 |
lib64polkit1_0-0.113-6.mga6 |
dosfstools-4.1-1.mga6 |
drakxtools-backend-17.88-1.mga6 |
tmpwatch-2.11-6.mga6 |
sysfsutils-2.1.0-22.mga6 |
lib64colord2-1.3.4-1.mga6 |
lib64mesaegl1-17.1.4-1.mga6 |
lib64jpeg8-1.5.1-1.mga6 |
lib64jasper1-1.900.23-5.mga6 |
gpg-pubkey-80420f66-4d4fe123 |
lib64nss3-3.28.5-1.mga6 |
dash-static-0.5.9-1.mga6 |
lib64xtst6-1.2.3-1.mga6 |
setup-2.7.24-1.mga6 |
at-spi2-core-2.24.1-1.mga6 |
grep-3.0-1.mga6 |
lib64lua5.2-5.2.4-1.mga6 |
lib64pcre1-8.40-2.mga6 |
grub2-2.02-0.git10463.8.mga6 |
lib64zlib1-1.2.11-4.mga6 |
lib64wayland-cursor0-1.11.0-1.mga6 |
lib64xshmfence1-1.2-2.mga6 |
fuse-2.9.7-1.mga6 |
lib64expat1-2.2.1-1.mga6 |
lib64xinerama1-1.1.3-6.mga6 |
lib64acl1-2.2.52-7.mga6 |
lib64xkbcommon0-0.7.1-1.mga6 |
lib64drm_radeon1-2.4.81-1.mga6 |
glib2.0-common-2.52.2-2.mga6 |
lib64drm_amdgpu1-2.4.81-1.mga6 |
lib64harfbuzz0-1.3.2-5.mga6 |
lib64pciaccess0-0.13.5-1.mga6 |
lib64datrie1-0.2.10-1.mga6 |
lib64xau6-1.0.8-7.mga6 |
dbus-x11-1.10.16-1.mga6 |
lib64xdmcp6-1.1.2-5.mga6 |
lib64tiff5-4.0.8-3.mga6 |
lib64xcb-present0-1.12-2.mga6 |
lib64gdk_pixbuf2.0_0-2.36.6-1.mga6 |
lib64xcb-dri2_0-1.12-2.mga6 |
lib64atk1.0_0-2.24.0-1.mga6 |
lib64xcb-glx0-1.12-2.mga6 |
lib64epoxy0-1.4.1-1.mga6 |
lib64cap2-2.25-1.mga6 |
lib64thai0-0.1.26-1.mga6 |
coreutils-8.25-3.mga6 |
lib64gtk+3_0-3.22.16-1.mga6 |
libstdc++6-5.4.0-5.mga6 |
adwaita-icon-theme-3.24.0-1.mga6 |
lib64ncurses6-6.0-8.mga6 |
lib64dbusmenu-gtk3_4-16.04.1-1.20170109.1.mga6 |
lib64x11_6-1.6.5-1.mga6 |
mate-polkit-1.18.1-1.mga6 |
lib64xxf86vm1-1.1.4-2.mga6 |
perl-HTTP-Date-6.20.0-7.mga6 |
lib64xfixes3-5.0.3-1.mga6 |
perl-LWP-MediaTypes-6.20.0-7.mga6 |
lib64dri-drivers-17.1.4-1.mga6 |
perl-MDV-Packdrakeng-1.130.0-3.mga6 |
mesa-17.1.4-1.mga6 |
perl-Encode-Locale-1.50.0-3.mga6 |
lib64openssl-engines1.0.0-1.0.2l-1.mga6 |
perl-Net-HTTP-6.90.0-3.mga6 |
lib64gdbm4-1.12-1.mga6 |
perl-File-Listing-6.40.0-8.mga6 |
python-rpm-macros-3-4.mga6 |
perl-HTTP-Message-6.110.0-3.mga6 |
lib64readline6-6.3-9.mga6 |
perl-HTTP-Daemon-6.10.0-7.mga6 |
lib64db5.3-5.3.28-10.mga6 |
rpm-mageia-setup-2.20-9.mga6 |
xz-5.2.3-1.mga6 |
lib64sgutils2-1.42-1.mga6 |
sed-4.2.2-9.mga6 |
lib64atasmart4-0.19-8.mga6 |
python3-rpm-macros-3-4.mga6 |
lib64freetype-gir2.0-1.52.1-1.mga6 |
perl-MDK-Common-1.2.32-2.mga6 |
lib64atk-gir1.0-2.24.0-1.mga6 |
lib64uuid1-2.28.2-2.mga6 |
lib64pango-gir1.0-1.40.6-1.mga6 |
lib64sigsegv2-2.10-7.mga6 |
lib64rpmbuild7-4.13.0.1-3.mga6 |
lib64icu58-58.2-3.mga6 |
lib64gudev1.0_0-230-4.mga6 |
python-2.7.13-1.mga6 |
perl-HTML-Tagset-3.200.0-9.mga6 |
lib64python2.7-stdlib-2.7.13-1.mga6 |
perl-libwww-perl-6.150.0-2.mga6 |
python3-3.5.3-1.mga6 |
perl-XML-Twig-3.520.0-1.mga6 |
python3-pip-8.0.2-6.mga6 |
lib64gdk_pixbuf-gir2.0-2.36.6-1.mga6 |
lib64python3.5-stdlib-3.5.3-1.mga6 |
perl-Hal-Cdroms-0.40.0-3.mga6 |
libgpg-error-common-1.24-1.mga6 |
groff-1.22.3-1.mga6 |
lib64gcrypt20-1.7.8-1.mga6 |
drakx-kbd-mouse-x11-text-1.23-1.mga6 |
lib64cap-ng0-0.7.8-1.mga6 |
meta-task-6-1.mga6 |
lib64pam0-1.3.0-5.mga6 |
mageia-repos-keys-6-1.mga6 |
shadow-utils-4.4-1.mga6 |
lib64assuan0-2.4.3-1.mga6 |
diffutils-3.3-6.mga6 |
libsecret-tools-0.18.5-2.mga6 |
perl-Time-HiRes-1.973.300-1.mga6 |
perl-XML-NamespaceSupport-1.110.0-9.mga6 |
lib64avahi-common3-0.6.32-1.mga6 |
wireless-regdb-20170307-1.mga6 |
lib64devmapper1.02-1.02.137-1.mga6 |
perl-XML-SAX-0.990.0-9.mga6 |
lib64hogweed4-3.3-1.mga6 |
pinentry-1.0.0-2.mga6 |
p11-kit-0.23.2-2.mga6 |
perl-Net-Telnet-3.40.0-6.mga6 |
lib64popt0-1.16-13.mga6 |
iw-4.9-1.mga6 |
lib64tasn1_6-4.12-1.mga6 |
perl-Parse-EDID-1.0.6-5.mga6 |
openldap-2.4.45-2.mga6 |
perl-Curses-UI-0.960.900-9.mga6 |
lib64idn11-1.33-1.mga6 |
perl-Config-IniFiles-2.890.0-2.mga6 |
lib64verto1-0.2.6-6.mga6 |
lib64ksba8-1.3.5-1.mga6 |
e2fsprogs-1.43.4-1.mga6 |
lib64gpgme11-1.8.0-11.mga6 |
krb5-1.15.1-2.mga6 |
lib64x86_1-1.1-32.mga6 |
lib64gnutls30-3.5.13-1.mga6 |
perl-DelimMatch-1.60.0a-3.mga6 |
lib64krb53-1.15.1-2.mga6 |
lsb-release-2.0-52.mga6 |
lib64ldap2.4_2-2.4.45-2.mga6 |
mageia-release-common-6-4.mga6 |
chkconfig-1.10-1.mga6 |
lib64devmapper-event1.02-1.02.137-1.mga6 |
gawk-4.1.4-1.mga6 |
lib64nghttp2_14-1.9.2-1.mga6 |
lib64fdisk1-2.28.2-2.mga6 |
ifmetric-0.3-17.mga6 |
lib64kmod2-24-2.mga6 |
lib64procps6-3.3.12-1.mga6 |
kbd-2.0.3-1.mga6 |
lib64glib2.0_0-2.52.2-2.mga6 |
which-2.21-3.mga6 |
hostname-3.18-1.mga6 |
lib64tevent0-0.9.31-1.mga6 |
lib64ldb1-1.1.29-1.mga6 |
libuser-0.62-8.mga6 |
lib64dmraid1-1.0.0-0.rc16.22.mga6 |
gobject-introspection-1.52.1-1.mga6 |
pam_tcb-1.1-7.mga6 |
rootcerts-20170404.00-1.mga6 |
cracklib-dicts-2.9.6-5.mga6 |
lib64archive13-3.3.1-1.mga6 |
lib64curl4-7.54.1-2.mga6 |
dbus-1.10.16-1.mga6 |
procps-ng-3.3.12-1.mga6 |
net-tools-2.0-0.20150915git.4.mga6 |
tcb-1.1-7.mga6 |
pam-1.3.0-5.mga6 |
util-linux-2.28.2-2.mga6 |
dmsetup-1.02.137-1.mga6 |
lib64avahi-client3-0.6.32-1.mga6 |
lib64wbclient0-4.6.5-1.mga6 |
lib64kdc-samba4_2-4.6.5-1.mga6 |
lib64samba-dc0-4.6.5-1.mga6 |
dmraid-events-1.0.0-0.rc16.22.mga6 |
samba-client-4.6.5-1.mga6 |
perl-File-FnMatch-0.20.0-19.mga6 |
perl-String-ShellQuote-1.40.0-10.mga6 |
lib64wayland-server0-1.11.0-1.mga6 |
lib64nl-genl3_200-3.3.0-1.mga6 |
nmap-7.40-1.mga6 |
common-licenses-1.1-8.mga6 |
tar-1.29-3.mga6 |
rmt-0.4b46-1.mga6 |
dmidecode-3.1-1.mga6 |
file-5.25-5.mga6 |
gzip-1.8-1.mga6 |
dash-0.5.9-1.mga6 |
bridge-utils-1.6-1.mga6 |
lib64lcms2_2-2.8-2.mga6 |
lib64freetype6-2.7.1-2.mga6 |
fontconfig-2.12.1-2.mga6 |
lib64mozjs185_1.0-1.85-11.mga6 |
polkit-0.113-6.mga6 |
lib64ldetect0.12-0.12.8-3.mga6 |
bootloader-utils-1.16-6.mga6 |
lib64sysfs2-2.1.0-22.mga6 |
kernel-desktop-4.9.35-1.mga6-1-1.mga6 |
lib64gusb2-0.2.10-1.mga6 |
kernel-desktop-latest-4.9.35-1.mga6 |
lib64xft2-2.3.2-4.mga6 |
lib64xcb-render0-1.12-2.mga6 |
lib64xcb-shm0-1.12-2.mga6 |
lib64cairo2-1.14.10-1.mga6 |
hicolor-icon-theme-0.15-3.mga6 |
lib64cares2-1.13.0-1.mga6 |
urpmi-8.110-1.mga6 |
drakx-net-text-2.32-1.mga6 |
drakx-kbd-mouse-x11-1.23-1.mga6 |
curl-7.54.1-2.mga6 |
microcode_ctl-2.1-7.mga6 |
hawkey-man-0.9.2-1.mga6 |
cpupower-4.9.35-1.mga6 |
libsolv-tools-0.6.28-1.mga6 |
lib64nfnetlink0-1.0.1-7.mga6 |
lib64ipset3-6.30-1.mga6 |
lib64netfilter_conntrack3-1.0.6-1.mga6 |
lib64lzo2_2-2.09-4.mga6 |
lib64pipeline1-1.4.1-2.mga6 |
xdg-user-dirs-0.15-7.mga6 |
lib64ip6tc0-1.6.1-2.mga6 |
lib64btrfs0-4.9-2.mga6 |
dnf-conf-2.5.1-2.mga6 |
iptables-1.6.1-2.mga6 |
locales-fr-2.22-5.mga6 |
man-pages-4.10-1.mga6 |
python3-hawkey-0.9.2-1.mga6 |
lib64comps0-0.1.8-2.mga6 |
acpi-1.7-4.mga6 |
sharutils-4.15.2-2.mga6 |
lsof-4.89-2.mga6 |
libdrak3d-2.6-1.mga6 |
etcskel-1.63-34.mga6 |
hexedit-1.2.13-6.mga6 |
passwd-0.79-6.mga6 |
python3-cairo-1.13.2-1.mga6 |
lib64plymouth4-0.9.2-9.mga6 |
mtools-4.0.18-5.mga6 |
shorewall-core-5.0.15.6-1.mga6 |
timezone-2017b-1.mga6 |
python3-gobject3-3.24.1-1.mga6 |
dhcp-common-4.3.5-1.mga6 |
deltarpm-3.6.1-2.mga6 |
basesystem-minimal-6-0.4.mga6 |
python3-libcomps-0.1.8-2.mga6 |
python3-dnf-plugins-core-2.1.1-2.mga6 |
dnf-2.5.1-2.mga6 |
basesystem-6-0.4.mga6 |
python3-dbus-1.2.4-3.mga6 |
bash-completion-2.5-1.mga6 |
gpm-1.20.7-7.mga6 |
procmail-3.22-24.mga6 |
radeon-firmware-20170531-1.mga6.nonfree |
iwlwifi-agn-ucode-20170531-1.mga6.nonfree |
hdparm-9.52-1.mga6 |
ralink-firmware-20170531-1.mga6.nonfree |
strace-4.17-1.mga6 |
microcode-0.20170511-1.mga6.nonfree |
lib64glib-networking-gnutls-2.50.0-1.mga6 |
os-prober-1.74-3.mga6 |
numlock-2.1.2-12.mga6 |
grub2-mageia-theme-2.02-0.git10463.8.mga6 |
nss-3.28.5-1.mga6 |
libdrm-common-2.4.81-1.mga6 |
lib64atspi0-2.24.1-1.mga6 |
filesystem-2.1.9-28.mga6 |
lib64rpm7-4.13.0.1-3.mga6 |
lib64drm2-2.4.81-1.mga6 |
makedev-4.4-21.mga6 |
lib64attr1-2.4.47-7.mga6 |
lib64xcb-xkb1-1.12-2.mga6 |
lib64elfutils1-0.169-1.mga6 |
lib64graphite2_3-1.3.10-1.mga6 |
lib64ffi6-3.2.1-5.mga6 |
lib64xcomposite1-0.4.4-8.mga6 |
lib64bsd0-0.8.3-1.mga6 |
gdk-pixbuf2.0-2.36.6-1.mga6 |
lib64xcb-sync1-1.12-2.mga6 |
lib64atk-bridge2.0_0-2.24.1-1.mga6 |
lib64xcb-xfixes0-1.12-2.mga6 |
lib64pango1.0_0-1.40.6-1.mga6 |
lib64wayland-egl1-17.1.4-1.mga6 |
lib64indicator3_7-12.10.1-6.mga6 |
bash-4.3-48.3.mga6 |
ntfs-3g-2016.2.22-4.mga6 |
lib64xdamage1-1.1.4-8.mga6 |
lib64xlib-gir2.0-1.52.1-1.mga6 |
lib64mesagl1-17.1.4-1.mga6 |
lib64xft-gir2.0-1.52.1-1.mga6 |
lib64openssl1.0.0-1.0.2l-1.mga6 |
perl-IO-HTML-1.1.0-6.mga6 |
lib64lzma5-5.2.3-1.mga6 |
perl-HTTP-Negotiate-6.10.0-7.mga6 |
perl-5.22.3-3.mga6 |
groff-for-man-1.22.3-1.mga6 |
python2-rpm-macros-3-4.mga6 |
lib64dbus-glib1_2-0.108-2.mga6 |
multiarch-utils-1.0.13-7.mga6 |
lib64lvm2app2.2-2.02.168-1.mga6 |
icu58-data-58.2-3.mga6 |
udisks-1.0.5-8.mga6 |
lib64python2.7-2.7.13-1.mga6 |
perl-XML-Parser-2.440.0-5.mga6 |
python3-setuptools-19.6.2-1.mga6 |
lib64gtk-gir3.0-3.22.16-1.mga6 |
lib64dbnss5.3-5.3.28-10.mga6 |
perl-Time-ZoneInfo-0.300.0-8.mga6 |
lib64crack2-2.9.6-5.mga6 |
mandi-1.4-2.mga6 |
lib64pam_userpass1-1.0.2-13.mga6 |
libsecret-i18n-0.18.5-2.mga6 |
lib64mount1-2.28.2-2.mga6 |
perl-XML-SAX-Base-1.80.0-7.mga6 |
lib64nettle6-3.3-1.mga6 |
perl-XML-LibXML-2.12.900-1.mga6 |
lib64p11-kit0-0.23.2-2.mga6 |
perl-Term-ReadKey-2.330.0-4.mga6 |
traceroute-2.1.0-1.mga6 |
perl-Curses-1.340.0-2.mga6 |
lib64sasl2_3-2.1.26-12.mga6 |
perl-MDV-Distribconf-4.100.0-2.mga6 |
lib64fuse2-2.9.7-1.mga6 |
lib64repo0-1.7.20-2.mga6 |
lib64unistring2-0.9.7-1.mga6 |
perl-Libconf-0.42.10-12.mga6 |
iproute2-4.9.0-1.mga6 |
mageia-release-Default-6-4.mga6 |
gettext-base-0.19.8.1-1.mga6 |
drakxtools-curses-17.88-1.mga6 |
findutils-4.6.0-1.mga6 |
python3-librepo-1.7.20-2.mga6 |
lib64qrencode3-3.4.4-5.mga6 |
time-1.7-45.mga6 |
lib64smartcols1-2.28.2-2.mga6 |
lib64lvm2cmd2.02-2.02.168-1.mga6 |
elfutils-0.169-1.mga6 |
lib64mnl0-1.0.4-1.mga6 |
lib64lockdev1-1.0.4-0.120111007git.12.mga6 |
lib64dnf1-0.9.2-1.mga6 |
lib64tdb1-1.3.13-1.mga6 |
man-db-2.7.6.1-2.mga6 |
lib64user1-0.62-8.mga6 |
locales-2.22-5.mga6 |
lib64girepository1.0_1-1.52.1-1.mga6 |
mageia-dnf-conf-1.0-1.mga6 |
kpartx-0.5.0-5.mga6 |
xdg-user-dirs-gtk-0.10-5.mga6 |
lib64ssh2_1-1.7.0-2.mga6 |
mandi-ifw-1.4-2.mga6 |
lockdev-1.0.4-0.120111007git.12.mga6 |
libutempter-1.1.6-5.mga6 |
resolvconf-1.79-1.mga6 |
sash-3.8-6.mga6 |
nss_tcb-1.1-7.mga6 |
crontabs-1.10-22.mga6 |
initscripts-9.55-24.mga6 |
info-6.1-1.mga6 |
lib64samba1-4.6.5-1.mga6 |
tree-1.7.0-4.mga6 |
lib64smbclient0-4.6.5-1.mga6 |
shorewall-5.0.15.6-1.mga6 |
lib64parted2-3.2-7.mga6 |
python3-gpg-1.8.0-11.mga6 |
lib64wayland-client0-1.11.0-1.mga6 |
rootfiles-11.0-14.mga6 |
lib64pcap1-1.8.1-1.mga6 |
python3-dnf-2.5.1-2.mga6 |
kernel-firmware-20170531-1.mga6 |
lftp-4.7.7-1.mga6 |
cpio-2.12-3.mga6 |
shorewall-ipv6-5.0.15.6-1.mga6 |
less-487-1.mga6 |
harddrake-17.88-1.mga6 |
lib64xrender1-0.9.10-1.mga6 |
rtlwifi-firmware-20170531-1.mga6.nonfree |
lib64png16_16-1.6.29-1.mga6 |
kernel-firmware-nonfree-20170531-1.mga6.nonfree |
lib64nspr4-4.15-2.mga6 |
plymouth-0.9.2-9.mga6 |
lib64pci3-3.5.4-1.mga6 |
lvm2-2.02.168-1.mga6 |
dracut-044-11.mga6 |
usbutils-008-2.mga6 |
lib64glib-gir2.0-1.52.1-1.mga6 |
accountsservice-0.6.45-1.mga6 |
lib64pixman1_0-0.34.0-1.mga6 |
lib64dbusmenu-glib4-16.04.1-1.20170109.1.mga6 |
/iso/old/procedure-iso_v2.3.odt |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/iso/ressources/auto_inst.cfg.pl_template |
---|
0,0 → 1,116 |
#!/usr/bin/perl -cw |
# |
# Configuration file written by : |
# * Hamza ESSAYEGH (Querdos) Laurent Roux |
# |
# /!\ Before putting this file in the iso, check the syntax with |
# `perl -cw auto_inst.cfg.pl` |
# /!\ The package list will be generated in the iso creation script |
$o = { |
# Interactive steps option |
# http://members.shaw.ca/mandrake/ -> section Replay Steps for |
# more informations |
'interactiveSteps' => [ |
# Select language(s) support to be installed. |
'selectLanguage', |
# Do partitionning, comment this if you want to automate this step |
'doPartitionDisks', |
# Select the desired keyboard. |
'selectKeyboard', |
# Allows you to Accept or Refuse the License Agreement. |
'acceptLicense', |
# Select the time zone, GMT/Local hardware clock and if you |
# want NTP installed. |
'summary', |
# ajouter des users |
'setRootPassword_addUser' |
], |
# Security level: |
# * 2 is for standard |
# * 3 for High |
# * 4 for Higher |
# * 5 for Paranoïd |
'security' => 2, |
# Authentication method |
'authentication' => { |
'shadow' => 1, |
'blowfish' => 1 |
}, |
# Default packages for the new distribution |
# The list will be filled by the iso creation script |
# Do not modify |
'default_packages' => [ |
], |
# Partitionning : control the partitioning of the target system's |
# hard disk drives |
'partitioning' => { |
# Set to 1 if disk partitions are to be defined by the |
# option partitions |
'auto_allocate' => 1, |
# 1: all the existing partitions on ALL disks are to be cleared |
# and replaced |
# 0: the disks are to be left untouched or, you are goeing to |
# use "clear" instead |
'clearall' => 1 |
}, |
'enabled_media' => [ |
'Core Release', |
'Nonfree Release' |
], |
# Post installation script, executed as root in the installed |
# environments and not inside the DrakX installation program |
'postInstallNonRooted' => " |
# Editing bashrc |
touch /mnt/root/.bash_history |
echo 'cd alcasar*' >> /mnt/root/.bash_history |
echo './alcasar.sh -i' >> /mnt/root/.bash_history |
# Copying Alcasar archive to the root directory |
tar -xf /tmp/media/x86_64/install/alcasar/alcasar-*.tar.gz -C /mnt/root/ |
# Allow root shell login |
rm -f /mnt/etc/securetty |
# Install server kernel |
urpmi --root /mnt/ --auto /tmp/media/x86_64/media/core/kernel-server-4*.rpm --no-verify-rpm |
# Lock kernel version (exclude from further updates) |
echo '/^kernel/' > /mnt/etc/urpmi/skip.list |
# Place ISO_INSTALL flag |
touch /mnt/root/iso_install |
", |
'postInstall' => " |
#sert à la syncro des DD en cas d'un RAID |
dracut -f -H |
#pour syncro horloge |
hwclock --systohc --utc |
", |
# Exit without prompt after installation is finished |
# 0 - prompt the installer to re-boot and wait |
# 1 - reboot the computer automatically |
'autoExitInstall' => 1 |
}; |
/iso/ressources/install_slideshow/02_IM_mageia.pl |
---|
0,0 → 1,0 |
$title = N("Make it yours!"); |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/iso/ressources/install_slideshow/02_IM_mageia.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/iso/ressources/install_slideshow/alcasar.pl |
---|
0,0 → 1,0 |
$title = N("Alcasar"); |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/iso/ressources/install_slideshow/alcasar.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/iso/ressources/install_slideshow/list |
---|
0,0 → 1,2 |
02_IM_mageia.png |
alcasar.png |
/iso/scripts/build-image.log |
---|
0,0 → 1,0 |
could not install necessary packages |
/iso/scripts/build-image.sh |
---|
0,0 → 1,243 |
#!/bin/bash |
# |
# Authors: Mageia Team |
# Update for ALCASAR : Hamza ESSAYEGH (Querdos) - Rexy - Laurent Roux - Aurelien Dubois |
## |
# Usage: $0 ARGS |
# --iso-file, -i Mageia-xxx-xxxxxx-xxx.iso (mandatory) |
# --lang, -l Language for installation (optional) |
# Supported languages: fr;en |
# |
####################### |
###### Variables ###### |
###############################################################################"" |
CURRENT_DIR="$(readlink -f "$(dirname $0)")" |
LOG_FILE="$CURRENT_DIR/build-image.log" |
# Mageia |
MAGEIA_VERSION=`cat /etc/release|cut -c 16` |
ARCH=`cat /etc/release|cut -c 33-38` |
MAGEIA_NEW_DIR=/tmp/mageia_new |
MAGEIA_OFFICIAL_DIR=/tmp/mageia_official |
# ISO file |
ISO_DIR="/var/iso" |
ISO_IN="$ISO_DIR/Mageia-$MAGEIA_VERSION-$ARCH-DVD.iso" |
# Drake installer |
INSTALLER_DIR="${MAGEIA_NEW_DIR}/${ARCH}/install/alcasar" |
AUTO_INSTALL_CFG="/var/iso/auto_inst.cfg.pl" |
ADVERT_DIR="${MAGEIA_NEW_DIR}/${ARCH}/install/extra/advertising" |
# Alcasar |
ALCASAR_TAR="$1" |
ALCASAR_EXTRACTED_DIR=$(echo $ALCASAR_TAR | rev | cut -d '.' -f 3- | rev) |
# Mirrors |
ISO_SUPPORT="http://ftp.free.fr/mirrors/mageia.org/iso/$MAGEIA_VERSION/Mageia-$MAGEIA_VERSION-$ARCH-DVD/Mageia-$MAGEIA_VERSION-$ARCH-DVD.iso" |
ISO_MD5="http://ftp.free.fr/mirrors/mageia.org/iso/$MAGEIA_VERSION/Mageia-$MAGEIA_VERSION-$ARCH-DVD/Mageia-$MAGEIA_VERSION-$ARCH-DVD.iso.md5" |
# RPMs |
RPM_DIR="/root/rpms" |
BASE_RPM_LIST="acpi acpid alsa-utils aoss arp-scan basesystem bash-completion coreutils-doc cpupower curl dhcp-client dmraid dnf dnf-plugins-core dosfstools dracut drakx-net-text gpm grub2 grub2-mageia-theme harddrake hdparm hexedit info iwlwifi-agn-ucode kernel-desktop-latest kernel-firmware kernel-firmware-nonfree ldetect lftp lib64alsa-plugins lib64glib-networking-gnutls locales-en locales-fr lsof lvm2 mageia-theme-Default man-db mandi-ifw man-pages microcode microcode_ctl mtools ntfs-3g numlock os-prober p11-kit perl-Hal-Cdroms plymouth procmail python3 python3-dbus radeon-firmware ralink-firmware rtlwifi-firmware sharutils shorewall-ipv6 strace sysfsutils tmpwatch tree vim-minimal vnstat xdg-user-dirs-gtk" |
####################### |
###### Functions ###### |
################################################################################ |
# Print the given error message and exit 1 |
function errorExit() |
{ |
tput bold |
echo -e "ERROR : $1 \nAborting\n" >&2 |
echo "$1" > "$LOG_FILE" |
tput sgr0 |
exit 1 |
} |
#------------------------------------------------------------------------------- |
# Print progress bar. $1 is a multiple of five |
function printProgress() |
{ |
local a |
let "a = $1 / 5" |
let "b = 25 - $a" |
progressStr=$(printf "%${a}s") |
progressStrBlanks=$(printf "%${b}s") |
echo -en "Downloading...$1% [${progressStr// /#}${progressStrBlanks// / }]\r" |
} |
#------------------------------------------------------------------------------- |
function printBold() |
{ |
tput bold 2>/dev/null |
echo $1 |
tput sgr0 2>/dev/null |
} |
####################### |
###### Main ###### |
################################################################################ |
# Retrieve list of Alcasar dependencies |
tar -xf /var/iso/$ALCASAR_TAR -C /tmp/ || errorExit "could not extract alcasar tar archive" |
alcasarRpmList="$(grep -oP "(?<=PACKAGES=\").*?(?=\")" /tmp/$ALCASAR_EXTRACTED_DIR/scripts/alcasar-urpmi.sh)" |
alcasarKernel="$(grep -oP "(?<=KERNEL=\").*?(?=\")" /tmp/$ALCASAR_EXTRACTED_DIR/scripts/alcasar-urpmi.sh)" |
alcasarRpmList="$alcasarRpmList $alcasarKernel" |
# Make clean rpm list |
rpmList=$(echo $BASE_RPM_LIST $alcasarRpmList | sed "s/ /\n/g" | sort | uniq | sed "s/\n/ /g") |
# Insert list into AUTO_INSTALL_CFG |
formattedList=$(echo $rpmList | sed "s/[^ ]*/\'\0\'/g" | sed "s/ /,\n/g" | sed "/kernel-server/d") |
cp "${AUTO_INSTALL_CFG}_template" "$AUTO_INSTALL_CFG" -f |
insertLineNumber=$(grep -n "'default_packages' => " "$AUTO_INSTALL_CFG" | cut -d ':' -f1) |
fileTop=$(head -n "+$insertLineNumber" "$AUTO_INSTALL_CFG") |
fileBottom=$(tail -n "+$insertLineNumber" "$AUTO_INSTALL_CFG" | tail -n +2) |
cat /dev/null > "$AUTO_INSTALL_CFG" |
echo "$fileTop" > "$AUTO_INSTALL_CFG" |
echo "$formattedList" >> "$AUTO_INSTALL_CFG" |
echo "$fileBottom" >> "$AUTO_INSTALL_CFG" |
# Installing tools to create the iso |
printBold "Installing necessary tools" |
dnf install 'dnf-command(download)' -y >/dev/null || errorExit "could not install necessary packages" |
dnf config-manager --set-enabled mageia-x86_64-nonfree updates-x86_64-nonfree >/dev/null || errorExit "could not install necessary packages" |
dnf install -y lftp wget cdrkit-genisoimage rpmtools >/dev/null || errorExit "could not install necessary packages" |
# Directories initialization |
#------------------------------------------------------------------------------- |
[[ ! -d "$RPM_DIR" ]] && mkdir -p "$RPM_DIR" |
# Beggining work on the ISO |
#------------------------------------------------------------------------------- |
# Checking the optional Mageia image. If not present or does not match the |
# docker's version, download it |
if [[ ! -f "$ISO_IN" ]]; then |
printBold "Downloading the Mageia iso" |
cd $ISO_DIR || errorExit "could not cd to $ISO_DIR" |
echo Installing lftp |
lftpget -c $ISO_SUPPORT || ( cd "$CURRENT_DIR" && errorExit "could not download Mageia iso" ) |
cd $CURRENT_DIR |
fi |
# Mounting the image |
printBold "Mounting the image" |
[[ ! -d "$MAGEIA_OFFICIAL_DIR" ]] && mkdir -p "$MAGEIA_OFFICIAL_DIR" |
mount -o ro,loop "$ISO_IN" "$MAGEIA_OFFICIAL_DIR" || errorExit "failed mounting $ISO_IN" |
# Checking ARCHitecture |
[[ -d ${MAGEIA_OFFICIAL_DIR}/x86_64 ]] && ARCH=x86_64 || ARCH=i586 |
# Creating new directory that will contains the "cleared" iso image |
[[ -d ${MAGEIA_NEW_DIR} ]] && rm -rf ${MAGEIA_NEW_DIR} |
mkdir ${MAGEIA_NEW_DIR} |
# Copying main files except core and nonfree directories |
echo "Extracting base image..." |
cd $MAGEIA_OFFICIAL_DIR && \ |
tar cf - --exclude=${ARCH}/media . | (cd $MAGEIA_NEW_DIR && tar xf - ) && cd "${CURRENT_DIR}" |
# Creating new directories core and nonfree and dir for alcasar stufs |
mkdir -p ${MAGEIA_NEW_DIR}/${ARCH}/{media/{core,nonfree},install/alcasar} |
# Adding Alcasar image advert to the installer |
cp -f /var/iso/install_slideshow/* "$ADVERT_DIR" |
# Retrieving core and nonfree dirs (official) |
coreDir=${MAGEIA_OFFICIAL_DIR}/${ARCH}/media/core |
nonFreeDir=${MAGEIA_OFFICIAL_DIR}/${ARCH}/media/nonfree |
# Retrieving core and nonfree dirs (new) |
coreDirNew=${MAGEIA_NEW_DIR}/${ARCH}/media/core/ |
nonFreeDirNew=${MAGEIA_NEW_DIR}/${ARCH}/media/nonfree |
plopFilePath=${MAGEIA_NEW_DIR}/${ARCH}/media/plop.idx |
# Initializing counts |
count=0 |
# Getting list of rpms needed by Mageia |
#mageiaRpms="$(cat $MINIMAL_rpmList)" |
# Copying the RPM in core and nonfree and clearing the plop.idx file |
echo "Copying RPMS in ISO ..." |
echo /dev/null > ${plopFilePath} |
installedList="$(dnf list installed | cut -d ' ' -f1 | rev | cut -d . -f2- | rev | tail -n +2 | tr '\n' ' ')" |
nbInstalled=$(echo $installedList | wc -w) |
rpmList="$installedList $BASE_RPM_LIST $alcasarRpmList" |
total=`echo $rpmList | wc -w` |
for rpm in ${rpmList}; do |
let percent="${count} * 100 / ${total}" |
if [[ $count -lt $nbInstalled ]] ; then |
dnf reinstall -y --downloadonly --downloaddir $coreDirNew $rpm 1> /dev/null || errorExit "could not download $rpm" |
else |
dnf install -y --downloadonly --downloaddir $coreDirNew $rpm 1> /dev/null || errorExit "could not download $rpm" |
fi |
printProgress ${percent} |
count=$(expr ${count} + 1) |
done |
# Sorting the plop file alphabetically |
cat ${plopFilePath} | sort > /tmp/tmpFileMageia && mv /tmp/tmpFileMageia ${plopFilePath} |
# Informations |
printBold "$count RPMs copied" |
# Downloading rpms needed by Alcasar |
cd "$CURRENT_DIR" |
printBold "Downloading Alcasar dependencies" |
tar -xf /var/iso/$ALCASAR_TAR |
# Copying the Alcasar tar to be put into the ISO |
cp /var/iso/$ALCASAR_TAR $INSTALLER_DIR/ |
# Add automatic install options |
mkdir -p $INSTALLER_DIR || errorExit "could not create directory $INSTALLER_DIR" |
cp $AUTO_INSTALL_CFG $INSTALLER_DIR || errorExit "could not copy $AUTO_INSTALL_CFG to $INSTALLER_DIR" |
# Generating media info for core |
echo "Generating media_info for core..." |
genhdlist2 ${coreDirNew} --allow-empty-media --quiet |
echo "Generating media_info for nonfree..." |
genhdlist2 ${nonFreeDirNew} --allow-empty-media --quiet |
# Puting pubkeys in media_info |
cp ${coreDir}/media_info/pubkey ${coreDirNew}/media_info/ |
cp ${nonFreeDir}/media_info/pubkey ${nonFreeDirNew}/media_info/ |
# Retrieving media.cfg & compssUsers.pl depending on the arch |
mkdir ${MAGEIA_NEW_DIR}/${ARCH}/media/media_info |
cp ${MAGEIA_OFFICIAL_DIR}/${ARCH}/media/media_info/compssUsers.pl ${MAGEIA_NEW_DIR}/${ARCH}/media/media_info/compssUsers.pl |
cp ${MAGEIA_OFFICIAL_DIR}/${ARCH}/media/media_info/media.cfg ${MAGEIA_NEW_DIR}/${ARCH}/media/media_info/media.cfg |
# Specify install configuration |
sed -i -e 's*rdz*rdz kickstart=/tmp/media/x86_64/install/alcasar/auto_inst.cfg.pl*g' ${MAGEIA_NEW_DIR}/isolinux/isolinux.cfg |
# Generating distr |
echo "Generating mirror tree..." |
gendistrib -s ${MAGEIA_NEW_DIR}/${ARCH} |
# Creating the new iso file |
echo "Creating the isofile..." |
alcasarVersion=$(echo $ALCASAR_TAR | cut -d '-' -f2 | rev | cut -d '.' -f 3- | rev ) |
newIsoName=Mageia-$MAGEIA_VERSION-${ARCH}-Alcasar${alcasarVersion}.iso |
cd ${MAGEIA_NEW_DIR} && genisoimage -quiet -o ${CURRENT_DIR}/${newIsoName} \ |
-b isolinux/isolinux.bin \ |
-c boot.catalog \ |
-no-emul-boot -boot-load-size 4 \ |
-boot-info-table -J -R -V "Mageia-$MAGEIA_VERSION Alcasar ${ARCH}" . |
# Unmounting |
echo "Umounting..." |
umount ${MAGEIA_OFFICIAL_DIR} && rmdir ${MAGEIA_OFFICIAL_DIR} |
# Removing temporary dir |
rm -rf ${MAGEIA_NEW_DIR} |
mv ${CURRENT_DIR}/${newIsoName} /var/iso/ |
# Finished |
rm -f "$AUTO_INSTALL_CFG" |
echo "Done." |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |