makedist-annoucement: changes to support devel (snapshot) media and email testing support

This commit is contained in:
Silvan Calarco 2012-07-23 13:12:24 +02:00
parent 3069b88a8f
commit ea464fb47e
3 changed files with 179 additions and 150 deletions

View File

@ -48,6 +48,7 @@ if [ "$mediumname" ]; then
done done
fi fi
if [ ! "$SENDEMAIL" -a ! "$SENDTESTEMAIL" ]; then
echo $"Generating $distversion announcements index" echo $"Generating $distversion announcements index"
for outputlang in $outputlangs; do for outputlang in $outputlangs; do
indexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-index.$outputlang.html.inc indexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-index.$outputlang.html.inc
@ -61,3 +62,4 @@ for outputlang in $outputlangs; do
done done
done done
done done
fi

View File

@ -44,10 +44,14 @@ if [ "$distversion" != "devel" ]; then
DISTVERSION=$distversion DISTVERSION=$distversion
MAKEDIST_TARGET=$distribution-$distversion MAKEDIST_TARGET=$distribution-$distversion
buildinfourl=/var/ftp/pub/$distribution/distromatic/${distversion}-updates buildinfourl=/var/ftp/pub/$distribution/distromatic/${distversion}-updates
pkginforep=$distversion-makedist
mediadistversion=$distversion
else else
RELEASE= RELEASE=
MAKEDIST_TARGET=$distribution MAKEDIST_TARGET=$distribution
buildinfourl=/var/ftp/pub/$distribution/distromatic/devel-makedist buildinfourl=/var/ftp/pub/$distribution/distromatic/devel-makedist
pkginforep=$distversion-makedist
mediadistversion=snapshot
fi fi
. /etc/sysconfig/makedist . /etc/sysconfig/makedist
@ -200,6 +204,21 @@ function print_group() {
done done
} }
print_include_section() {
local incfile=$1
local title=$2
local f destincfile
for f in $mediumdir/info/$incfile $fallbackmediumdir/info/$incfile; do
[ -r $f ] && destincfile=$f
done
if [ "$destincfile" ]; then
echo "<h3>$title</h3>" >> $outputfile
cat $destincfile >> $outputfile
fi
}
for i in `seq 0 ${#MEDIA_NAME[*]}`; do for i in `seq 0 ${#MEDIA_NAME[*]}`; do
[ "$mediumname" = "${MEDIA_NAME[i]}" ] && break; [ "$mediumname" = "${MEDIA_NAME[i]}" ] && break;
done done
@ -212,9 +231,8 @@ fi
mediumplatform=${MEDIA_PLATFORM[i]} mediumplatform=${MEDIA_PLATFORM[i]}
mediumsubplatform=${MEDIA_SUBPLATFORM[i]} mediumsubplatform=${MEDIA_SUBPLATFORM[i]}
echo $"Generating announcement for"" $distribution $distversion ${MEDIA_NAME[i]}"" ($outputlang)"
mediumdir=/var/ftp/pub/$distribution/media/$distversion/${MEDIA_NAME[i]} mediumdir=/var/ftp/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}
[ "$distversion" = "devel" ] && fallbackmediumdir=/var/ftp/pub/$distribution/media/milestone2/${MEDIA_NAME[i]}
if [ $mediumsubplatform ]; then if [ $mediumsubplatform ]; then
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumsubplatform/settings.inc . /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumsubplatform/settings.inc
@ -234,11 +252,11 @@ else
sub_medium_name=${medium_name} sub_medium_name=${medium_name}
fi fi
[ -e /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo ] || { [ -e /var/makedist/.$sub_medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo ] || {
echo "Error: missing distinfo file /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo; aborting." echo "Error: missing distinfo file /var/makedist/.$sub_medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo; aborting."
exit 1 exit 1
} }
. /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo . /var/makedist/.$sub_medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo
CONFIGFILE=/etc/makedist/config CONFIGFILE=/etc/makedist/config
. $CONFIGFILE . $CONFIGFILE
@ -248,13 +266,16 @@ CONFIGFILE=/etc/makedist/config
[ -e $mediumdir/info ] || mkdir $mediumdir/info [ -e $mediumdir/info ] || mkdir $mediumdir/info
catalogfile=$mediumdir/info/sources.catalog catalogfile=$mediumdir/info/sources.catalog
[ -e $catalogfile ] || for i in $SOURCES; do if [ ! -e $catalogfile -o "$REBUILDCATALOG" = "1" ]; then
get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/milestone2-makedist/ $mediumarch $i echo $"Generating catalog file $catalogfile"
for s in $SOURCES; do
get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/$pkginforep/ $mediumarch $s
echo $pkg_name $pkg_version $pkg_group ${pkg_builds[*]} >> $catalogfile echo $pkg_name $pkg_version $pkg_group ${pkg_builds[*]} >> $catalogfile
done done
fi
#for i in $SOURCES; do #for i in $SOURCES; do
# get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/milestone2-makedist/ i586 $i # get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/$pkginforep/ i586 $i
# if [ "$pkg_name" ]; then # if [ "$pkg_name" ]; then
# echo $pkg_name $pkg_version $pkg_release $pkg_group # echo $pkg_name $pkg_version $pkg_release $pkg_group
# else # else
@ -262,10 +283,17 @@ done
# fi # fi
#done #done
if [ "$distversion" = "devel" ]; then
version=`ls $mediumdir/en/latest-is-*.txt 2>/dev/null| sed "s/.*latest-is-\(.*\)\.txt/\1/"`
else
version=`ls $mediumdir/en/latest-is-$distversion-*.txt 2>/dev/null| sed "s/.*latest-is-$distversion-\(.*\)\.txt/\1/"` version=`ls $mediumdir/en/latest-is-$distversion-*.txt 2>/dev/null| sed "s/.*latest-is-$distversion-\(.*\)\.txt/\1/"`
fi
outputfile=$mediumdir/info/release-announcement-$version.$outputlang.html outputfile=$mediumdir/info/release-announcement-$version.$outputlang.html
if [ ! -e $outputfile -o "$REBUILDACCOUNCEMENT" = "1" ]; then
echo $"Generating announcement for"" $distribution $distversion ${MEDIA_NAME[i]}"" ($outputlang)"
echo "<h2>"$"$distribution $distversion ${MEDIA_NAME[i]} $version release announcement""</h2>" > $outputfile 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 "<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 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
@ -274,35 +302,23 @@ echo "<br><p>"$"The $distribution maintainer is happy to announce the immediate
cat $mediumdir/info/release-notes.$outputlang.html.inc >> $outputfile cat $mediumdir/info/release-notes.$outputlang.html.inc >> $outputfile
} }
echo "<h3>"$"Description""</h3>" >> $outputfile print_include_section description.$outputlang.html.inc $"Description"
# [ -e $mediumdir/$outputlang/preview/preview.jpg ] && \ # [ -e $mediumdir/$outputlang/preview/preview.jpg ] && \
# echo "<img src='http://$siteaddress/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}/$outputlang/preview/preview.jpg'>" >> $outputfile # echo "<img src='http://$siteaddress/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}/$outputlang/preview/preview.jpg'>" >> $outputfile
cat $mediumdir/info/description.$outputlang.html.inc >> $outputfile print_include_section target.$outputlang.html.inc $"Who it's for"
if [ -e $mediumdir/info/target.$outputlang.html.inc ]; then print_include_section requirements.$outputlang.html.inc $"Requirements"
echo "<h3>"$"Who is it for""</h3>" >> $outputfile
cat $mediumdir/info/target.$outputlang.html.inc >> $outputfile
fi
if [ -e $mediumdir/info/requirements.$outputlang.html.inc ]; then
echo "<h3>"$"Requirements""</h3>" >> $outputfile
cat $mediumdir/info/requirements.$outputlang.html.inc >> $outputfile
fi
if [ -e $mediumdir/info/features.$outputlang.html.inc ]; then
echo "<h3>"$"Features""</h3>" >> $outputfile
cat $mediumdir/info/features.$outputlang.html.inc >> $outputfile
fi
print_include_section features.$outputlang.html.inc $"Features"
echo "<h3>"$"Downloads""</h3><table>\ 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 <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 for l in ${MEDIA_LANGUAGES[i]}; do
mediummd5=`cat $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$distversion-$version.${mediumarch}.${medium_suffix}.MD5.txt | awk '{ print $1; }'` 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-$distversion-$version.${mediumarch}.${medium_suffix} | sed "s| .*||"` 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-$distversion-$version.${mediumarch}.${medium_suffix}` mediumsize=`stat -c %s $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}`
mediumsizeMB=`expr $mediumsize / 1048576` mediumsizeMB=`expr $mediumsize / 1048576`
echo -n "<tr><td>" >> $outputfile echo -n "<tr><td>" >> $outputfile
@ -313,8 +329,8 @@ for l in ${MEDIA_LANGUAGES[i]}; do
*) echo -n $"unknown" >> $outputfile ;; *) echo -n $"unknown" >> $outputfile ;;
esac esac
echo "</td><td>${mediumarch}</td><td>\ 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-$distversion-$version.${mediumarch}.${medium_suffix}'>\ <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-$distversion-$version.${mediumarch}.${medium_suffix}</a></td> $distribution-${MEDIA_NAME[i]}-$l-$mediadistversion-$version.${mediumarch}.${medium_suffix}</a></td>
<td>$mediumsizeMB MB</td><td>$mediumdate</td><td>$mediummd5</td>" >> $outputfile <td>$mediumsizeMB MB</td><td>$mediumdate</td><td>$mediummd5</td>" >> $outputfile
done done
echo -n "</tr></table>" >> $outputfile echo -n "</tr></table>" >> $outputfile
@ -423,29 +439,37 @@ echo "<li><a href='http://$siteaddress/distribution/media/${MEDIA_NAME[i]}.html?
echo "</div><hr><p><i>"$"Announcement automatically generated by"" makedist-announcement $VERSION "$"and signed off by"" $signer</i>" >> $outputfile echo "</div><hr><p><i>"$"Announcement automatically generated by"" makedist-announcement $VERSION "$"and signed off by"" $signer</i>" >> $outputfile
#gpg --clearsign $outputfile > $outputfile.sig #gpg --clearsign $outputfile > $outputfile.sig
rm $mediumdir/info/release-announcement.$outputlang.html rm -f $mediumdir/info/release-announcement.$outputlang.html
ln -s release-announcement-$version.$outputlang.html $mediumdir/info/release-announcement.$outputlang.html ln -s release-announcement-$version.$outputlang.html $mediumdir/info/release-announcement.$outputlang.html
> $mediumdir/info/index.$outputlang.html.inc #> $mediumdir/info/index.$outputlang.html.inc
for f in ls $mediumdir/info/release-announcement-*.$outputlang.html; do #for f in $mediumdir/info/release-announcement-*.$outputlang.html; do
version=`echo $f | sed "s|.*/release-announcement-\(.*\)\.$outputlang.html|\1|"` # version=`echo $f | sed "s|.*/release-announcement-\(.*\)\.$outputlang.html|\1|"`
echo "<a href='?distrelease=${distrelease}&medium=${MEDIA_NAME[i]}&version=${version}'>${MEDIA_NAME[i]}<a><br>" >>$mediumdir/info/index.$outputlang.html.inc # echo "<a href='?distrelease=${distrelease}&medium=${MEDIA_NAME[i]}&version=${version}'>${MEDIA_NAME[i]}<a><br>" >>$mediumdir/info/index.$outputlang.html.inc
done #done
fi
if [ "$SENDEMAIL" -o "$SENDTESTEMAIL" ]; then
if [ ! "$SENDADDRESSES" ]; then
if [ "$SENDTESTEMAIL" ]; then
SENDADDRESSES="test@openmamba.org"
else
case $outputlang in case $outputlang in
en) SENDADDRESSES="openmamba-users@openmamba.org openmamba-devel@openmamba.org" ;; en) SENDADDRESSES="openmamba-users@openmamba.org openmamba-devel@openmamba.org distro@distrowatch.com" ;;
it) SENDADDRESSES="openmamba-users-it@openmamba.org openmamba-devel-it@openmamba.org" ;; it) SENDADDRESSES="openmamba-users-it@openmamba.org openmamba-devel-it@openmamba.org" ;;
*) SENDADDRESSES= *) SENDADDRESSES= ;;
esac esac
fi
fi
if [ "$SENDEMAIL" ]; then
for a in $SENDADDRESSES; do for a in $SENDADDRESSES; do
echo -n "Send email to $a [y/N]?" echo -n $"Send english ($outputlang) language email to $a [y/N]?"
read ans read ans
if [ "$ans" = "y" -o "$ans" = "Y" ]; then if [ "$ans" = "y" -o "$ans" = "Y" ]; then
cat $tmpfile $outputfile | mail \ cat $outputfile | mail \
-a "From: openmamba <noreply@openmamba.org>" \ -a "From: openmamba <noreply@openmamba.org>" \
-a "Content-Type: text/html" \ -a "Content-Type: text/html; charset=utf8" \
-s $"$distribution $distversion ${MEDIA_NAME[i]} $version release announcement" \ -s $"$distribution $distversion ${MEDIA_NAME[i]} $version release announcement" \
$a $a
fi fi

View File

@ -14,7 +14,7 @@ msgstr "Note di rilascio"
msgid "Description" msgid "Description"
msgstr "Descrizione" msgstr "Descrizione"
#: /usr/sbin/makedist-announcement:216 #: /usr/sbin/makedist-announcement:216
msgid "Who is it for" msgid "Who it's for"
msgstr "Per chi &egrave;" msgstr "Per chi &egrave;"
#: /usr/sbin/makedist-announcement:219 #: /usr/sbin/makedist-announcement:219
msgid "Requirements" msgid "Requirements"
@ -181,3 +181,6 @@ msgstr "Dimensione"
# #
msgid "Date" msgid "Date"
msgstr "Data" msgstr "Data"
#
msgid "Send english ($outputlang) language email to $a [y/N]?"
msgstr "Invio email in italiano ($outputlang) a $a [y/N]?"