diff --git a/PACKAGING_FRAMEWORKS b/PACKAGING_FRAMEWORKS index b9ad9e4..0cf0e86 100644 --- a/PACKAGING_FRAMEWORKS +++ b/PACKAGING_FRAMEWORKS @@ -1,75 +1,75 @@ This is a quick description on how KDE Frameworks packaging is done. [ ] Ensure that the tags from the last release have been pushed! [ ] Ensure that the version numbers were updated long ago ("step1") - [ ] Ensure everything is green (at least on Linux and FreeBSD) at https://build.kde.org/job/Frameworks/view/Everything + [ ] Ensure everything is green (at least on Linux and FreeBSD) at https://build.kde.org/job/Frameworks/view/Platform%20-%20SUSEQt5.10/ [ ] Ensure everything is green in http://ci-logs.kde.flaska.net/matrix.html (it's dead Jim, it doesn't have Qt 5.9...) [ ] ssh -A pkgframeworks@lxr.kde.org, and from there: Update version file with the correct version number, commit, push. Edit config, ensure dry_run=0 cd ~/release-tools/ ./increase_frameworks_version.sh step1 rm -rf sources versions REVISIONS_AND_HASHES l10n tags.git cd ../src && ./kdesrc-build --src-only && cd ../release-tools && ./list_frameworks.sh && ./update_l10n.sh ; ./increase_frameworks_version.sh step2 # takes 17 minutes [ ] In case this detected new frameworks, check that step1/step2 worked. [ ] Pack the sources: ./make_rc_tag.sh # takes 7 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 $ kdesrc-build frameworks [ ] All good, pack it up. $ ./remote-gpg ./pack_all.sh # takes 7 minutes [ ] If you have ssh access to ftpadmin@milonia.kde.org: ./upload_all.sh # cannot be done from a resumed screen... [ ] Write the list of changes in markdown format, into a file called changelog This is partly automated with ./generate_changelog.sh [ ] 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 Several days later: [ ] 8 hours before the release: $ ssh ftpadmin@milonia.kde.org "chmod a+rx ~/stable/frameworks/5.xx ; ls -l ~/stable/frameworks" [ ] ./tag_all.sh && ./create_sources_inc # takes 5 minutes (not from a resumed screen, for the git push in inqlude-data) cd ../www ; vi index.php # remove the old entry 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.