Release procedures for frontier-related software

The Frontier system has many releasable pieces to it, and here are the procedures for each piece for developers to use.

This is what is on this page:

Client

To be moved here, but for now at http://frontier.cern.ch/dist/FrontierProjectNotes.html

Servlet

To be moved here, but for now at http://frontier.cern.ch/dist/FrontierProjectNotes.html

Tarballs

frontier-squid tarball

  1. Update the SRC and RELEASE variables in squid/Makefile
  2. Set an environment variable for the new version, for example:
    FSQUIDVER=5.8-1
    
  3. If it is a new upstream squid version, do these steps
    SQUIDVER="`echo $FSQUIDVER|sed 's/-.*//'`"
    cd ~/src/frontier/tarballs/frontier-squid5/distrib
    git rm squid-*.tar.gz*
    rm -rf squid-*
    wget http://www.squid-cache.org/Versions/v5/squid-$SQUIDVER.tar.gz
    wget http://www.squid-cache.org/Versions/v5/squid-$SQUIDVER.tar.gz.asc
    git add squid-$SQUIDVER.tar.gz*
    gpg --verify squid-$SQUIDVER.tar.gz.asc squid-$SQUIDVER.tar.gz
    cd /tmp
    tar xzf $OLDPWD/squid-$SQUIDVER.tar.gz
    cd squid-$SQUIDVER
    ./configure --disable-wccp
    make
    
    Then compare /tmp/squid-$SQUIDVER/src/squid.conf.documented to squid/files/postinstall/squid.conf.documented and update it and the corresponding squid.conf.proto with the things that have changed (at minimum, the version number will always change). Even if the upstream squid version hasn't changed, just the release number, update the release number in squid.conf.proto.
  4. Add notes in the RELEASE_NOTES file for the new version.
  5. Commit all changes into git
  6. Create a new version tag for the new release and push to the repository, for example:
    git tag frontier-squid-$FSQUIDVER
    git push
    git push --tags
    
  7. scp RELEASE_NOTES dbfrontier@frontier.cern.ch:dist/frontier-squid-releasenotes.txt
  8. Create a tarball:
    mkdir /tmp/extract
    cd /tmp/extract
    wget -qO- "https://gitlab.cern.ch/frontier/tarballs/frontier-squid5/-/archive/frontier-squid-$FSQUIDVER/frontier-squid-$FSQUIDVER.tar.gz"|tar xzf -
    mv * frontier-squid-$FSQUIDVER
    tar czvf ../frontier-squid-$FSQUIDVER.tar.gz frontier-squid-$FSQUIDVER
    cd ..
    rm -rf extract
    
  9. scp /tmp/frontier-squid-$FSQUIDVER.tar.gz dbfrontier@frontier.cern.ch:dist
  10. Update InstallSquidTarball twiki with new version

RPMs

Frontier rpm releases have these steps in common (replace "package" with individual package name):

  1. If updating the tomcat version in frontier-tomcat, compare its conf/server.xml with src/conf/server.xml.O. If there are changes, update server.xml.O and server.xml.proto.
  2. Commit your changes to git.
  3. Make sure you have created a working directory according to the instructions under "Building frontier rpms" step 1, a directory called "rpms" where each repository for doc, scripts, and all frontier-* packages are checked out under their own name.
  4. Update frontier-package/SPECS/frontier-package.spec with the new version, release4source, and releasenum, and commit to git.
  5. If the spec file has a %changelog, add a new entry and commit to git, otherwise edit frontier-package/doc/frontier-packageRELEASE_NOTES with the new version number and release notes, and commit that to git.
  6. Do git push to upload changes to the git server.
  7. In directory frontier-package/scripts on an Centos7-based system, run ../../scripts/rpmbuild_.sh including entering your passphrase for the signature. Note that on EL9 it may be necessary to kill gpg-agent processes left over from previous login sessions in order to be able to enter your passphrase and sign the RPM.
  8. In the same directory, run ../../scripts/rpm2web.sh /home/dbfrontier/dist/rpms-debug to publish the release to the cernvm-frontier-debug repo. You need to be on a machine on which you can do 'sudo -u dbfrontier' and which is set up with an ssh key to be able to scp from that account to dbfrontier@frontier.cern.ch. Note that rpm2web.sh has an optional -s parameter that allows specification of an alternate location for the rpms directory.
  9. In the same directory, run ../../scripts/rpm2web.sh to install to the regular cernvm-frontier repo. Answer "yes" to the prompt.
  10. In the same directory, run ../../scripts/gittag.sh to create the release tag.
  11. Repeat step 7 on an EL9 system.
  12. As in step 8 on the EL9 system, run ../../scripts/rpm2web.sh /home/dbfrontier/dist/el9-debug and ../../scripts/rpm2web.sh /home/dbfrontier/dist/el9 to release the debug and main versions of the EL9 RPM.
  13. Send a release announcement to frontier-talk@cern.ch.
Edit | Attach | Watch | Print version | History: r45 < r44 < r43 < r42 < r41 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r45 - 2023-08-18 - CarlVuosalo
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Frontier All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback