Added: makedist-newrelease,autobuild cron and sysconfig file
This commit is contained in:
parent
4ff86d2987
commit
80f7f42b7e
11
Makefile
11
Makefile
@ -38,6 +38,11 @@ install:
|
||||
@install -d $(DESTDIR)$(datadir);\
|
||||
cp -a makedist $(DESTDIR)$(datadir)/;\
|
||||
install -d $(DESTDIR)$(sysconfdir)/makedist;\
|
||||
cp -a config/config $(DESTDIR)$(sysconfdir)/makedist/config
|
||||
@install -d $(DESTDIR)$(sbindir);\
|
||||
cp -a makedist-recordvm $(DESTDIR)$(sbindir)/makedist-recordvm
|
||||
cp -a config/config $(DESTDIR)$(sysconfdir)/makedist/config;\
|
||||
install -d $(DESTDIR)$(sysconfdir)/sysconfig;\
|
||||
cp -a config/makedist $(DESTDIR)$(sysconfdir)/sysconfig/makedist;\
|
||||
install -d $(DESTDIR)$(sysconfdir)/cron.daily;\
|
||||
cp -a config/20-makedist-autobuild $(DESTDIR)$(sysconfdir)/cron.daily/20-makedist-autobuild;\
|
||||
install -d $(DESTDIR)$(sbindir);\
|
||||
cp -a bin/makedist-recordvm $(DESTDIR)$(sbindir)/makedist-recordvm
|
||||
cp -a bin/makedist-newrelease $(DESTDIR)$(sbindir)/makedist-newrelease
|
||||
|
84
bin/makedist-newrelease
Executable file
84
bin/makedist-newrelease
Executable file
@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
echo "makedist media release script"
|
||||
echo "Copyright (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>"
|
||||
echo
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage:"
|
||||
echo "makedist-newrelease release [distversion] [-f] [--only platform[/subplatform]]"
|
||||
echo
|
||||
echo "-f: force full rebuild"
|
||||
echo "--only: only build the specified platform and subplatform"
|
||||
echo "-h: show this help and exit"
|
||||
echo
|
||||
echo "Example:"
|
||||
echo "makedist-newrelease 2.0.10 milestone2 --only livecd/livecd-root"
|
||||
echo
|
||||
}
|
||||
|
||||
[ "$1" ] || {
|
||||
echo "Error: release must be specified; aborting"
|
||||
usage
|
||||
exit 1
|
||||
}
|
||||
|
||||
while [ "$1" ]; do
|
||||
case $1 in
|
||||
-f) FORCE_ADD="FORCE=1" ;;
|
||||
--only) ONLY_PLATFORM=$2
|
||||
[ "$ONLY_PLATFORM" ] || {
|
||||
echo "Error: platform must be specified after --only; aborting."
|
||||
}
|
||||
shift ;;
|
||||
-h) usage; exit 0 ;;
|
||||
-*) echo "Error: uknown option $1; aborting."
|
||||
exit 1
|
||||
;;
|
||||
*) if [ ! "$RELEASE" ]; then
|
||||
RELEASE=$1
|
||||
elif [ ! "$DISTVERSION" ]; then
|
||||
DISTVERSION=$2
|
||||
else
|
||||
echo "Error: exceeding option $1; aborting."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
[ "$RELEASE" ] || { usage; exit 1; }
|
||||
[ "$2" ] || DISTVERSION="milestone2"
|
||||
|
||||
. /etc/sysconfig/makedist
|
||||
|
||||
echo "Releasing media for openmamba $DISTVERSION $RELEASE"
|
||||
|
||||
ALLMEDIALAST=`expr ${#MEDIA_NAME[*]} - 1`
|
||||
for i in `seq 0 $ALLMEDIALAST`; do
|
||||
PLATFORM=${MEDIA_PLATFORM[i]/\/*/}
|
||||
SUBPLATFORM=${MEDIA_SUBPLATFORM[i]/*\//}
|
||||
[ "$SUBPLATFORM" = "$PLATFORM" ] && SUBPLATFORM=
|
||||
[ "${ONLY_PLATFORM/\//}" = "${ONLY_PLATFORM}" ] && ONLY_PLATFORM="$ONLY_PLATFORM/"
|
||||
[ ! "$ONLY_PLATFORM" -o "$ONLY_PLATFORM" = "$PLATFORM/$SUBPLATFORM" ] || continue
|
||||
for lang in ${MEDIA_LANGUAGES[i]}; do
|
||||
for arch in ${MEDIA_ARCHS[i]}; do
|
||||
sudo makedist openmamba-$DISTVERSION PLATFORM=$PLATFORM SUBPLATFORM=$SUBPLATFORM LANGUAGE=$lang RELEASE=$DISTVERSION ARCH=$arch $FORCE_ADD || {
|
||||
echo "Error: fatal error running 'makedist openmamba-$DISTVERSION PLATFORM=$PLATFORM SUBPLATFORM=$SUBPLATFORM LANGUAGE=$lang RELEASE=$DISTVERSION ARCH=$arch $FORCE_ADD'; aborting."
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
done
|
||||
FORCE_OVERWRITE=1 \
|
||||
RELEASE=$RELEASE \
|
||||
RELEASEPLATFORM=$PLATFORM \
|
||||
RELEASESUBPLATFORM=$SUBPLATFORM \
|
||||
DISTVERSION=$DISTVERSION /etc/cron.daily/20-openmamba-autobuild-makedist
|
||||
done
|
||||
|
||||
# Workaround: updates home page HTML which always show previous version after first run
|
||||
RELEASE=$RELEASE \
|
||||
DISTVERSION=$DISTVERSION \
|
||||
/etc/cron.daily/20-openmamba-autobuild-makedist
|
||||
exit 0
|
373
config/20-makedist-autobuild
Executable file
373
config/20-makedist-autobuild
Executable file
@ -0,0 +1,373 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Makedist automatic build script
|
||||
# Copyright (c) 2007-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# To overwrite already existing images
|
||||
# FORCE_OVERWRITE=1 ./20-openmamba-makedist
|
||||
#
|
||||
# To commit a new release (relies on snapshot images):
|
||||
# RELEASE=1.0pre3 ./20-openmamba-makedist
|
||||
#
|
||||
. /etc/sysconfig/makedist
|
||||
. /usr/share/makedist/functions.inc.sh
|
||||
|
||||
[ "$MAKEDIST_CRON_ENABLE" = "1" ] || exit 0
|
||||
|
||||
ME=`basename $0`
|
||||
[ "$$" == "`pidof -x $ME`" ] || {
|
||||
echo "Warning: script already running; exiting."
|
||||
exit 0
|
||||
}
|
||||
|
||||
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
|
||||
|
||||
TORRENTURL=http://torrent.mambasoft.it:8080/announce
|
||||
DISTRONAME=openmamba
|
||||
MAKEDIST_TARGET=openmamba
|
||||
arch=i586
|
||||
SOURCEDIR=/var/makedist
|
||||
|
||||
[ "$MAKEDIST_FORCE" ] || MAKEDIST_FORCE=1
|
||||
[ "$TODAYDATE" ] || TODAYDATE=`date +%Y%m%d`
|
||||
[ "$WEEKDAY" ] || WEEKDAY=`date +%u`
|
||||
|
||||
[ "$DISTVERSION" ] || {
|
||||
echo "Error: DISTVERSION is not set, check configuration file; aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ "$RELEASE" ]; then
|
||||
DESTLATESTFILENAME=latest-$RELEASE.inc.js
|
||||
SOURCEIMGFILEPREFIX="openmamba-$DISTVERSION"
|
||||
else
|
||||
DESTLATESTFILENAME=latest.inc.js
|
||||
SOURCEIMGFILEPREFIX="openmamba"
|
||||
fi
|
||||
|
||||
DESTBASEDIR=/var/ftp/pub/openmamba/$DISTVERSION/media
|
||||
DESTIMGFILEPREFIX="openmamba"
|
||||
ALLMEDIASLAST=`expr ${#MEDIA_NAME[*]} - 1`
|
||||
DESTBASEURL=/pub/openmamba/$DISTVERSION/media
|
||||
|
||||
# do_makedist()
|
||||
#
|
||||
# Parameters;
|
||||
#
|
||||
# $1: dist filename
|
||||
# $2: dest filename
|
||||
# $3: language
|
||||
# $4: platform
|
||||
# $5: subplatform
|
||||
# $6: product_name
|
||||
# $7: architecture
|
||||
function do_makedist() {
|
||||
local DIST_CREATED=0 SOURCEIMG DESTFILENAME DESTNAME DESTLANGUAGE DESTPLATFORM DESTSUBPLATFORM DESTARCH \
|
||||
DESTPRODUCTNAME DESTDIR DESTIMG DESTMD5 DESTTORRENT
|
||||
DESTFILENAME=$1
|
||||
DESTNAME=$2
|
||||
DESTLANGUAGE=$3
|
||||
DESTPLATFORM=$4
|
||||
DESTSUBPLATFORM=$5
|
||||
DESTPRODUCTNAME=$6
|
||||
DESTARCH=$7
|
||||
SOURCEIMG=$SOURCEDIR/${DESTFILENAME}
|
||||
DESTDIR=$DESTBASEDIR/${DESTPRODUCTNAME}/${DESTLANGUAGE}
|
||||
DESTIMG=$DESTDIR/$DESTNAME
|
||||
DESTMD5=$DESTDIR/$DESTNAME.MD5.txt
|
||||
DESTTORRENT=$DESTDIR/$DESTNAME.torrent
|
||||
[ "$DESTARCH" ] || {
|
||||
echo "Error: do_makedist: invalid number of parameters; aborting."
|
||||
exit 1
|
||||
}
|
||||
if [ "$RELEASE" ]; then
|
||||
[ "$RELEASEPLATFORM" = "$MEDIUMPLATFORM" -a \
|
||||
"$RELEASESUBPLATFORM" = "$MEDIUMSUBPLATFORM" ] || return 0
|
||||
fi
|
||||
[ "$RELEASE" ] && \
|
||||
DESTLATEST=$DESTDIR/latest-is-$RELEASETAG.txt || \
|
||||
DESTLATEST=$DESTDIR/latest-is-$SNAPDATE.txt
|
||||
|
||||
if [ ! -f $DESTIMG -o "$FORCE_OVERWRITE" = "1" ]; then
|
||||
if [ ! "$SIMULATE" ]; then
|
||||
if [ "$HOST_IS_X86_64" -a "${DESTARCH}" != "x86_64" ]; then
|
||||
CMD_PREFIX=linux32
|
||||
else
|
||||
CMD_PREFIX=
|
||||
fi
|
||||
[ "$CRON_DEBUG" = "1" ] && \
|
||||
echo "-> makedist openmamba PLATFORM=${DESTPLATFORM} SUBPLATFORM=${DESTSUBPLATFORM} \
|
||||
LANGUAGE=${DESTLANGUAGE} ARCH=${DESTARCH} FORCE=${MAKEDIST_FORCE}"
|
||||
makedist openmamba PLATFORM=${DESTPLATFORM} SUBPLATFORM=${DESTSUBPLATFORM} \
|
||||
LANGUAGE=${DESTLANGUAGE} ARCH=${DESTARCH} FORCE=${MAKEDIST_FORCE} || {
|
||||
echo "Error building openmamba ${DESTPRODUCTNAME} medium; aborting."
|
||||
exit 1
|
||||
}
|
||||
DIST_CREATED=1
|
||||
fi
|
||||
if [ "$RELEASE" ]; then
|
||||
[ -e $DESTDIR ] || mkdir -p $DESTDIR
|
||||
cp $SOURCEIMG $DESTIMG
|
||||
cp $SOURCEDIR/.${DESTFILENAME}.inc.html $DESTDIR/buildinfo-$RELEASE.inc.html
|
||||
[ "$RELEASE/pre" != "$RELEASE" ] && ln -sf buildinfo-$RELEASE.inc.html $DESTDIR/buildinfo-pre.inc.html
|
||||
cd $DESTDIR
|
||||
md5sum $DESTNAME > $DESTMD5
|
||||
if [ "${DESTIMG/.iso}" != "$DESTIMG" ]; then
|
||||
# ISO image, create video preview
|
||||
[ ! -e $DESTDIR/preview/$DESTNAME.ogv -o $SOURCEIMG -nt $DESTDIR/preview/$DESTNAME.ogv ] && makedist-recordvm $DESTIMG
|
||||
fi
|
||||
rm -f $DESTDIR/latest-is-*.txt
|
||||
> $DESTLATEST
|
||||
else
|
||||
[ -e $DESTDIR ] || mkdir -p $DESTDIR
|
||||
cp $SOURCEIMG $DESTIMG
|
||||
cp $SOURCEDIR/.${DESTFILENAME}.inc.html $DESTDIR/buildinfo.inc.html
|
||||
cd $DESTDIR
|
||||
md5sum $DESTNAME > $DESTMD5
|
||||
if [ "${DESTIMG/.iso}" != "$DESTIMG" ]; then
|
||||
# ISO image, create video preview
|
||||
[ ! -e $DESTDIR/preview/$DESTNAME.ogv -o $SOURCEIMG -nt $DESTDIR/preview/$DESTNAME.ogv ] && makedist-recordvm $DESTIMG
|
||||
fi
|
||||
rm -f $DESTDIR/latest-is-*.txt
|
||||
> $DESTLATEST
|
||||
fi
|
||||
fi
|
||||
if [ "$DIST_CREATED" = "1" -o $DESTIMG -nt $DESTTORRENT -o \
|
||||
"$FORCE_OVERWRITE" = "1" -o "$FORCE_OVERWRITE_TORRENT" = "1" ]; then
|
||||
# Generate TORRENT
|
||||
if [ "$RELEASE" ]; then
|
||||
cd $DESTDIR
|
||||
maketorrent-console \
|
||||
--comment "openmamba $RELEASE ${DESTPRODUCTNAME} ${DESTLANGUAGE}-${DESTARCH} from http://www.openmamba.org" \
|
||||
--tracker_name "mambaSoft BitTorrent tracker" \
|
||||
--language ${DESTLANGUAGE} \
|
||||
$TORRENTURL \
|
||||
$DESTNAME --target $DESTTORRENT >/dev/null
|
||||
else
|
||||
cd $DESTDIR
|
||||
maketorrent-console \
|
||||
--comment "openmamba snapshot $SNAPDATE ${DESTPRODUCTNAME} ${DESTLANGUAGE}-${DESTARCH} from http://www.openmamba.org" \
|
||||
--tracker_name "mambaSoft BitTorrent tracker" \
|
||||
--language ${DESTLANGUAGE} \
|
||||
$TORRENTURL \
|
||||
$DESTNAME --target $DESTTORRENT >/dev/null
|
||||
fi
|
||||
fi
|
||||
DESTSIZE=`du $DESTIMG -h | gawk '{ print $1 }'`
|
||||
DESTMD5=`cat $DESTMD5 | gawk '{ print $1 }'`
|
||||
DESTBUILDDATE=`stat -c %y $SOURCEIMG`
|
||||
|
||||
cat > $DESTDIR/$DESTLATESTFILENAME << _EOF
|
||||
nameArray['$DESTPRODUCTNAME-$RELEASETAG-$DESTLANGUAGE-$DESTARCH']='$DESTNAME';
|
||||
pathArray['$DESTPRODUCTNAME-$RELEASETAG-$DESTLANGUAGE-$DESTARCH']='/download.html?file=$DESTBASEURL/$DESTPRODUCTNAME/$DESTLANGUAGE/';
|
||||
sizeArray['$DESTPRODUCTNAME-$RELEASETAG-$DESTLANGUAGE-$DESTARCH']='$DESTSIZE';
|
||||
md5Array['$DESTPRODUCTNAME-$RELEASETAG-$DESTLANGUAGE-$DESTARCH']='$DESTMD5';
|
||||
builddateArray['$DESTPRODUCTNAME-$RELEASETAG-$DESTLANGUAGE-$DESTARCH']='$DESTBUILDDATE';
|
||||
_EOF
|
||||
|
||||
return $DIST_CREATED
|
||||
}
|
||||
|
||||
# do_all_langs_makedist()
|
||||
#
|
||||
# Parameters;
|
||||
#
|
||||
# $1: medium suffix
|
||||
# $2: medium release tag
|
||||
# $3: platform
|
||||
# $4: subplatform
|
||||
# $5: html language
|
||||
# $6: product name
|
||||
# $7: medium idx
|
||||
function do_makedist_and_html() {
|
||||
|
||||
local DIST_LINE DIST_CREATED DIST_DWD HTMLLANG MEDIA_ARCH PRODNAME \
|
||||
MEDIUMFILENAME MEDIUMNAME MEDIUMPLATFORM MEDIUMSUBPLATFORM m l
|
||||
|
||||
local tempfile2=`tempfile 2>/dev/null` || tempfile2=/tmp/makedist_tmpfile2
|
||||
|
||||
MEDIUMSUFFIX=$1
|
||||
MEDIUMTAG=$2
|
||||
MEDIUMPLATFORM=$3
|
||||
MEDIUMSUBPLATFORM=$4
|
||||
HTMLLANG=$5
|
||||
PRODNAME=$6
|
||||
m=$7
|
||||
[ "${m}" ] || {
|
||||
echo "Error: do_makedist_and_html: invalid number of parameters; aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
cat > $tempfile2 << _EOF
|
||||
<div class="downloadbox"><table width="760"><tr><td width=400>
|
||||
<form name="$PRODNAME-$RELEASETAG-form" id="$PRODNAME-$RELEASETAG-form">
|
||||
_EOF
|
||||
|
||||
case ${HTMLLANG} in
|
||||
it) echo -n "Lingua: " >> $tempfile2; selecttext="Scarica..."; fortext="per" ;;
|
||||
*) echo -n "Language: " >> $tempfile2; selecttext="Download..."; fortext="for" ;;
|
||||
esac
|
||||
for l in ${MEDIA_LANGUAGES[$m]}; do
|
||||
[ "$l" = "${HTMLLANG}" ] && {
|
||||
checked="checked"
|
||||
} || checked=""
|
||||
case $l in
|
||||
it) langname="italiano" ;;
|
||||
es) langname="español" ;;
|
||||
en) langname="english" ;;
|
||||
*) langname="unknown" ;;
|
||||
esac
|
||||
echo "<input type=radio id=\"language\" name=\"language\" value=\"$l\" onclick=\"javascript:selectlang('$PRODNAME-${RELEASETAG}');\" $checked />$langname" >> $tempfile2
|
||||
done
|
||||
|
||||
case ${HTMLLANG} in
|
||||
it) echo -n "<br>Architettura: " >> $tempfile2;;
|
||||
*) echo -n "<br>Architecture: " >> $tempfile2;;
|
||||
esac
|
||||
checked="checked"
|
||||
for a in ${MEDIA_ARCHS[$m]}; do
|
||||
echo "<input type=radio id=\"arch\" name=\"arch\" value=\"$a\" onclick=\"javascript:selectlang('$PRODNAME-${RELEASETAG}');\" $checked />$a" >> $tempfile2
|
||||
checked=""
|
||||
done
|
||||
|
||||
cat >> $tempfile2 << _EOF
|
||||
<br><span name="$PRODNAME-${RELEASETAG}-spanl" id="$PRODNAME-${RELEASETAG}-spanl"></span><script>
|
||||
_EOF
|
||||
echo "<tr><td width=25%>" >> $releasetempfile.${HTMLLANG}
|
||||
#>> $tempfile.$5
|
||||
|
||||
DIST_DWD="<select style=\"float:right;width:150px;align:right;\" onchange=\"window.location=this.value;\"><option value="/">$selecttext</option>"
|
||||
for l in ${MEDIA_LANGUAGES[$m]}; do
|
||||
case $l in
|
||||
it) mediumlang="italiano" ;;
|
||||
es) mediumlang="español" ;;
|
||||
en) mediumlang="english" ;;
|
||||
*) mediumlang="unknown" ;;
|
||||
esac
|
||||
for a in ${MEDIA_ARCHS[$m]}; do
|
||||
case $a in
|
||||
i586) archtext="x86 (PC)" ;;
|
||||
arm) archtext="arm" ;;
|
||||
*) archtext="unknown" ;;
|
||||
esac
|
||||
DESTNAME=$DESTIMGFILEPREFIX-$PRODNAME-$l-${MEDIUMTAG}.${a}.${MEDIUMSUFFIX}
|
||||
[ "$CRON_DEBUG" = "1" ] && \
|
||||
echo "do_makedist_and_html: calling do_makedist \"$SOURCEIMGFILEPREFIX-$PRODNAME-$l.${a}.${MEDIUMSUFFIX}\" \"$DESTNAME\" \"${l}\" \"${MEDIUMPLATFORM}\" \"${MEDIUMSUBPLATFORM}\" \"$PRODNAME\" \"${a}\""
|
||||
do_makedist "$SOURCEIMGFILEPREFIX-$PRODNAME-$l.${a}.${MEDIUMSUFFIX}" "$DESTNAME" "${l}" "${MEDIUMPLATFORM}" "${MEDIUMSUBPLATFORM}" "$PRODNAME" "${a}"
|
||||
DIST_CREATED=$?
|
||||
if [ "$RELEASE" ]; then
|
||||
latest=`ls $DESTBASEDIR/$PRODNAME/$l/latest-is-$DISTVERSION-*.txt 2>/dev/null| sed "s/.*latest-is-$DISTVERSION-\(.*\)\.txt/\1/"`
|
||||
cat $DESTBASEDIR/$PRODNAME/$l/latest-$latest.inc.js >> $tempfile2
|
||||
else
|
||||
cat $DESTBASEDIR/$PRODNAME/$l/$DESTLATESTFILENAME >> $tempfile2
|
||||
fi
|
||||
DIST_DWD="$DIST_DWD<option value=\"/download.html?file=$DESTBASEURL/$PRODNAME/$l/$DESTNAME\">${mediumlang} $fortext $archtext</option>"
|
||||
# DIST_DWD="$DIST_DWD <a href=\"/download.html?file=$DESTBASEURL/$PRODNAME/$l/$DESTNAME\">${l}-${a}</a>"
|
||||
done
|
||||
done
|
||||
DIST_DWD="$DIST_DWD</select>"
|
||||
DIST_LINE="<a href=\"/distribution/media/${MEDIA_NAME[$m]}.html?lang=${HTMLLANG}\">${MEDIA_NAME[$m]}</a>"
|
||||
[ $DIST_CREATED ] && DIST_LINE="<b>$DIST_LINE</b>"
|
||||
echo "${DIST_LINE}</td><td width=30%>$SNAPDATE</td><td width=40%>${DIST_DWD}</td></tr>" >>$releasetempfile.${HTMLLANG}
|
||||
|
||||
cat >> $tempfile2 << _EOF
|
||||
</script></form></td><td><span name="${6}-${RELEASETAG}-spanr" id="${PRODNAME}-${RELEASETAG}-spanr"></span></td></tr>
|
||||
<tr><td colspan=2><span id="details-data-$PRODNAME-${RELEASETAG/./_}"></span></td></tr></table></div>
|
||||
<script>javascript:selectlang('$PRODNAME-${RELEASETAG}');</script>
|
||||
_EOF
|
||||
|
||||
if [ "$RELEASE" ]; then
|
||||
DESTHTML=$DESTBASEDIR/$PRODNAME/index.inc.${HTMLLANG}.$latest.html
|
||||
ln -sf index.inc.${HTMLLANG}.$latest.html $DESTBASEDIR/$PRODNAME/index.inc.${HTMLLANG}.html
|
||||
ln -sf index.inc.${HTMLLANG}.html $DESTBASEDIR/$PRODNAME/index.inc.${HTMLLANG}.pre.html
|
||||
else
|
||||
DESTHTML=$DESTBASEDIR/$PRODNAME/index.inc.${HTMLLANG}.html
|
||||
fi
|
||||
mv $tempfile2 $DESTHTML
|
||||
chmod +r $DESTHTML
|
||||
}
|
||||
|
||||
releasetempfile=`tempfile 2>/dev/null` || releasetempfile=/tmp/makedist_tmpfile
|
||||
|
||||
for l in ${HTML_LANGS}; do
|
||||
echo "<table width=100% cellpadding=0 cellspacing=0>" > $releasetempfile.$l
|
||||
done
|
||||
|
||||
for i in `seq 0 $ALLMEDIASLAST`; do
|
||||
|
||||
PLATFORM=${MEDIA_PLATFORM[i]}
|
||||
SUBPLATFORM=${MEDIA_SUBPLATFORM[i]}
|
||||
unset PRODUCT_NAME
|
||||
unset PRODUCT_NAME_OVERRIDE
|
||||
|
||||
[ $SUBPLATFORM ] && . /var/makedist/targets/$MAKEDIST_TARGET/platforms/$SUBPLATFORM/settings.inc
|
||||
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$PLATFORM/settings.inc
|
||||
[ "$SUBPLATFORM" ] && \
|
||||
medium_name=`arch=_SPLIT_ PLATFORM=$SUBPLATFORM media_name` ||
|
||||
medium_name=`arch=_SPLIT_ media_name`
|
||||
medium_suffix=${medium_name/*_SPLIT_\./}
|
||||
[ $PRODUCT_NAME ] || PRODUCT_NAME=$PLATFORM
|
||||
[ "$PRODUCT_NAME_OVERRIDE" ] && PRODUCT_NAME=$PRODUCT_NAME_OVERRIDE
|
||||
|
||||
unset latest
|
||||
|
||||
#echo "PLATFORM=$PLATFORM SUBPLATFORM=$SUBPLATFORM MEDIA_SUFFIX=$media_suffix"
|
||||
if [ "$RELEASE" ]; then
|
||||
echo "Releasing $PRODUCT_NAME media (${PLATFORM}/${SUBPLATFORM} $RELEASETAG)"
|
||||
SIMULATE=1
|
||||
elif [ "$WEEKDAY" = "${MEDIA_BUILDDAY[i]}" -o \
|
||||
"$FORCEBUILD" = "$PRODUCT_NAME" ]; then
|
||||
echo "Building $PRODUCT_NAME media"
|
||||
unset SIMULATE
|
||||
else
|
||||
SIMULATE=1
|
||||
fi
|
||||
|
||||
if [ "$RELEASE" ]; then
|
||||
latest=`ls $DESTBASEDIR/$PRODUCT_NAME/en/latest-is-$DISTVERSION-*.txt 2>/dev/null| sed "s/.*latest-is-$DISTVERSION-\(.*\)\.txt/\1/"`
|
||||
if [ "$RELEASEPLATFORM" = "$PLATFORM" -a \
|
||||
"$RELEASESUBPLATFORM" = "$SUBPLATFORM" ]; then
|
||||
RELEASETAG=$DISTVERSION-$RELEASE
|
||||
else
|
||||
RELEASETAG=$DISTVERSION-$latest
|
||||
fi
|
||||
SNAPDATE=$RELEASETAG
|
||||
else
|
||||
latest=`ls $DESTBASEDIR/$PRODUCT_NAME/en/latest-is-*.txt 2>/dev/null| sed "s/.*latest-is-\(.*\)\.txt/\1/"`
|
||||
[ "$latest" -a "$SIMULATE" ] && SNAPDATE=$latest || SNAPDATE=$TODAYDATE
|
||||
RELEASETAG=snapshot-$SNAPDATE
|
||||
fi
|
||||
|
||||
for l in ${HTML_LANGS}; do
|
||||
for ml in ${MEDIA_LANGUAGES[i]}; do
|
||||
if [ ! -e $DESTBASEDIR/$PRODUCT_NAME/$ml ]; then
|
||||
mkdir -p $DESTBASEDIR/$PRODUCT_NAME/$ml || {
|
||||
echo "Error: cannot create directory $DESTBASEDIR/$PRODUCT_NAME/$ml; aborting"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
done
|
||||
|
||||
# build all media and create html page of language ${l}
|
||||
[ "$latest" -o ! "$SIMULATE" -o "$RELEASE" ] &&
|
||||
do_makedist_and_html \
|
||||
$medium_suffix $RELEASETAG \
|
||||
$PLATFORM "$SUBPLATFORM" ${l} $PRODUCT_NAME ${i}
|
||||
done
|
||||
done
|
||||
|
||||
for l in ${HTML_LANGS}; do
|
||||
echo "</table>" >> $releasetempfile.$l
|
||||
# if [ "$RELEASE" ]; then
|
||||
# cat $releasetempfile.$l > $DESTBASEDIR/downloads-$RELEASE.inc.$l
|
||||
# [ "${RELEASE/pre}" != "$RELEASE" ] && ln -sf downloads-$RELEASE.inc.$l $DESTBASEDIR/downloads-pre.inc.$l
|
||||
# else
|
||||
rm -f $DESTBASEDIR/downloads.inc.$l
|
||||
cat $releasetempfile.$l > $DESTBASEDIR/downloads.inc.$l
|
||||
# fi
|
||||
rm -f $releasetempfile.$l
|
||||
done
|
||||
|
||||
exit 0
|
213
config/makedist
Normal file
213
config/makedist
Normal file
@ -0,0 +1,213 @@
|
||||
#
|
||||
# makedist automatic build global configuration
|
||||
#
|
||||
# list of supported languages
|
||||
#
|
||||
HTML_LANGS="it en"
|
||||
|
||||
# enable cron for autobuilds
|
||||
MAKEDIST_CRON_ENABLE=1
|
||||
|
||||
#
|
||||
# media configuration
|
||||
#
|
||||
# DAY: 1=monday ... 7=sunday
|
||||
if [ "$RELEASE" ]; then
|
||||
case "$DISTVERSION" in
|
||||
milestone1)
|
||||
|
||||
DESTBASEDIR=/var/ftp/pub/openmamba/$DISTVERSION/media
|
||||
|
||||
MEDIA_NAME[0]=livecd
|
||||
MEDIA_TARGET[0]=openmamba
|
||||
MEDIA_PLATFORM[0]=livecd
|
||||
MEDIA_SUBPLATFORM[0]=livecd-root
|
||||
MEDIA_LANGUAGES[0]="it en"
|
||||
MEDIA_ARCHS[0]="i586"
|
||||
MEDIA_BUILDDAY[0]=8
|
||||
|
||||
MEDIA_NAME[1]=livestudio
|
||||
MEDIA_TARGET[1]=openmamba
|
||||
MEDIA_PLATFORM[1]=livecd
|
||||
MEDIA_SUBPLATFORM[1]=livestudio-root
|
||||
MEDIA_LANGUAGES[1]="it en"
|
||||
MEDIA_ARCHS[1]="i586"
|
||||
MEDIA_BUILDDAY[1]=8
|
||||
|
||||
MEDIA_NAME[2]=installdvd
|
||||
MEDIA_TARGET[2]=openmamba
|
||||
MEDIA_PLATFORM[2]=installdvd
|
||||
MEDIA_SUBPLATFORM[2]=livecd-root
|
||||
MEDIA_LANGUAGES[2]="it en"
|
||||
MEDIA_ARCHS[2]="i586"
|
||||
MEDIA_BUILDDAY[2]=8
|
||||
|
||||
MEDIA_NAME[3]=bootusb
|
||||
MEDIA_TARGET[3]=openmamba
|
||||
MEDIA_PLATFORM[3]=bootusb
|
||||
MEDIA_SUBPLATFORM[3]=
|
||||
MEDIA_LANGUAGES[3]="it en"
|
||||
MEDIA_ARCHS[3]="i586"
|
||||
MEDIA_BUILDDAY[3]=8
|
||||
|
||||
;;
|
||||
milestone2)
|
||||
|
||||
DESTBASEDIR=/var/ftp/pub/openmamba/$DISTVERSION/media
|
||||
|
||||
MEDIA_NAME[0]=livedvd
|
||||
MEDIA_TARGET[0]=openmamba
|
||||
MEDIA_PLATFORM[0]=livedvd
|
||||
MEDIA_SUBPLATFORM[0]=livedvd-root
|
||||
MEDIA_LANGUAGES[0]="it en es"
|
||||
MEDIA_ARCHS[0]="i586"
|
||||
MEDIA_BUILDDAY[0]=8
|
||||
|
||||
MEDIA_NAME[1]=livecd
|
||||
MEDIA_TARGET[1]=openmamba
|
||||
MEDIA_PLATFORM[1]=livecd
|
||||
MEDIA_SUBPLATFORM[1]=livecd-root
|
||||
MEDIA_LANGUAGES[1]="it en es"
|
||||
MEDIA_ARCHS[1]="i586"
|
||||
MEDIA_BUILDDAY[1]=8
|
||||
|
||||
# MEDIA_NAME[2]=livegames
|
||||
# MEDIA_TARGET[2]=openmamba
|
||||
# MEDIA_PLATFORM[2]=livecd
|
||||
# MEDIA_SUBPLATFORM[2]=livegames-root
|
||||
# MEDIA_LANGUAGES[2]="it en es"
|
||||
# MEDIA_ARCHS[2]="i586"
|
||||
# MEDIA_BUILDDAY[2]=8
|
||||
|
||||
MEDIA_NAME[2]=livecd-gnome
|
||||
MEDIA_TARGET[2]=openmamba
|
||||
MEDIA_PLATFORM[2]=livecd
|
||||
MEDIA_SUBPLATFORM[2]=livecd-gnome-root
|
||||
MEDIA_LANGUAGES[2]="it en es"
|
||||
MEDIA_ARCHS[2]="i586"
|
||||
MEDIA_BUILDDAY[2]=8
|
||||
|
||||
MEDIA_NAME[3]=livecd-light
|
||||
MEDIA_TARGET[3]=openmamba
|
||||
MEDIA_PLATFORM[3]=livecd
|
||||
MEDIA_SUBPLATFORM[3]=livecd-light-root
|
||||
MEDIA_LANGUAGES[3]="it en es"
|
||||
MEDIA_ARCHS[3]="i586"
|
||||
MEDIA_BUILDDAY[3]=8
|
||||
|
||||
MEDIA_NAME[4]=bootusb
|
||||
MEDIA_TARGET[4]=openmamba
|
||||
MEDIA_PLATFORM[4]=bootusb
|
||||
MEDIA_SUBPLATFORM[4]=
|
||||
MEDIA_LANGUAGES[4]="it en es"
|
||||
MEDIA_ARCHS[4]="i586"
|
||||
MEDIA_BUILDDAY[4]=8
|
||||
|
||||
MEDIA_NAME[5]=sdk
|
||||
MEDIA_TARGET[5]=openmamba
|
||||
MEDIA_PLATFORM[5]=sdk-root
|
||||
MEDIA_SUBPLATFORM[5]=
|
||||
MEDIA_LANGUAGES[5]="it en es"
|
||||
MEDIA_ARCHS[5]="arm i586"
|
||||
MEDIA_BUILDDAY[5]=8
|
||||
|
||||
;;
|
||||
*)
|
||||
echo "Error: DISTVERSION was not specified or is invalid for RELEASE target; aborting."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
||||
DISTVERSION=devel
|
||||
DESTBASEDIR=/var/ftp/pub/openmamba/$DISTVERSION/media
|
||||
|
||||
MEDIA_NAME[0]=livecd
|
||||
MEDIA_TARGET[0]=openmamba
|
||||
MEDIA_PLATFORM[0]=livecd
|
||||
MEDIA_SUBPLATFORM[0]=livecd-root
|
||||
MEDIA_LANGUAGES[0]="it en es"
|
||||
MEDIA_ARCHS[0]="i586"
|
||||
MEDIA_BUILDDAY[0]=1
|
||||
|
||||
MEDIA_NAME[1]=livedvd
|
||||
MEDIA_TARGET[1]=openmamba
|
||||
MEDIA_PLATFORM[1]=livedvd
|
||||
MEDIA_SUBPLATFORM[1]=livedvd-root
|
||||
MEDIA_LANGUAGES[1]="it en es"
|
||||
MEDIA_ARCHS[1]="i586"
|
||||
MEDIA_BUILDDAY[1]=4
|
||||
|
||||
MEDIA_NAME[2]=livecd-light
|
||||
MEDIA_TARGET[2]=openmamba
|
||||
MEDIA_PLATFORM[2]=livecd
|
||||
MEDIA_SUBPLATFORM[2]=livecd-light-root
|
||||
MEDIA_LANGUAGES[2]="it en es"
|
||||
MEDIA_ARCHS[2]="i586"
|
||||
MEDIA_BUILDDAY[2]=5
|
||||
|
||||
MEDIA_NAME[3]=livegames
|
||||
MEDIA_TARGET[3]=openmamba
|
||||
MEDIA_PLATFORM[3]=livecd
|
||||
MEDIA_SUBPLATFORM[3]=livegames-root
|
||||
MEDIA_LANGUAGES[3]="it en es"
|
||||
MEDIA_ARCHS[3]="i586"
|
||||
MEDIA_BUILDDAY[3]=7
|
||||
|
||||
MEDIA_NAME[4]=livecd-gnome
|
||||
MEDIA_TARGET[4]=openmamba
|
||||
MEDIA_PLATFORM[4]=livecd
|
||||
MEDIA_SUBPLATFORM[4]=livecd-gnome-root
|
||||
MEDIA_LANGUAGES[4]="it en es"
|
||||
MEDIA_ARCHS[4]="i586"
|
||||
MEDIA_BUILDDAY[4]=6
|
||||
|
||||
MEDIA_NAME[5]=bootusb
|
||||
MEDIA_TARGET[5]=openmamba
|
||||
MEDIA_PLATFORM[5]=bootusb
|
||||
MEDIA_SUBPLATFORM[5]=
|
||||
MEDIA_LANGUAGES[5]="it en es"
|
||||
MEDIA_ARCHS[5]="i586"
|
||||
MEDIA_BUILDDAY[5]=7
|
||||
|
||||
MEDIA_NAME[6]=testcd
|
||||
MEDIA_TARGET[6]=openmamba
|
||||
MEDIA_PLATFORM[6]=testcd
|
||||
MEDIA_SUBPLATFORM[6]=testcd-root
|
||||
MEDIA_LANGUAGES[6]="it en es"
|
||||
MEDIA_ARCHS[6]="i586"
|
||||
MEDIA_BUILDDAY[6]=3
|
||||
|
||||
MEDIA_NAME[7]=bootusb-test
|
||||
MEDIA_TARGET[7]=openmamba
|
||||
MEDIA_PLATFORM[7]=bootusb-test
|
||||
MEDIA_SUBPLATFORM[7]=
|
||||
MEDIA_LANGUAGES[7]="it en es"
|
||||
MEDIA_ARCHS[7]="i586"
|
||||
MEDIA_BUILDDAY[7]=3
|
||||
|
||||
MEDIA_NAME[8]=sdk
|
||||
MEDIA_TARGET[8]=openmamba
|
||||
MEDIA_PLATFORM[8]=sdk-root
|
||||
MEDIA_SUBPLATFORM[8]=
|
||||
MEDIA_LANGUAGES[8]="it en es"
|
||||
MEDIA_ARCHS[8]="arm i586"
|
||||
MEDIA_BUILDDAY[8]=3
|
||||
|
||||
MEDIA_NAME[9]=rootfs
|
||||
MEDIA_TARGET[9]=openmamba
|
||||
MEDIA_PLATFORM[9]=rootfs
|
||||
MEDIA_SUBPLATFORM[9]=
|
||||
MEDIA_LANGUAGES[9]="it en es"
|
||||
MEDIA_ARCHS[9]="arm i586"
|
||||
MEDIA_BUILDDAY[9]=1
|
||||
|
||||
MEDIA_NAME[10]=bootcd
|
||||
MEDIA_TARGET[10]=openmamba
|
||||
MEDIA_PLATFORM[10]=bootcd
|
||||
MEDIA_SUBPLATFORM[10]=
|
||||
MEDIA_LANGUAGES[10]="it en es"
|
||||
MEDIA_ARCHS[10]="i586"
|
||||
MEDIA_BUILDDAY[10]=1
|
||||
|
||||
fi
|
Loading…
Reference in New Issue
Block a user