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 ' ' >> $output echo ' ' >> $output echo ' ' >> $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 '
LocationSizeSha1 Sum
' >> $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