diff --git a/PACKAGING_FRAMEWORKS b/PACKAGING_FRAMEWORKS index 66dbfe4..d2ede90 100644 --- a/PACKAGING_FRAMEWORKS +++ b/PACKAGING_FRAMEWORKS @@ -1,76 +1,76 @@ This is a quick description on how KDE Frameworks packaging is done. * Ensure everything is green in https://build.kde.org/view/Frameworks%20kf5-qt5/ * Ensure everything is green in http://ci-logs.kde.flaska.net/matrix.html * ./increase_frameworks_version.sh step2 - * ssh -A pkgframeworks@darwini.kde.org, and from there: + * ssh -A pkgframeworks@lxr.kde.org, and from there: First, ensure that the tags from the last release have been pushed! cd ~/release-tools/ git pull rm -rf sources versions REVISIONS_AND_HASHES l10n tags.git * Update version file with the correct version number * Edit config, ensure dry_run=0 * cd ../src && ./kdesrc-build --src-only && cd ../release-tools && ./list_frameworks.sh * In case this detected new frameworks, make sure to increase its version numbers (step1/step2 before missed it) * Pack the sources: ./update_l10n.sh ./make_rc_tag.sh # takes 40 minutes * Locally, ensure the rc tag compiles (to avoid e.g. a bad .po file breaking the build) $ edit extragear/utils/kdesrc-build/kf5-frameworks-build-include to add tag v5.12.0-rc1 in module-set frameworks $ ./fetch_all_tags.sh (runs `git fetch --tags` in all modules including ecm) $ kdesrc-build extra-cmake-modules frameworks * All good, pack it up. $ ./remote-gpg ./pack_all.sh # takes 10 minutes * If you have ssh access to ftpadmin@racnoss.kde.org: ./upload_all.sh # cannot be done from a resumed screen... * Locally, run $ ./grab_from_scripty.sh && ./mail_release_team.sh * To update a tag+tarball after making fixes (grabbing all changes from master) (this is the lazy version of the next solution, it re-commits all po files so it's not as good) ./make_rc_tag.sh kconfigwidgets && ./pack.sh kconfigwidgets && ./upload_all.sh (and re-run ./create_sources_inc if already done) * To update a tag+tarball by cherry-picking a single fix With a script: ./make_updated_tarball.sh newrc|patchrelease The manual way: git checkout local_release (if no such branch exists, there are no translations, just pull master and tag, or make a branch for cherry-picking) git fetch ; git cherry-pick -x sha1 (or git merge origin/master) ; git tag -a vx.y.z-rcN -m "" ; git push --tags Update N in tags.git, check version file, ./pack.sh ; ./upload_all.sh (and re-run ./create_sources_inc if already done) * cat versions/* > REVISIONS_AND_HASHES, if you want to send it all-in-one-go after updates * Write the list of changes in markdown format, into a file called changelog send it to kde-frameworks-devel@kde.org for information and review. This is partly automated with ./generate_changelog.sh Several days later: * 8 hours before the release: $ ssh ftpadmin@racnoss.kde.org "chmod a+rx ~/stable/frameworks/5.xx ; ls -l ~/stable/frameworks" ./tag_all.sh && ./create_sources_inc (not from a resumed screen, for the git push in inqlude-data) cd ../www ; vi index.php # add entry at the top svn commit * Email changelog text to kde-devel@kde.org and kde-core-devel@kde.org, and another mail to kde-announce@kde.org, by running, locally: $ ./grab_from_scripty.sh && ./mail_announcement.sh * Post to the dot on https://dot.kde.org/content/contribute-story * Update the version numbers right away in master. vi version ./increase_frameworks_version.sh step1 To make a patchlevel release: * Use the cherry-pick procedure above. Run "./create_sources_inc x.y.z", commit the new info file. Edit info/kde-frameworks-*.php: mention the "known bugs" and include the new info file under the main one. diff --git a/grab_from_scripty.sh b/grab_from_scripty.sh index b48046a..3a4738d 100755 --- a/grab_from_scripty.sh +++ b/grab_from_scripty.sh @@ -1,9 +1,9 @@ #!/bin/zsh git up rm -f REVISIONS_AND_HASHES tags.git to_commit.diff test -f changelog && mv -f changelog changelog.orig -ssh pkgframeworks@darwini.kde.org 'cd release-tools ; git diff > to_commit.diff' || exit 1 -scp pkgframeworks@darwini.kde.org:~//release-tools/{REVISIONS_AND_HASHES,to_commit.diff,changelog} . +ssh pkgframeworks@lxr.kde.org 'cd release-tools ; git diff > to_commit.diff' || exit 1 +scp pkgframeworks@lxr.kde.org:~//release-tools/{REVISIONS_AND_HASHES,to_commit.diff,changelog} . test -s to_commit.diff && git apply to_commit.diff exit 0 diff --git a/remote-gpg b/remote-gpg index 92128f2..84f8627 100755 --- a/remote-gpg +++ b/remote-gpg @@ -1,31 +1,31 @@ #! /bin/bash # remote-gpg # original author: Dustin J. Mitchell # modified at https://www.isi.edu/~calvin/gpgagent.htm # NOTE: this requires OpenSSH 6.7 or later ! # For OpenSuSE Tumbleweed I had to install http://download.opensuse.org/repositories/home:/dubkat/openSUSE_42.1/x86_64/openssh-7.2p2-134.1.x86_64.rpm # (found at http://software.opensuse.org/package/openssh), and then follow https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html to re-enable DSA! # This also requires GnuPG >= 2.1, with gpg-agent.conf saying: # extra-socket /home/dfaure/.gnupg/S.gpg-agent-extra set -e remote_user=pkgframeworks -host=darwini.kde.org +host=lxr.kde.org REMOTE_HOME=/home/pkgframeworks LOCAL_HOME=$HOME # remove any existing agent socket (in theory `StreamLocalBindUnlink yes` # does this, but in practice, not so much) ssh $remote_user@$host rm -f $REMOTE_HOME/.gnupg/S.gpg-agent ssh -t -R $REMOTE_HOME/.gnupg/S.gpg-agent:$LOCAL_HOME/.gnupg/S.gpg-agent-extra \ $remote_user@$host \ sh -c "echo; echo \"Perform remote GPG operations and hit enter\"; \ read; \ sleep 2; \ rm -f $REMOTE_HOME/.gnupg/S.gpg-agent";