Commit 31c71fd2 authored by Ophélie Gagnard's avatar Ophélie Gagnard

obs/generic/: Support bin/buildout backup. Tweak some variables.

build-scripts/:
- Backup bin/buildout and restore it so that it is not "rebootstraped" when sent to OBS.
- Change some variable names, add a sed regex.
parent 8b97fbca
...@@ -16,5 +16,9 @@ mkdir -p $RUN_BUILDOUT_DIR ...@@ -16,5 +16,9 @@ mkdir -p $RUN_BUILDOUT_DIR
cd $RUN_BUILDOUT_DIR cd $RUN_BUILDOUT_DIR
# should be with gcc here and without in OBS # should be with gcc here and without in OBS
cp $TEMPLATE_DIR/tmp/buildout_without_gcc.cfg buildout.cfg cp $TEMPLATE_DIR/tmp/buildout_without_gcc.cfg buildout.cfg
(python2.7 -S bootstrap-buildout.py --buildout-version 2.7.1+slapos016 --setuptools-version 44.1.1 --setuptools-to-dir eggs -f http://www.nexedi.org/static/packages/source/slapos.buildout/ && ./bin/buildout -v) ## next line explained
# 1st cmd: bootstrap buildout (creates bin/buildout)
# 2nd cmd: backup bin/buildout (to be restored for OBS)
# 3rd cmd: run buildout (which apparently modifies itself)
(python2.7 -S bootstrap-buildout.py --buildout-version 2.7.1+slapos016 --setuptools-version 44.1.1 --setuptools-to-dir eggs -f http://www.nexedi.org/static/packages/source/slapos.buildout/ && cp bin/buildout bin/backup.buildout && ./bin/buildout -v)
#cp $TEMPLATE_DIR/tmp/buildout_with_gcc.cfg buildout.cfg #cp $TEMPLATE_DIR/tmp/buildout_with_gcc.cfg buildout.cfg
...@@ -7,9 +7,9 @@ cd $INITIAL_DIR ...@@ -7,9 +7,9 @@ cd $INITIAL_DIR
mkdir -p $TARBALL_DIR mkdir -p $TARBALL_DIR
# Re-downloading the software release to pack # Re-downloading the software release to pack
#cp -r /home/test/other-projects/model/1wip_simplify-fluentbit_my-slapos . #cp -r /home/test/other-projects/model/1wip_simplify-fluentbit_my-slapos .
cp -r /home/test/other-projects/new_slapos.package/sid.fluentbit.my-slapos $TARBALL_DIR cp -r /home/test/other-projects/model/mca.my-slapos $TARBALL_DIR/software_release
#mv 1wip_simplify-fluentbit_my-slapos software_release #cp -r /home/test/other-projects/new_slapos.package/sid.fluentbit.my-slapos $TARBALL_DIR
mv $TARBALL_DIR/sid.fluentbit.my-slapos $TARBALL_DIR/software_release #mv $TARBALL_DIR/mca.my-slapos $TARBALL_DIR/software_release
cd $INITIAL_DIR cd $INITIAL_DIR
# Peparing the build directories # Peparing the build directories
......
...@@ -4,25 +4,29 @@ ...@@ -4,25 +4,29 @@
INITIAL_DIR="$(pwd)"/ INITIAL_DIR="$(pwd)"/
# RELEASE INFORMATION # DEBIAN_REVISION INFORMATION
# Modify the following variables accordingly # Modify the following variables accordingly
VERSION=1 SOFTWARE_VERSION=1
#RECIPE_VERSION=1 #RECIPE_VERSION=1
RELEASE=1 DEBIAN_REVISION=1
SOFTWARE_NAME=mca SOFTWARE_NAME=mca
COMPOUND_VERSION=${VERSION}-${RELEASE} # For the version format, see: https://www.debian.org/doc/manuals/debian-faq/pkg-basics.en.html#pkgname
VERSION_NAME=${SOFTWARE_NAME}_${COMPOUND_VERSION} # here, in <foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
# VersionNumber is SOFTWARE_VERSION, DebianRevisionNumber is DEBIAN_REVISION
# note: the architecture is added when building the package (here: in OBS)
COMPOUND_VERSION=${SOFTWARE_VERSION}-${DEBIAN_REVISION}
SOFTWARE_AND_VERSION=${SOFTWARE_NAME}_${COMPOUND_VERSION}
ARCHIVE_EXT=.tar.gz ARCHIVE_EXT=.tar.gz
# INSTALL INFORMATION # INSTALL INFORMATION
# TARGET_DIR is only used in the templates via sed regexps # TARGET_DIR is only used in the templates via sed regexps
TARGET_DIR=/opt/$VERSION_NAME TARGET_DIR=/opt/$SOFTWARE_AND_VERSION
# OBS AND DISTRIBUTIONS INFORMATION # OBS AND DISTRIBUTIONS INFORMATION
OBS_DIR=$INITIAL_DIR/home:oph.nxd/$SOFTWARE_NAME/ OBS_DIR=$INITIAL_DIR/home:oph.nxd/$SOFTWARE_NAME/
DIST_DIR=$INITIAL_DIR/distribution-specifics/$SOFTWARE_NAME/ DIST_DIR=$INITIAL_DIR/distribution-specifics/$SOFTWARE_NAME/
TARBALL_DIR=$INITIAL_DIR/tarballs/$VERSION_NAME TARBALL_DIR=$INITIAL_DIR/tarballs/$SOFTWARE_AND_VERSION
# BUILD INFORMATION # BUILD INFORMATION
# Modify the following variables accordingly # Modify the following variables accordingly
...@@ -47,14 +51,18 @@ TEMPLATE_DIR=`realpath -m $TEMPLATE_DIR` ...@@ -47,14 +51,18 @@ TEMPLATE_DIR=`realpath -m $TEMPLATE_DIR`
BUILD_DIR=`realpath -m $BUILD_DIR` BUILD_DIR=`realpath -m $BUILD_DIR`
RUN_BUILDOUT_DIR=`realpath -m $RUN_BUILDOUT_DIR` RUN_BUILDOUT_DIR=`realpath -m $RUN_BUILDOUT_DIR`
# Regular expressions for templates ## Regular expressions for templates
NAME_REGEX="s|%SOFTWARE_NAME%|$SOFTWARE_NAME|g"
# versions (not used at the moment) # versions (not used at the moment)
VERSION_REGEX="s|\%RECIPE_VERSION\%|$RECIPE_VERSION|g;s|\%VERSION\%|$VERSION|g;s|\%RELEASE\%|$RELEASE|g;s|\%COMPOUND_VERSION\%|$COMPOUND_VERSION|g" # versions (supporting legact macros)
#OLD_VERSION_REGEX="s|\%RECIPE_VERSION\%|$RECIPE_VERSION|g;s|\%VERSION\%|$SOFTWARE_VERSION|g;s|\%DEBIAN_REVISION\%|$DEBIAN_REVISION|g;s|\%COMPOUND_VERSION\%|$COMPOUND_VERSION|g"
# versions (supporting new macros)
VERSION_REGEX="s|%RECIPE_VERSION%|$RECIPE_VERSION|g;s|%SOFTWARE_VERSION%|$SOFTWARE_VERSION|g;s|%DEBIAN_REVISION%|$DEBIAN_REVISION|g;s|%COMPOUND_VERSION%|$COMPOUND_VERSION|g"
# Note: %PATCHES_DIRECTORY% not supported yet # Note: %PATCHES_DIRECTORY% not supported yet
# directories (supporting new macros) # directories (supporting new macros)
DIR_REGEX="s|\%TARGET_DIR\%|$TARGET_DIR|g;s|\%BUILD_DIR\%|$BUILD_DIR|g;s|\%RUN_BUILDOUT_DIR\%|$RUN_BUILDOUT_DIR|g" DIR_REGEX="s|%TARGET_DIR%|$TARGET_DIR|g;s|%BUILD_DIR%|$BUILD_DIR|g;s|%RUN_BUILDOUT_DIR%|$RUN_BUILDOUT_DIR|g"
PATH_REGEX="s|\%SR_PATH\%|$SR_PATH|g" PATH_REGEX="s|%SR_PATH%|$SR_PATH|g"
# directories (supporting legacy macros, not used anymore) # directories (supporting legacy macros, not used anymore)
#OLD_DIR_REGEX="s|\%TARGET_DIRECTORY\%|$TARGET_DIR|g;s|\%BUILD_ROOT_DIRECTORY\%|$BUILD_DIR|g;s|\%BUILD_DIRECTORY\%|$RUN_BUILDOUT_DIR|g" #OLD_DIR_REGEX="s|\%TARGET_DIRECTORY\%|$TARGET_DIR|g;s|\%BUILD_ROOT_DIRECTORY\%|$BUILD_DIR|g;s|\%BUILD_DIRECTORY\%|$RUN_BUILDOUT_DIR|g"
# concatenate all regex using ; (quoted, not to end the command) # concatenate all regex using ; (quoted, not to end the command)
ALL_REGEX=$VERSION_REGEX";"$DIR_REGEX";"$PATH_REGEX #";"$OLD_DIR_REGEX ALL_REGEX=$NAME_REGEX";"$VERSION_REGEX";"$DIR_REGEX";"$PATH_REGEX #";"$OLD_DIR_REGEX
...@@ -12,6 +12,9 @@ echo TMP_DIR = $TMP_DIR ...@@ -12,6 +12,9 @@ echo TMP_DIR = $TMP_DIR
cp $TEMPLATE_DIR/tmp/Makefile $TARBALL_DIR/Makefile cp $TEMPLATE_DIR/tmp/Makefile $TARBALL_DIR/Makefile
# save the local TARBALL_DIR to replace it with the TARBALL_DIR of OBS' VM # save the local TARBALL_DIR to replace it with the TARBALL_DIR of OBS' VM
echo $TARBALL_DIR > $TARBALL_DIR/cache_creation_build_directory echo $TARBALL_DIR > $TARBALL_DIR/cache_creation_build_directory
# restore bin/buildout
# note: when installing python, buildout "rebootstrap" itself to use the installed python: it would fail on OBS' VM
mv $RUN_BUILDOUT_DIR/bin/backup.buildout $RUN_BUILDOUT_DIR/bin/buildout
# clean the parts directory # clean the parts directory
rm -rf $RUN_BUILDOUT_DIR/{.installed.cfg,parts/} rm -rf $RUN_BUILDOUT_DIR/{.installed.cfg,parts/}
...@@ -19,11 +22,11 @@ rm -rf $RUN_BUILDOUT_DIR/{.installed.cfg,parts/} ...@@ -19,11 +22,11 @@ rm -rf $RUN_BUILDOUT_DIR/{.installed.cfg,parts/}
## prepare the files for OBS ## prepare the files for OBS
mkdir -p $TMP_DIR mkdir -p $TMP_DIR
# -C option allows to give tar an absolute path without archiving the directory from / (i.e. home/user/[...]) # -C option allows to give tar an absolute path without archiving the directory from / (i.e. home/user/[...])
tar czf $TMP_DIR/${VERSION_NAME}${ARCHIVE_EXT} -C $INITIAL_DIR/tarballs/ $VERSION_NAME/ tar czf $TMP_DIR/${SOFTWARE_AND_VERSION}${ARCHIVE_EXT} -C $INITIAL_DIR/tarballs/ $SOFTWARE_AND_VERSION/
tar czf $TMP_DIR/debian.tar.gz -C $DIST_DIR/ debian/ tar czf $TMP_DIR/debian.tar.gz -C $DIST_DIR/ debian/
cp $DIST_DIR/*.dsc $TMP_DIR/ cp $DIST_DIR/*.dsc $TMP_DIR/
# move the files for OBS # move the files for OBS
cp $TMP_DIR/${VERSION_NAME}${ARCHIVE_EXT} $OBS_DIR cp $TMP_DIR/${SOFTWARE_AND_VERSION}${ARCHIVE_EXT} $OBS_DIR
cp $TMP_DIR/debian.tar.gz $OBS_DIR cp $TMP_DIR/debian.tar.gz $OBS_DIR
cp $TMP_DIR/*.dsc $OBS_DIR cp $TMP_DIR/*.dsc $OBS_DIR
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment