diff options
| author | Lars Müller | 2006-12-17 14:35:17 +0100 |
|---|---|---|
| committer | Lars Müller | 2006-12-17 14:35:17 +0100 |
| commit | 84daa236af9d89355a66b9c97a6380e3193c5bd5 (patch) | |
| tree | 504ef25d5a94761336068d1a20dd071c0f76977a | |
| parent | Only try to copy from prereqfiles if the directory exists. (diff) | |
| download | core-84daa236af9d89355a66b9c97a6380e3193c5bd5.tar.gz core-84daa236af9d89355a66b9c97a6380e3193c5bd5.tar.xz core-84daa236af9d89355a66b9c97a6380e3193c5bd5.zip | |
Add basic support for Ubuntu 6.10. The setup works but the install
fails.
To save us from repeating the BASEURL and COMPONENTS setting we're now
able to share 'global' settings across channels. This is required for a
Debian based system as they use the same BASEURL.
Currently it's only possible to define BASEURL or COMPONENTS global.
It's still possible to overwrite any setting for a particular channel.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@560 95ad53e4-c205-0410-b2fa-d234c58c8868
| -rwxr-xr-x | installer/slxossetup | 68 | ||||
| -rw-r--r-- | installer/systems/ubuntu610/settings | 10 |
2 files changed, 65 insertions, 13 deletions
diff --git a/installer/slxossetup b/installer/slxossetup index 818626d9..c18763da 100755 --- a/installer/slxossetup +++ b/installer/slxossetup @@ -38,7 +38,7 @@ for suffix in "" local ${SLX_SYSTEM_VARIANTNAME}; do . "${SLX_SYSTEM_CONFIG_PATH}/settings${suffix:+.$suffix}" done -function slxossetup_rpm() +function slxossetup_smart() { SLX_METADATA_PATH="${SLX_PRIVATE_PATH}/metadata/${SLX_SYSTEM_NAME}" SLX_STAGE1_PATH="${SLX_PRIVATE_PATH}/stage1/${SLX_SYSTEM_NAME}" @@ -53,28 +53,53 @@ function slxossetup_rpm() smart --data-dir="${SLX_METADATA_PATH}" \ config \ --set \ - rpm-root="${SLX_STAGE1_PATH}" + "${NAME_DEST_ROOT}"="${SLX_STAGE1_PATH}" - for variable in ${!SLX_INST_SOURCE_BASEURL_*}; do + for variable in ${!SLX_INST_SOURCE_NAME_*}; do # Unset SMART_* to let smart fail if they are not set for a particular # channel; unset PACKAGEKEYS to prevent adding them multiple times. - unset SMART_NAME SMART_TYPE PACKAGEKEYS + unset SMART_COMPONENTS \ + SMART_DISTRIBUTION \ + SMART_NAME \ + SMART_TYPE \ + PACKAGEKEYS + SMART_CHANNEL="${variable##*_}" - SMART_BASEURL=$( eval echo \$$variable) - SMART_NAME=$( eval echo \$SLX_INST_SOURCE_NAME_${SMART_CHANNEL}) + SMART_BASEURL=$( eval echo \$SLX_INST_SOURCE_BASEURL_${SMART_CHANNEL}) + SMART_NAME=$( eval echo \$$variable) test "${SMART_NAME}" || \ SMART_NAME="${SMART_CHANNEL}" + SMART_TYPE=$( eval echo \$SLX_INST_SOURCE_TYPE_${SMART_CHANNEL}) + # Use default repo type if not available from settings config file test "${SMART_TYPE}" || \ SMART_TYPE="${REPO_TYPE}" + + # Has this config distribution, components + SMART_DISTRIBUTION=$( eval echo \$SLX_INST_SOURCE_DISTRIBUTION_${SMART_CHANNEL}) + SMART_COMPONENTS=$( eval echo \$SLX_INST_SOURCE_COMPONENTS_${SMART_CHANNEL}) + # Check if one of our global settings is still undefined + for setting in ${GLOBAL_SETTINGS}; do + test $( eval echo \$SMART_${setting}) || \ + eval SMART_${setting}=\$SLX_INST_SOURCE_${setting} + done + + # Prefix the config name for optional parameters + test "${SMART_DISTRIBUTION}" && \ + SMART_DISTRIBUTION="distribution=\"${SMART_DISTRIBUTION}\"" + test "${SMART_COMPONENTS}" && \ + SMART_COMPONENTS="components=\"${SMART_COMPONENTS}\"" + PACKAGEKEYS=$( eval echo \$SLX_INST_SOURCE_PACKAGEKEYS_${SMART_CHANNEL}) - smart --data-dir="${SLX_METADATA_PATH}" \ + eval smart --data-dir=\"${SLX_METADATA_PATH}\" \ channel \ - --add "${SMART_CHANNEL}" \ - name="${SMART_NAME}" \ - type="${SMART_TYPE}" \ - baseurl=${SMART_BASEURL} \ + --add \"${SMART_CHANNEL}\" \ + name=\"${SMART_NAME}\" \ + type=\"${SMART_TYPE}\" \ + baseurl=\"${SMART_BASEURL}\" \ + ${SMART_DISTRIBUTION} \ + ${SMART_COMPONENTS} \ -y for packagekey in ${PACKAGEKEYS}; do @@ -87,6 +112,13 @@ function slxossetup_rpm() done done + for path in ${SLX_STAGE1_CREATE_DIR}; do + mkdir -p "${SLX_STAGE1_PATH}/${path}" + done + for file in ${SLX_STAGE1_CREATE_FILE}; do + touch "${SLX_STAGE1_PATH}/${file}" + done + smart --data-dir="${SLX_METADATA_PATH}" \ update @@ -189,11 +221,21 @@ function slxossetup() # Inform SUSE RPMs that we're performing an installation export YAST_IS_RUNNING="instsys" REPO_TYPE="rpm-md" - slxossetup_rpm + NAME_DEST_ROOT="rpm-root" + slxossetup_smart ;; *fedora*) REPO_TYPE="rpm-md" - slxossetup_rpm + NAME_DEST_ROOT="rpm-root" + slxossetup_smart + ;; + *ubuntu*) + GLOBAL_SETTINGS="BASEURL COMPONENTS" + REPO_TYPE="apt-deb" + NAME_DEST_ROOT="deb-root" + SLX_STAGE1_CREATE_DIR="/var/lib/dpkg/updates" + SLX_STAGE1_CREATE_FILE="/var/lib/dpkg/available /var/lib/dpkg/status" + slxossetup_smart ;; *) echo "$0: Error, unkown system ${SLX_SYSTEM_BASENAME}" ;; esac diff --git a/installer/systems/ubuntu610/settings b/installer/systems/ubuntu610/settings new file mode 100644 index 00000000..6e8162ac --- /dev/null +++ b/installer/systems/ubuntu610/settings @@ -0,0 +1,10 @@ +SLX_INST_SOURCE_BASEURL="http://ftp-1.gwdg.de/pub/linux/debian/ubuntu" +SLX_INST_SOURCE_COMPONENTS="main restricted multiverse universe" +SLX_INST_SOURCE_NAME_ubuntu610="Ubuntu 6.10" +SLX_INST_SOURCE_DISTRIBUTION_ubuntu610="edgy" +SLX_INST_SOURCE_NAME_ubuntu610updates="Ubuntu 6.10 updates" +SLX_INST_SOURCE_DISTRIBUTION_ubuntu610updates="edgy-updates" +SLX_INST_SOURCE_NAME_ubuntu610security="Ubuntu 6.10 security" +SLX_INST_SOURCE_DISTRIBUTION_ubuntu610security="edgy-security" +SLX_BASE_PREREQ_PACKAGES="" +SLX_INSTALL_PACKAGES_MAIN="libc6 bash" |
