diff --git a/create_sources_inc b/create_sources_inc
index c586153..4a0977f 100755
--- a/create_sources_inc
+++ b/create_sources_inc
@@ -1,207 +1,212 @@
#!/bin/bash
. version
. config
# for patch-level releases.
onlyversion=$1
if [ -n "$onlyversion" ]; then
version=$onlyversion
fi
# For inqlude
export PATH=$HOME/.gem/ruby/2.3.0/bin:$PATH
export LC_ALL=en_US.UTF-8
if ! ssh-add -l >/dev/null ; then
exit 1
fi
if ! test -f changelog; then
echo "Missing changelog file"
exit 1
fi
if [ ! -f bugzilla-cookies.inc ]; then
echo "Missing bugzilla cookies file"
exit 1
fi
if ! command -v gem >/dev/null ; then
echo "gem not found"
exit 1
fi
if ! command -v curl >/dev/null ; then
echo "curl not found"
exit 1
fi
export LC_ALL=en_US.UTF-8
# E.g. 'October 06, 2014'
date=`date +'%B %d, %Y'`
# E.g. '06th October 2014'
otherdate="`date +'%d'`th `date +'%B %Y'`"
# If automatic date isn't what you want, set this instead
# Remember to comment it out afterwards
# date='October 07, 2014'
# otherdate='07th October 2014'
releasetools=$PWD
# version=x.y.z ==> dir=x.y
# Patch-level releases go into the same directory, since they are typically just one framework
dir=`echo $version | sed -e 's/\.[0-9]$//'`
output=../www/info/source-kf-$version.inc
echo > $output
process_file()
{
i=$1
filename=`basename $i`
echo '
' >> $output
l=`echo $filename | sed -e "s#.tar.xz##"`
echo ' '$l' | ' >> $output
size=`stat -c "%s" $i`
size=`echo "$size / 1024" | bc`
if test "$size" -lt 1024; then
size="$size"kB
else
size=`echo "($size * 10) / 1024" | bc`
if test "$size" -lt 100; then
size=`echo "$size"MB | sed -e "s#\(.\)MB#.\1MB#"`
else
size=`echo "$size"MB | sed -e "s#\(.\)MB#MB#"`
fi
fi
echo ' '$size' | ' >> $output
sha1=`sha1sum $i | cut -f1 -d' '`
echo ' '$sha1' | ' >> $output
echo '
' >> $output
echo '' >> $output
}
process_folder()
{
- for i in $1/*.tar.xz; do
+ for i in $1/*.tar.xz; do
process_file $i
done
}
echo '' >> $output
echo '' >> $output
echo ' Location | ' >> $output
echo ' Size | ' >> $output
echo ' Sha1 Sum | ' >> $output
echo '
' >> $output
if [ -n "$onlyversion" ]; then
for i in sources/*-$onlyversion.tar.xz; do
process_file $i
done
else
process_folder "sources" "$onlyversion"
if [ -d "sources/kde-l10n" ]; then
process_folder "sources/kde-l10n"
fi
fi
echo '
' >> $output
cd `dirname $output`
svn add `basename $output`
if [ -n "$onlyversion" ]; then
exit 0
fi
##################
# Now create the main info page
cp kde-frameworks-template.php kde-frameworks-$version.php
perl -pi -e "s/5\.1\.0/$version/g" kde-frameworks-$version.php
svn add kde-frameworks-$version.php
#######
# Now create the announcement page
cd ../announcements
svn up
rm -f kde-frameworks-$version.php
cp kde-frameworks-template.top kde-frameworks-$version.php
sed -e 's,<,\<,g ; s,>,\>,g' $releasetools/changelog | $releasetools/Markdown.pl | $releasetools/make_changelog_translatable.pl >> kde-frameworks-$version.php
cat kde-frameworks-template.bottom >> kde-frameworks-$version.php
qtver=`perl -pe 'print $1 if (/VERSION (.*?)\.0\)/); $_=""' ~/src/frameworks/kcoreaddons/CMakeLists.txt`
echo "Required Qt version: $qtver"
perl -pi -e "s/\"5.2\"/\"$qtver\"/" kde-frameworks-$version.php
perl -pi -e "s/5\.1\.0/$version/g" kde-frameworks-$version.php
perl -pi -e "s/INSERT_DATE_HERE/$date/" kde-frameworks-$version.php
perl -pi -e "s/DIRECTORY/$dir/" kde-frameworks-$version.php
svn add kde-frameworks-$version.php
########
# Output lines for announcements/index.php
announcelines="
$otherdate - KDE Frameworks $version released
\\\"KDE Ships Frameworks $version.\\\"
"
perl -pi -e "\$_ .= \"$announcelines\" if (/INSERT NEW ENTRIES BELOW THIS LINE/);" index.php
oldpwd=$PWD
#####
# Take care of the inqlude data
gem install --user-install --no-rdoc --no-ri inqlude
inqludedata=$HOME/inqlude-data
cd $inqludedata
git pull
inqlude create_kde_frameworks $srcdir/frameworks $inqludedata
inqlude release_kde_frameworks `date --iso` $version
git add .
git commit -a -m "Update inqlude-data for KDE Frameworks $version"
git push
########
# Make release announcement translatable
cd ~/l10n-kde4-scripts
svn up
l10nentry=" release_files[\"$version\"] = [\"kde-frameworks-$version.php\"]";
perl -pi -e "\$_ = '$l10nentry' . \"\\n\" . \$_ if (/NEW_FRAMEWORK_RELEASE/);" generate_release_data.py
svn ci -m "add frameworks-$version to generate_release_data.py"
#######
# Add versions in bugzilla
cd $releasetools
./create_bugzilla_versions.sh
########
# Toplevel index.php
cd $oldpwd/..
svn up index.php
-mainpagelines="KDE Releases Frameworks $version
-$date. KDE ships monthly release of KDE Frameworks 5, our modular Qt libraries.
-
+mainpagelines="
+ KDE Releases Frameworks $version $date
+ This release is part of a series of planned monthly releases
+ making improvements available to developers in a quick and predictable
+ manner.
+ Read full announcement
+
"
+
perl -pi -e "\$_ .= \"$mainpagelines\" if (/Latest Announcements/);" index.php
echo "TODO: edit www/index.php, and remove older entry"
echo
echo
diff --git a/parse_changelogs.pl b/parse_changelogs.pl
index c1a63b5..a0d8f41 100755
--- a/parse_changelogs.pl
+++ b/parse_changelogs.pl
@@ -1,160 +1,162 @@
#!/usr/bin/perl
use strict;
use warnings;
my $in_headers = 0;
my $in_log = 0;
my $firstline;
my $changelog;
my $bugline;
my $skip = 1;
my $firstchange = 1;
my $fwname;
sub process_commit()
{
if (defined $firstline && !defined $changelog) {
$skip = 1 if ($firstline =~ /coding style/i);
$skip = 1 if ($firstline =~ /autotest/i);
$skip = 1 if ($firstline =~ /unit ?test/i);
$skip = 1 if ($firstline =~ /unit-test/i);
$skip = 1 if ($firstline =~ /documentation/i);
$skip = 1 if ($firstline =~ /fix test/i);
$skip = 1 if ($firstline =~ /fix runtime warning/i);
$skip = 1 if ($firstline =~ /clang warning/i);
$skip = 1 if ($firstline =~ /--warning/i);
$skip = 1 if ($firstline =~ /missing license/i);
$skip = 1 if ($firstline =~ /^doc$/i);
$skip = 1 if ($firstline =~ /^docu /i);
$skip = 1 if ($firstline =~ /fix docs/i);
$skip = 1 if ($firstline =~ /apidox/i);
$skip = 1 if ($firstline =~ /pedantic/i);
$skip = 1 if ($firstline =~ /fix build/i);
$skip = 1 if ($firstline =~ /fix debug/i);
$skip = 1 if ($firstline =~ /debug statement/i);
$skip = 1 if ($firstline =~ /debug area/i);
$skip = 1 if ($firstline =~ /debug output/i);
$skip = 1 if ($firstline =~ /test executable/i);
$skip = 1 if ($firstline =~ /test application/i);
$skip = 1 if ($firstline =~ /test file/i);
$skip = 1 if ($firstline =~ /^fix comment/i);
$skip = 1 if ($firstline =~ /adjust comment/i);
$skip = 1 if ($firstline =~ /^pedantic/i);
$skip = 1 if ($firstline =~ /^compile\+\+/i);
$skip = 1 if ($firstline =~ /^comment\+\+/i);
$skip = 1 if ($firstline =~ /minor/i);
$skip = 1 if ($firstline =~ /krazy/i);
$skip = 1 if ($firstline =~ /arcconfig/i);
$skip = 1 if ($firstline =~ /kf6 todo/i);
$skip = 1 if ($firstline =~ /normalize signal/i);
$skip = 1 if ($firstline =~ /bump version/i);
$skip = 1 if ($firstline =~ /reorder variable/i);
$skip = 1 if ($firstline =~ /update version number/i);
$skip = 1 if ($firstline =~ /add missing file/i);
$skip = 1 if ($firstline =~ /fix typo/i);
$skip = 1 if ($firstline =~ /fix compil/i);
$skip = 1 if ($firstline =~ /typo fix/i);
$skip = 1 if ($firstline =~ /remove dead code/i);
$skip = 1 if ($firstline =~ /gitignore/i);
$skip = 1 if ($firstline =~ /^cleanup$/i);
$skip = 1 if ($firstline =~ /code cleanup/i);
$skip = 1 if ($firstline =~ /Clazy/i);
$skip = 1 if ($firstline =~ /clang/i);
$skip = 1 if ($firstline =~ /unused variable/i);
$skip = 1 if ($firstline =~ /unused function/i);
$skip = 1 if ($firstline =~ /^Merge remote-tracking branch/i);
$skip = 1 if ($firstline =~ /QStringLiteral/i);
+ $skip = 1 if ($firstline =~ /Prefer nullptr over/i);
+ $skip = 1 if ($firstline =~ /nullptr everywhere/i);
$skip = 1 if ($firstline =~ /new connect/i);
$skip = 1 if ($firstline =~ /qstring optimization/i);
$skip = 1 if ($firstline =~ /fix binding loop/i);
$skip = 1 if ($firstline =~ /CompilerSettings change the policies/i);
$skip = 1 if ($firstline =~ /Individually specify supported platforms/i);
$skip = 1 if ($firstline =~ /Promote Android support/i);
$skip = 1 if ($firstline =~ /Add FreeBSD/i);
$skip = 1 if ($firstline =~ /Require CMake 3.0/i);
$skip = 1 if ($firstline =~ /Q_DECL_OVERRIDE/i);
$skip = 1 if ($firstline =~ /Q_ENUMS -> Q_ENUM and Q_FLAGS -> Q_FLAG/i);
}
if (!$skip) {
if ($firstchange) {
$firstchange = 0;
print "##" . $fwname;
print "\n";
}
my $suffix = "";
if (defined $bugline) {
$suffix = " (bug $bugline)";
}
if (defined $changelog) {
print "* " . $changelog . $suffix . "\n";
} elsif (defined $firstline) {
print "* " . $firstline . $suffix . "\n";
} else {
print "EMPTY COMMIT...\n";
}
}
# clear vars
undef $firstline;
undef $changelog;
undef $bugline;
$skip = 0;
$in_headers = 1;
}
while (<>) {
if (!defined $fwname) {
$fwname = $_;
}
if (/^commit/) {
# process previous commit
process_commit();
} elsif (/^$/) {
if ($in_headers) {
$in_headers = 0;
$in_log = 1;
} else {
$in_headers = 1;
$in_log = 0;
}
} else {
if ($in_log) {
s/^ //;
s/\.$//; # remove trailing dot
chomp;
if (!defined $firstline && !/^\s*$/) {
$firstline = $_;
}
if (/CHANGELOG:/) {
s/\s*CHANGELOG:\ *//;
$changelog = $_;
}
if (/BUG:/) {
s/.*BUG:\ *//;
$bugline = $_;
}
$skip = 1 if (/SVN_SILENT/ || /GIT_SILENT/);
$skip = 1 if (/Upgrade ECM and KF5 version/);
$skip = 1 if (/Commit translations/);
$skip = 1 if (/Upgrade KF5 version/);
$skip = 1 if (/Upgrade ECM version/);
$skip = 1 if (/Update ECM version/);
- $skip = 1 if (/Upgrade Qt version requirement/);
+ $skip = 1 if (/Upgrade Qt5? version requirement/);
$skip = 1 if (/Qt 5.5.0 is now required, as discussed on kde-frameworks-devel/);
$skip = 1 if (/reviewboardrc/);
$skip = 1 if (/Add verbose (?:|ecm )message (?:|for )when ECM (?:isn\'t|is not) found/i);
}
}
}
# process last commit
process_commit();
if (!$firstchange) {
print "\n";
}
diff --git a/version b/version
index 551201e..5023a02 100644
--- a/version
+++ b/version
@@ -1,5 +1,4 @@
-# Dec 2016: 5.29
-# Jan 2017: 5.30
# Feb 2017: 5.31
-previousversion=5.30.0
-version=5.31.0
+# Mar 2017: 5.32
+previousversion=5.31.0
+version=5.32.0