Edit Info Other
Login

PrepareRelease"

Differences between revisions 12 and 24 (spanning 12 versions)
Revision 12 as of 2009-05-26 18:05:49
Size: 2055
Comment:
Revision 24 as of 2022-11-17 11:06:02
Size: 3838
Comment:
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
  * build final rpmfusion-{non,}free packages to for release in question where the release and updates repo are enabled, but development disabled   * build final rpmfusion-{non,}free packages to for release in question where the release and updates repo are enabled, but development disabled; generate a new rawhide key and include it as well;
Line 14: Line 14:
  * adjust rpmfusion-{non,}free-remix-kickstarts to use proper mirror manager urls   * Verify that every packages got signed with the proper release key. Resign packages that are not (such the one that are inherited).

  * adjust mock-rpmfusion-{non,}free, rpmfusion-{non,}free-remix-kickstarts, smart to use proper mirror manager URL.

  * Push the said packages.

  * Adjust the symlinks for rawhide to point to the new rpmfusion-{,non}free-release and rsync with the primary mirror.
  
  * Reference the new gpg keys in the wiki.
Line 26: Line 34:
 * mkdir releases/X; cp development/X/Everything  * mkdir releases/X; cp -al development/X/Everything
Line 28: Line 36:
 * create empty updates{,-testing} repos  * create empty updates{,-testing} repos

 * Update the frontpage Wiki.
 
 * Update Configuration Wiki page.

 * Update Keys Wiki page.
Line 34: Line 48:
Something like 0 to 14 days before release Something like 0 to 14 days before release branch cvs:
Line 38: Line 52:
 * add target files for plague-server and plague-builders  * create and add new mock config files to all builders; let them use rawhide (as the directories for the new release is not there yet) temporary as there are no updates repos yet
Line 40: Line 54:
 * add new mock config files to all builders; let them use rawhide (as the directories for the new release is not there yet) temporary as there are no updates repos yet  * create amnd add target files for plague-builders and restart them; then create and add target files for plague-server and restart them

 * some more steps on the CVS box that only Xavier knows
Line 44: Line 60:
for j in free nonfree; do for i in /cvs/${j}/rpms/*/devel/*.spec,v ; do echo /usr/local/bin/mkbranchwrapper-${j} $(basename $(dirname $(dirname ${i}))) F-10; read -t 1 -s -n 1 ; done; done for j in free nonfree; do for i in /cvs/${j}/rpms/*/devel/*.spec,v ; do packagename=$(basename $(dirname $(dirname ${i}))); if [[ -e /cvs/${j}/rpms/"${packagename}"/dead.package ]]; then echo "${packagename} seems to be a dead.package, but contains a spec file" >&2; else echo /usr/local/bin/mkbranchwrapper-${j} ${packagename} F-12; fi ;read -t 2 -s -n 1 ; done; done &> log
Line 46: Line 62:

 * adjust config files for push scripts and test the scripts; wun WhatsNew.py once with each config
Line 56: Line 74:

 * build a new release rpm that has rpmfusion-rawhide enabled and stock repos disabled

 * Resign early the packages in rawhide with new key.

 * add target for new release in bugzilla

== Fixme ==

Needs to be added to the proper places

 * update wiki:

  * installation notes

 * recreate repoview with proper title:
 {{{
for i in */{os,SRPMS}/ ; do cd ${i}; repoview -f -s ../../source/SRPMS/ -t "RPM Fusion (Fedora - nonfree - released) 12 ($(dirname ${i}))" . ; cd - ; done
# alternate:
repo=free ; release=14; for i in */{os,debug,SRPMS}/ ; do cd ${i}; /usr/bin/createrepo -q -d --unique-md-filenames --changelog-limit=8 -s sha256 . ; repoview -f -s ../../source/SRPMS/ -t "RPM Fusion (Fedora - ${repo} - released) ${release} ($(dirname ${i}))" . ; cd - ; done
}}}
 

About 10 to 14 days before estimated Fedora release

  • open freeze: tell packagers to only build packages if there is a strong reason to
  • check more aggressively for broken deps and broken packages to make sure they get fixed

When final fedora-release got built and published

  • Add aliases to mirrormanager; once done
    • build final rpmfusion-{non,}free packages to for release in question where the release and updates repo are enabled, but development disabled; generate a new rawhide key and include it as well;
    • Verify that every packages got signed with the proper release key. Resign packages that are not (such the one that are inherited).
    • adjust mock-rpmfusion-{non,}free, rpmfusion-{non,}free-remix-kickstarts, smart to use proper mirror manager URL.
    • Push the said packages.
    • Adjust the symlinks for rawhide to point to the new rpmfusion-{,non}free-release and rsync with the primary mirror.
    • Reference the new gpg keys in the wiki.
  • Prepare a "RPM Fusion is ready for F X" announcement mail

When Fedora release is finished

  • remove all packages that are known to be broken
  • remove all packages that have broken deps
  • remove all *-kmod-src.rpm packages from the repos; at the same time rebuilt all kmod packages and make sure akmods packages get built
  • mkdir releases/X; cp -al development/X/Everything
  • create empty updates{,-testing} repos
  • Update the frontpage Wiki.
  • Update Configuration Wiki page.
  • Update Keys Wiki page.

branching

First bunch

Something like 0 to 14 days before release branch cvs:

  • add line for new release in CVS at {non,}free/common/branches (leave the devel entry as it is)
  • create and add new mock config files to all builders; let them use rawhide (as the directories for the new release is not there yet) temporary as there are no updates repos yet
  • create amnd add target files for plague-builders and restart them; then create and add target files for plague-server and restart them
  • some more steps on the CVS box that only Xavier knows
  • Branch in CVS:

for j in free nonfree; do for i in /cvs/${j}/rpms/*/devel/*.spec,v ; do packagename=$(basename $(dirname $(dirname ${i}))); if [[ -e /cvs/${j}/rpms/"${packagename}"/dead.package ]]; then echo "${packagename} seems to be a dead.package, but contains a spec file" >&2; else echo /usr/local/bin/mkbranchwrapper-${j} ${packagename} F-12; fi ;read -t 2 -s -n 1 ; done; done &> log
  • adjust config files for push scripts and test the scripts; wun WhatsNew.py once with each config

Second part

When new release is out and rawhide is rolling towards the next release again:

  • finally adjust the dist release in CVS at {non,}free/common/branches
  • adjust dist tag and release version in mock config files of all builders
  • adjust config files for new release to point to new directories instead of rawhide
  • build a new release rpm that has rpmfusion-rawhide enabled and stock repos disabled
  • Resign early the packages in rawhide with new key.
  • add target for new release in bugzilla

Fixme

Needs to be added to the proper places

  • update wiki:
    • installation notes
  • recreate repoview with proper title:
    for i in */{os,SRPMS}/ ; do cd ${i}; repoview -f -s ../../source/SRPMS/ -t "RPM Fusion (Fedora - nonfree - released) 12 ($(dirname ${i}))" . ; cd - ; done
    # alternate:
    repo=free ; release=14; for i in */{os,debug,SRPMS}/ ; do cd ${i}; /usr/bin/createrepo -q -d --unique-md-filenames --changelog-limit=8 -s sha256 . ;  repoview -f -s ../../source/SRPMS/ -t "RPM Fusion (Fedora - ${repo} - released) ${release} ($(dirname ${i}))" . ; cd - ; done

Infrastructure/PrepareRelease (last edited 2024-04-20 17:21:05 by Sérgio Basto)