makedist-announcement: improve support for snapshot targets and add command line interface options
This commit is contained in:
parent
9cbb9ec897
commit
5795417cd6
@ -10,21 +10,43 @@ distribution="openmamba"
|
||||
TEXTDOMAIN="makedist"; export TEXTDOMAIN
|
||||
|
||||
function usage() {
|
||||
echo "Usage: makedist-announcement distversion [mediumname]
|
||||
|
||||
Example:
|
||||
|
||||
makedist-announcement milestone2 livecd
|
||||
echo "\
|
||||
Usage: makedist-announcement distversion [mediumname] [--rebuild-announcement] [--rebuild-catalog]\
|
||||
[--send-email] [--send-test-email] [-h|--help]\
|
||||
\
|
||||
Example:\
|
||||
\
|
||||
makedist-announcement milestone2 livecd\
|
||||
"
|
||||
|
||||
exit 1
|
||||
|
||||
}
|
||||
|
||||
[ "$1" ] || usage
|
||||
|
||||
while [ "$1" ]; do
|
||||
case $1 in
|
||||
--rebuild-announcement) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD REBUILDANNOUNCEMENT=1" ;;
|
||||
--rebuild-catalog) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD REBUILDCATALOG=1" ;;
|
||||
--send-email) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD SENDEMAIL=1" ;;
|
||||
--send-test-email) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD SENDTESTEMAIL=1" ;;
|
||||
-h|--help) usage; exit 0 ;;
|
||||
-*) echo "Error: uknown option $1; aborting."
|
||||
exit 1
|
||||
;;
|
||||
*) if [ ! "$distversion" ]; then
|
||||
distversion=$1
|
||||
mediumname=$2
|
||||
elif [ ! "$mediumname" ]; then
|
||||
mediumname=$1
|
||||
else
|
||||
echo "Error: exceeding option $1; aborting."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
[ "$distversion" ] || usage
|
||||
|
||||
if [ "$distversion" != "devel" ]; then
|
||||
RELEASE=1
|
||||
@ -44,11 +66,12 @@ if [ "$mediumname" ]; then
|
||||
it) export LC_ALL=it_IT.UTF8 ;;
|
||||
*) echo "Error: unsupported language $outputlang; aborting."; exit 1 ;;
|
||||
esac
|
||||
export $SCRIPT_ENV_ADD
|
||||
/usr/share/makedist/makedist-announcement.sh $distversion $mediumname $outputlang || exit 1
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! "$SENDEMAIL" -a ! "$SENDTESTEMAIL" ]; then
|
||||
#if [ ! "$SENDEMAIL" -a ! "$SENDTESTEMAIL" ]; then
|
||||
echo $"Generating $distversion announcements index"
|
||||
for outputlang in $outputlangs; do
|
||||
indexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-index.$outputlang.html.inc
|
||||
@ -62,4 +85,4 @@ if [ ! "$SENDEMAIL" -a ! "$SENDTESTEMAIL" ]; then
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
#fi
|
||||
|
@ -231,8 +231,8 @@ fi
|
||||
mediumplatform=${MEDIA_PLATFORM[i]}
|
||||
mediumsubplatform=${MEDIA_SUBPLATFORM[i]}
|
||||
|
||||
mediumdir=/var/ftp/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}
|
||||
[ "$distversion" = "devel" ] && fallbackmediumdir=/var/ftp/pub/$distribution/media/milestone2/${MEDIA_NAME[i]}
|
||||
mediumdir=/var/ftp/pub/$distribution/media/$distversion/$mediumname
|
||||
[ "$distversion" = "devel" ] && fallbackmediumdir=/var/ftp/pub/$distribution/media/milestone2/$mediumname
|
||||
|
||||
if [ $mediumsubplatform ]; then
|
||||
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumsubplatform/settings.inc
|
||||
@ -266,7 +266,8 @@ CONFIGFILE=/etc/makedist/config
|
||||
[ -e $mediumdir/info ] || mkdir $mediumdir/info
|
||||
catalogfile=$mediumdir/info/sources.catalog
|
||||
|
||||
if [ ! -e $catalogfile -o "$REBUILDCATALOG" = "1" ]; then
|
||||
if [ ! -e $catalogfile -o "$REBUILDCATALOG" = "1" -o \
|
||||
/var/makedist/.$sub_medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo -nt $catalogfile ]; then
|
||||
echo $"Generating catalog file $catalogfile"
|
||||
for s in $SOURCES; do
|
||||
get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/$pkginforep/ $mediumarch $s
|
||||
@ -291,12 +292,20 @@ fi
|
||||
|
||||
outputfile=$mediumdir/info/release-announcement-$version.$outputlang.html
|
||||
|
||||
if [ ! -e $outputfile -o "$REBUILDACCOUNCEMENT" = "1" ]; then
|
||||
if [ ! -e $outputfile -o "$REBUILDANNOUNCEMENT" = "1" ]; then
|
||||
|
||||
echo $"Generating announcement for"" $distribution $distversion ${MEDIA_NAME[i]}"" ($outputlang)"
|
||||
|
||||
if [ "$distversion" != "devel" ]; then
|
||||
echo "<h2>"$"$distribution $distversion ${MEDIA_NAME[i]} $version release announcement""</h2>" > $outputfile
|
||||
echo "<div align=right><i><a href="http://$siteaddress">$sitedomain</a> - $announcementdate</i></div>" >> $outputfile
|
||||
echo "<br><p>"$"The $distribution maintainer is happy to announce the immediate availability of the <b>$distversion $version</b> release of the $distribution <b>${MEDIA_NAME[i]}</b> distribution." >> $outputfile
|
||||
else
|
||||
echo "<h2>"$"$distribution $distversion ${MEDIA_NAME[i]} $version nightly snapshot announcement""</h2>" > $outputfile
|
||||
echo "<div align=right><i><a href="http://$siteaddress">$sitedomain</a> - $announcementdate</i></div>" >> $outputfile
|
||||
echo "<br><p>"$"The $distribution automatic build system announces the immediate availability of the <b>$version</b> snapshot release of the $distribution <b>${MEDIA_NAME[i]}</b> distribution." >> $outputfile
|
||||
fi
|
||||
|
||||
[ -e $mediumdir/info/release-notes.$outputlang.html.inc ] && {
|
||||
echo "<h3>"$"Release notes""</h3>" >> $outputfile
|
||||
cat $mediumdir/info/release-notes.$outputlang.html.inc >> $outputfile
|
||||
@ -316,9 +325,9 @@ if [ ! -e $outputfile -o "$REBUILDACCOUNCEMENT" = "1" ]; then
|
||||
echo "<h3>"$"Downloads""</h3><table>\
|
||||
<tr><th width=100>"$"Language""</th><th width=50>"$"Arch""</th><th>"$"Download link""</th><th width=50>"$"Size""</th><th width=70>"$"Date""</th><th>MD5</th></tr>" >> $outputfile
|
||||
for l in ${MEDIA_LANGUAGES[i]}; do
|
||||
mediummd5=`cat $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}.MD5.txt | awk '{ print $1; }'`
|
||||
mediumdate=`stat -c %z $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix} | sed "s| .*||"`
|
||||
mediumsize=`stat -c %s $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}`
|
||||
mediummd5=`cat $mediumdir/$l/$distribution-$mediumname-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}.MD5.txt | awk '{ print $1; }'`
|
||||
mediumdate=`stat -c %z $mediumdir/$l/$distribution-$mediumname-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix} | sed "s| .*||"`
|
||||
mediumsize=`stat -c %s $mediumdir/$l/$distribution-$mediumname-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}`
|
||||
mediumsizeMB=`expr $mediumsize / 1048576`
|
||||
|
||||
echo -n "<tr><td>" >> $outputfile
|
||||
@ -329,8 +338,8 @@ if [ ! -e $outputfile -o "$REBUILDACCOUNCEMENT" = "1" ]; then
|
||||
*) echo -n $"unknown" >> $outputfile ;;
|
||||
esac
|
||||
echo "</td><td>${mediumarch}</td><td>\
|
||||
<a href='http://$siteaddress/download.html?file=/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}/$l/$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}'>\
|
||||
$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}</a></td>
|
||||
<a href='http://$siteaddress/download.html?file=/pub/$distribution/media/$distversion/$mediumname/$l/$distribution-$mediumname-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}'>\
|
||||
$distribution-$mediumname-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}</a></td>
|
||||
<td>$mediumsizeMB MB</td><td>$mediumdate</td><td>$mediummd5</td>" >> $outputfile
|
||||
done
|
||||
echo -n "</tr></table>" >> $outputfile
|
||||
@ -429,14 +438,23 @@ $distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${med
|
||||
|
||||
echo "<h3>"$"Links""</h3><ul>" >> $outputfile
|
||||
echo "<li><a href='http://$siteaddress/distribution/media/${MEDIA_NAME[i]}.html?lang=$outputlang'>\
|
||||
"$"${MEDIA_NAME[i]} page at $siteaddress""</a>\
|
||||
<li><a href='http://$siteaddress/distribution/$distversion.html?lang=$outputlang'>"$"$distversion channels and packages""</a>\
|
||||
"$"${MEDIA_NAME[i]} page at $siteaddress""</a>" >> $outputfile
|
||||
if [ "$distversion" = "devel" ]; then
|
||||
sitedistversion="development"
|
||||
else
|
||||
sitedistversion="$distversion"
|
||||
fi
|
||||
echo "<li><a href='http://$siteaddress/distribution/$sitedistversion.html?lang=$outputlang'>"$"$sitedistversion channels and packages""</a>" >> $outputfile
|
||||
echo "\
|
||||
<li><a href='http://$forumaddress'>"$"$distribution forum""</a>\
|
||||
<li><a href='http://$bugsaddress'>"$"$distribution bug tracking system""</a>\
|
||||
<li><a href='http://$wikiaddress'>"$"$distribution wiki""</a></ul>\
|
||||
" >> $outputfile
|
||||
|
||||
echo "</div><hr><p><i>"$"Announcement automatically generated by"" makedist-announcement $VERSION "$"and signed off by"" $signer</i>" >> $outputfile
|
||||
echo -n "</div><hr><p><i>"$"Announcement automatically generated by"" makedist-announcement $VERSION " >> $outputfile
|
||||
if [ "$distversion" != "devel" ]; then
|
||||
echo $"and signed off by"" $signer</i>" >> $outputfile
|
||||
fi
|
||||
#gpg --clearsign $outputfile > $outputfile.sig
|
||||
|
||||
rm -f $mediumdir/info/release-announcement.$outputlang.html
|
||||
@ -464,8 +482,12 @@ if [ "$SENDEMAIL" -o "$SENDTESTEMAIL" ]; then
|
||||
fi
|
||||
|
||||
for a in $SENDADDRESSES; do
|
||||
echo -n $"Send english ($outputlang) language email to $a [y/N]?"
|
||||
if [[ "`/usr/bin/tty`" != "not a tty" ]]; then
|
||||
echo -n $"Send english ($outputlang) language email to $a for ""'$distribution $distversion ${MEDIA_NAME[i]} $version' [y/N]?"
|
||||
read ans
|
||||
else
|
||||
ans=y
|
||||
fi
|
||||
if [ "$ans" = "y" -o "$ans" = "Y" ]; then
|
||||
cat $outputfile | mail \
|
||||
-a "From: openmamba <noreply@openmamba.org>" \
|
||||
|
Loading…
Reference in New Issue
Block a user