makedist-announcement: add new tool for announcements automatization
This commit is contained in:
parent
9cf4100214
commit
fd95bcde93
63
makedist-announcement
Executable file
63
makedist-announcement
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# makedist-announcement
|
||||||
|
# Copyright (c) 2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
|
#
|
||||||
|
|
||||||
|
VERSION=0.1
|
||||||
|
outputlangs="en it"
|
||||||
|
distribution="openmamba"
|
||||||
|
|
||||||
|
TEXTDOMAIN="makedist"; export TEXTDOMAIN
|
||||||
|
|
||||||
|
function usage() {
|
||||||
|
echo "Usage: makedist-announcement distversion [mediumname]
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
makedist-announcement milestone2 livecd
|
||||||
|
"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$1" ] || usage
|
||||||
|
|
||||||
|
distversion=$1
|
||||||
|
mediumname=$2
|
||||||
|
|
||||||
|
if [ "$distversion" != "devel" ]; then
|
||||||
|
RELEASE=1
|
||||||
|
DISTVERSION=$distversion
|
||||||
|
else
|
||||||
|
RELEASE=
|
||||||
|
fi
|
||||||
|
. /etc/sysconfig/makedist
|
||||||
|
|
||||||
|
echo "makedist-announcement $VERSION"
|
||||||
|
echo "========================="
|
||||||
|
|
||||||
|
if [ "$mediumname" ]; then
|
||||||
|
for outputlang in $outputlangs; do
|
||||||
|
case $outputlang in
|
||||||
|
en) export LC_ALL=en_US.UTF8 ;;
|
||||||
|
it) export LC_ALL=it_IT.UTF8 ;;
|
||||||
|
*) echo "Error: unsupported language $outputlang; aborting."; exit 1 ;;
|
||||||
|
esac
|
||||||
|
/usr/share/makedist/makedist-announcement.sh $distversion $mediumname $outputlang || exit 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $"Generating $distversion announcements index"
|
||||||
|
for outputlang in $outputlangs; do
|
||||||
|
indexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-index.$outputlang.html.inc
|
||||||
|
> $indexfile
|
||||||
|
for i in `seq 0 ${#MEDIA_NAME[*]}`; do
|
||||||
|
mediumdir=/var/ftp/pub/$distribution/media/$distversion/${MEDIA_NAME[i]}
|
||||||
|
for f in $mediumdir/info/release-announcement-*.$outputlang.html; do
|
||||||
|
[ -r $f ] || continue
|
||||||
|
version=`echo $f | sed "s|.*/release-announcement-\(.*\)\.$outputlang.html|\1|"`
|
||||||
|
echo "<a href='?distrelease=${distversion}&medium=${MEDIA_NAME[i]}&version=${version}&lang=${outputlang}'>${MEDIA_NAME[i]} ${version}</a><br>" >> $indexfile
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
453
makedist/makedist-announcement.sh
Executable file
453
makedist/makedist-announcement.sh
Executable file
@ -0,0 +1,453 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
VERSION=0.1
|
||||||
|
|
||||||
|
archs=(i586 arm x86_64)
|
||||||
|
|
||||||
|
distribution=openmamba
|
||||||
|
mediumarch=i586
|
||||||
|
mediumlang=en
|
||||||
|
signer="Silvan Calarco"
|
||||||
|
siteaddress=www.openmamba.org
|
||||||
|
sitedomain=openmamba.org
|
||||||
|
forumaddress=forum.openmamba.org
|
||||||
|
bugsaddress=bugs.openmamba.org
|
||||||
|
wikiaddress=wiki.openmamba.org
|
||||||
|
|
||||||
|
TEXTDOMAIN="makedist"; export TEXTDOMAIN
|
||||||
|
|
||||||
|
function usage() {
|
||||||
|
echo "Usage: makedist-announcement distversion mediumname language
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
makedist-announcement milestone2 livecd it
|
||||||
|
"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$1" -a "$2" -a "$3" ] || usage
|
||||||
|
|
||||||
|
distversion=$1
|
||||||
|
mediumname=$2
|
||||||
|
outputlang=$3
|
||||||
|
|
||||||
|
case $outputlang in
|
||||||
|
it) announcementdate=`date +%d/%m/%Y` ;;
|
||||||
|
*) announcementdate=`date +%m/%d/%Y` ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$distversion" != "devel" ]; then
|
||||||
|
RELEASE=1
|
||||||
|
DISTVERSION=$distversion
|
||||||
|
MAKEDIST_TARGET=$distribution-$distversion
|
||||||
|
buildinfourl=/var/ftp/pub/$distribution/distromatic/${distversion}-updates
|
||||||
|
else
|
||||||
|
RELEASE=
|
||||||
|
MAKEDIST_TARGET=$distribution
|
||||||
|
buildinfourl=/var/ftp/pub/$distribution/distromatic/devel-makedist
|
||||||
|
fi
|
||||||
|
|
||||||
|
. /etc/sysconfig/makedist
|
||||||
|
. /usr/share/makedist/functions.inc.sh
|
||||||
|
|
||||||
|
# get_pkg_buildinfo - uses distromatic generated build file for
|
||||||
|
# getting information on the repository
|
||||||
|
#
|
||||||
|
# $1: distromatic files base url for repository
|
||||||
|
# $2: architecture
|
||||||
|
# $3: pkg name
|
||||||
|
function get_pkg_buildinfo() {
|
||||||
|
|
||||||
|
local pkg i a local_arch local_distromatic
|
||||||
|
|
||||||
|
[ $1 ] && local_distromatic=$1 || exit 1
|
||||||
|
[ $2 ] && local_arch=$2 || exit 1
|
||||||
|
[ $3 ] && pkg=$3
|
||||||
|
|
||||||
|
if [ ! "$pkg" ]; then
|
||||||
|
[ -e $local_distromatic/builds-${local_arch}.sh ] && . $local_distromatic/builds-${local_arch}.sh
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkg_header=();
|
||||||
|
pkg_builds=();
|
||||||
|
pkg_obsoletes=();
|
||||||
|
pkg_list=();
|
||||||
|
|
||||||
|
DISTROMATIC_BUILD_FILE=$local_distromatic/builds-${local_arch}.sh
|
||||||
|
[ -e $DISTROMATIC_BUILD_FILE ] && . $DISTROMATIC_BUILD_FILE
|
||||||
|
|
||||||
|
[ ${pkg_header[0]} ] && pkg_archs=(${pkg_archs[*]} ${local_arch})
|
||||||
|
|
||||||
|
# {
|
||||||
|
# echo "Error: missing distromatic generated file $DISTROMATIC_BUILD_FILE; aborting."
|
||||||
|
# return;
|
||||||
|
# }
|
||||||
|
# . $DISTROMATIC_BUILD_FILE
|
||||||
|
|
||||||
|
if [ "${pkg_header[0]}" ]; then
|
||||||
|
pkg_name=${pkg_header[0]};
|
||||||
|
# Note: pkg_arch reported in builds file is just last arch source was
|
||||||
|
# built for, so we use repository arch instead
|
||||||
|
pkg_arch=${pkg_header[1]};
|
||||||
|
[ "$pkg_arch" = "noarch" ] || pkg_arch=${local_arch}
|
||||||
|
pkg_version=${pkg_header[2]};
|
||||||
|
pkg_release=${pkg_header[3]};
|
||||||
|
pkg_group=${pkg_header[4]};
|
||||||
|
pkg_license=${pkg_header[5]};
|
||||||
|
pkg_size=${pkg_header[6]};
|
||||||
|
pkg_buildtime=${pkg_header[7]};
|
||||||
|
pkg_altrep=${pkg_header[8]};
|
||||||
|
pkg_repository=${pkg_header[9]};
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
unset pkg_name pkg_arch pkg_version pkg_release \
|
||||||
|
pkg_group pkg_license pkg_size pkg_buildtime pkg_altrep pkg_repository
|
||||||
|
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function package_is_in_medium() {
|
||||||
|
local s
|
||||||
|
|
||||||
|
for s in $INSTALLED; do
|
||||||
|
[ "$s" = "$1" ] && return 0
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function installed_packages_in_medium() {
|
||||||
|
local p
|
||||||
|
|
||||||
|
for p in ${pkg_builds[*]}; do
|
||||||
|
package_is_in_medium $p && echo -n "$p "
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function source_is_in_medium() {
|
||||||
|
local s
|
||||||
|
|
||||||
|
for s in $SOURCES; do
|
||||||
|
[ "$s" = "$1" ] && return 0
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function print_pkg_in_medium_line() {
|
||||||
|
|
||||||
|
local descr=$1
|
||||||
|
local searchpkg=$2
|
||||||
|
|
||||||
|
source_is_in_medium $searchpkg && print_pkg_line "<li>$descr" $2 >> $outputfile
|
||||||
|
}
|
||||||
|
|
||||||
|
function block_start() {
|
||||||
|
blocktmpfile=`mktemp`
|
||||||
|
}
|
||||||
|
|
||||||
|
function block_end() {
|
||||||
|
[ "$1" ] || {
|
||||||
|
echo "Error: block_end: no description given; skipping."
|
||||||
|
[ -f "$blocktmpfile" ] && rm -f $blocktmpfile
|
||||||
|
blocktmpfile=
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
if [ -s $blocktmpfile ]; then
|
||||||
|
echo "<h3>$1</h3><table>" >> $outputfile
|
||||||
|
cat $blocktmpfile >> $outputfile
|
||||||
|
echo "</table>" >> $outputfile
|
||||||
|
|
||||||
|
fi
|
||||||
|
[ "$blocktmpfile" ] && rm -f $blocktmpfile
|
||||||
|
blocktmpfile=
|
||||||
|
}
|
||||||
|
|
||||||
|
function print_pkg_line() {
|
||||||
|
|
||||||
|
local descr=$1
|
||||||
|
local searchpkg=$2
|
||||||
|
|
||||||
|
[ -f "$blocktmpfile" ] || {
|
||||||
|
echo "Error: print_pkg_line: you must call block_start first; skipping."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
get_pkg_buildinfo $buildinfourl $mediumarch $searchpkg
|
||||||
|
if [ "${pkg_name}" ]; then
|
||||||
|
source_is_in_medium $pkg_name && echo "<tr><td width=200>$1</td><td width=100>$pkg_version</td><td>`installed_packages_in_medium`</td></tr>" >> $blocktmpfile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function print_group() {
|
||||||
|
|
||||||
|
searchgroup=$1
|
||||||
|
|
||||||
|
[ -f "$blocktmpfile" ] || {
|
||||||
|
echo "Error: print_pkg_line: you must call block_start first; skipping."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
grep " $searchgroup " $catalogfile | \
|
||||||
|
while read line; do
|
||||||
|
set -- $line
|
||||||
|
get_pkg_buildinfo $buildinfourl $mediumarch $1
|
||||||
|
echo "<tr><td width=200>${pkg_name}</td><td width=100>${pkg_version}</td><td>`installed_packages_in_medium`</td></tr>" >> $blocktmpfile
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in `seq 0 ${#MEDIA_NAME[*]}`; do
|
||||||
|
[ "$mediumname" = "${MEDIA_NAME[i]}" ] && break;
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! "${MEDIA_NAME[i]}" ]; then
|
||||||
|
echo "Error: medium ${MEDIA_NAME[i]} not found; aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mediumplatform=${MEDIA_PLATFORM[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]}
|
||||||
|
|
||||||
|
if [ $mediumsubplatform ]; then
|
||||||
|
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumsubplatform/settings.inc
|
||||||
|
medium_name=`arch=_SPLIT_ PLATFORM=$mediumsubplatform media_name`
|
||||||
|
sub_medium_suffix=${medium_name/*_SPLIT_\./}
|
||||||
|
sub_medium_name=${medium_name/\._SPLIT_*/}
|
||||||
|
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumplatform/settings.inc
|
||||||
|
medium_name=`arch=_SPLIT_ PLATFORM=$mediumplatform media_name`
|
||||||
|
medium_suffix=${medium_name/*_SPLIT_\./}
|
||||||
|
medium_name=${medium_name/\._SPLIT_*/}
|
||||||
|
else
|
||||||
|
. /var/makedist/targets/$MAKEDIST_TARGET/platforms/$mediumplatform/settings.inc
|
||||||
|
medium_name=`arch=_SPLIT_ PLATFORM=$mediumplatform media_name`
|
||||||
|
medium_suffix=${medium_name/*_SPLIT_\./}
|
||||||
|
medium_name=${medium_name/\._SPLIT_*/}
|
||||||
|
sub_medium_suffix=${medium_suffix}
|
||||||
|
sub_medium_name=${medium_name}
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -e /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo ] || {
|
||||||
|
echo "Error: missing distinfo file /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo; aborting."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
. /var/makedist/.$medium_name-$mediumlang.$mediumarch.$sub_medium_suffix.distinfo
|
||||||
|
|
||||||
|
CONFIGFILE=/etc/makedist/config
|
||||||
|
. $CONFIGFILE
|
||||||
|
[ -r $CONFIGFILE-$MAKEDIST_TARGET ] && . $CONFIGFILE-$MAKEDIST_TARGET
|
||||||
|
[ -r $CONFIGFILE-$MAKEDIST_TARGET-$mediumplatform ] && . $CONFIGFILE-$MAKEDIST_TARGET-$mediumplatform
|
||||||
|
|
||||||
|
[ -e $mediumdir/info ] || mkdir $mediumdir/info
|
||||||
|
catalogfile=$mediumdir/info/sources.catalog
|
||||||
|
|
||||||
|
[ -e $catalogfile ] || for i in $SOURCES; do
|
||||||
|
get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/milestone2-makedist/ $mediumarch $i
|
||||||
|
echo $pkg_name $pkg_version $pkg_group ${pkg_builds[*]} >> $catalogfile
|
||||||
|
done
|
||||||
|
|
||||||
|
#for i in $SOURCES; do
|
||||||
|
# get_pkg_buildinfo /var/ftp/pub/openmamba/distromatic/milestone2-makedist/ i586 $i
|
||||||
|
# if [ "$pkg_name" ]; then
|
||||||
|
# echo $pkg_name $pkg_version $pkg_release $pkg_group
|
||||||
|
# else
|
||||||
|
# echo "Error: can't find $i package; skipping."
|
||||||
|
# fi
|
||||||
|
#done
|
||||||
|
|
||||||
|
version=`ls $mediumdir/en/latest-is-$distversion-*.txt 2>/dev/null| sed "s/.*latest-is-$distversion-\(.*\)\.txt/\1/"`
|
||||||
|
|
||||||
|
outputfile=$mediumdir/info/release-announcement-$version.$outputlang.html
|
||||||
|
|
||||||
|
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
|
||||||
|
[ -e $mediumdir/info/release-notes.$outputlang.html.inc ] && {
|
||||||
|
echo "<h3>"$"Release notes""</h3>" >> $outputfile
|
||||||
|
cat $mediumdir/info/release-notes.$outputlang.html.inc >> $outputfile
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<h3>"$"Description""</h3>" >> $outputfile
|
||||||
|
|
||||||
|
# [ -e $mediumdir/$outputlang/preview/preview.jpg ] && \
|
||||||
|
# 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
|
||||||
|
|
||||||
|
if [ -e $mediumdir/info/target.$outputlang.html.inc ]; then
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
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-$distversion-$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| .*||"`
|
||||||
|
mediumsize=`stat -c %s $mediumdir/$l/$distribution-${MEDIA_NAME[i]}-$l-$distversion-$version.${mediumarch}.${medium_suffix}`
|
||||||
|
mediumsizeMB=`expr $mediumsize / 1048576`
|
||||||
|
|
||||||
|
echo -n "<tr><td>" >> $outputfile
|
||||||
|
case $l in
|
||||||
|
en) echo -n $"english" >> $outputfile ;;
|
||||||
|
it) echo -n $"italian" >> $outputfile ;;
|
||||||
|
es) echo -n $"spanish" >> $outputfile ;;
|
||||||
|
*) 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-$distversion-$version.${mediumarch}.${medium_suffix}'>\
|
||||||
|
$distribution-${MEDIA_NAME[i]}-$l-$distversion-$version.${mediumarch}.${medium_suffix}</a></td>
|
||||||
|
<td>$mediumsizeMB MB</td><td>$mediumdate</td><td>$mediummd5</td>" >> $outputfile
|
||||||
|
done
|
||||||
|
echo -n "</tr></table>" >> $outputfile
|
||||||
|
|
||||||
|
echo "<h3>"$"Operating system information""</h3><ul>\
|
||||||
|
<li>"$"Name"": openmamba
|
||||||
|
<li>"$"Type"": "$"GNU/Linux operating system""
|
||||||
|
<li>"$"License"": "$"GNU General Public License (GPL) version 3""
|
||||||
|
<li>"$"Release branch"": $distversion
|
||||||
|
" >> $outputfile
|
||||||
|
|
||||||
|
if [ "$distversion" = "milestone2" ]; then
|
||||||
|
echo "\
|
||||||
|
<li>"$"Planned maintenance"": "$"long term""
|
||||||
|
<li>"$"Updates level"": "$"bugfix"", "$"security"", "$"end-user applications""
|
||||||
|
<li>"$"Default updates channels"": milestone2, milestone2-updates, milestone2-games
|
||||||
|
" >> $outputfile
|
||||||
|
elif [ "$distversion" = "devel" ]; then
|
||||||
|
echo "\
|
||||||
|
<li>"$"Planned maintenance"": "$"long term""
|
||||||
|
<li>"$"Updates level"": "$"architectural changes""
|
||||||
|
<li>"$"Updates default channels"": devel, devel-games
|
||||||
|
" >> $outputfile
|
||||||
|
fi
|
||||||
|
echo -n "</ul>" >> $outputfile
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line $"Linux kernel" kernel
|
||||||
|
print_pkg_line $"bootloader (grub)" grub
|
||||||
|
print_pkg_line $"boot system (dracut)" dracut
|
||||||
|
print_pkg_line $"NVIDIA proprietary driver" NVIDIA
|
||||||
|
print_pkg_line $"AMD/ATI proprietary driver" ati-driver
|
||||||
|
block_end $"Kernel, boot and drivers"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line gcc gcc
|
||||||
|
print_pkg_line glibc glibc
|
||||||
|
print_pkg_line binutils binutils
|
||||||
|
block_end $"GNU Toolchain"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line "RPM" rpm
|
||||||
|
print_pkg_line "Smart Package Manager" smart
|
||||||
|
print_pkg_line "PackageKit" PackageKit
|
||||||
|
print_pkg_line "KDE PackageKit GUI" kpackagekit
|
||||||
|
print_pkg_line "Gnome PackageKit GUI" gnome-packagekit
|
||||||
|
block_end $"Packages and updates management"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line X.org xorg-server
|
||||||
|
print_pkg_line Mesa Mesa
|
||||||
|
print_pkg_line KDE kde-workspace
|
||||||
|
print_pkg_line GNOME gnome-session
|
||||||
|
print_pkg_line LXDE lxde-common
|
||||||
|
block_end $"Graphical and Desktop environment"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_group "Graphical Desktop/Applications/Graphics"
|
||||||
|
block_end $"Graphics packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_group "Graphical Desktop/Applications/Internet"
|
||||||
|
print_pkg_line "NetworkManager" NetworkManager
|
||||||
|
print_pkg_line "KDE network management applet" plasma-applet-networkmanagement
|
||||||
|
print_pkg_line "Gnome network management applet" network-manager-applet
|
||||||
|
print_pkg_line "KDE Firewall interface" kcm_ufw
|
||||||
|
print_pkg_line "Gnome Firewall interface" gufw
|
||||||
|
block_end $"Internet/Networking packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_group "Graphical Desktop/Applications/Multimedia"
|
||||||
|
block_end $"Multimedia packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_group "Graphical Desktop/Applications/Office"
|
||||||
|
print_group "Graphical Desktop/Applications/Publishing"
|
||||||
|
block_end $"Office/Publishing packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_group "Graphical Desktop/Applications/Games"
|
||||||
|
block_end $"Games packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line VirtualBox VirtualBox
|
||||||
|
print_pkg_line qemu qemu
|
||||||
|
print_pkg_line Wine wine
|
||||||
|
block_end $"Emulation/Virtualization packages"
|
||||||
|
|
||||||
|
block_start
|
||||||
|
print_pkg_line $"Partition editor" gparted
|
||||||
|
print_pkg_line $"Data recovery" testdisk
|
||||||
|
print_pkg_line $"MBR boot loader" mbr
|
||||||
|
print_pkg_line $"NTFS recovery tools" ntfs-3g
|
||||||
|
print_pkg_line $"Serial terminal emulator" minicom
|
||||||
|
block_end $"Recovery and diagnostic tools"
|
||||||
|
|
||||||
|
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>\
|
||||||
|
<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
|
||||||
|
#gpg --clearsign $outputfile > $outputfile.sig
|
||||||
|
|
||||||
|
rm $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
|
||||||
|
for f in ls $mediumdir/info/release-announcement-*.$outputlang.html; do
|
||||||
|
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
|
||||||
|
done
|
||||||
|
|
||||||
|
case $outputlang in
|
||||||
|
en) SENDADDRESSES="openmamba-users@openmamba.org openmamba-devel@openmamba.org" ;;
|
||||||
|
it) SENDADDRESSES="openmamba-users-it@openmamba.org openmamba-devel-it@openmamba.org" ;;
|
||||||
|
*) SENDADDRESSES=
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$SENDEMAIL" ]; then
|
||||||
|
for a in $SENDADDRESSES; do
|
||||||
|
echo -n "Send email to $a [y/N]?"
|
||||||
|
read ans
|
||||||
|
if [ "$ans" = "y" -o "$ans" = "Y" ]; then
|
||||||
|
cat $tmpfile $outputfile | mail \
|
||||||
|
-a "From: openmamba <noreply@openmamba.org>" \
|
||||||
|
-a "Content-Type: text/html" \
|
||||||
|
-s $"$distribution $distversion ${MEDIA_NAME[i]} $version release announcement" \
|
||||||
|
$a
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user