-
Notifications
You must be signed in to change notification settings - Fork 11
CentOS RPM Repository
Andrew R. Lake edited this page Mar 18, 2015
·
3 revisions
- Checkout https://cvs3.internet2.edu/svn/software/
- Create a branch of trunk
- Commit the branch
- Create a new Internet2-repo RPM
- Checkout https://github.com/perfsonar/internet2-repo.git
- Edit the spec file, and bump the release number
- Edit the etc.dist/Internet2.repo file and change the mirrorlist entry to point to your new branch:
before:
mirrorlist = http://software.internet2.edu/rpms/mirrors-Internet2
after:
baseurl = http://software.internet2.edu/branches/aaron-testing/rpms/i386/main/
- Build the RPM (make the tarball and build it with the spec), and commit it to the branch
- The RPM must be signed, otherwise yum won't install it
- Contact someone at Internet2 to update the repository, or wait for a few hours, and it will get populated
- Checkout your branch (e.g. https://cvs3.internet2.edu/svn/software/branches/aaron-testing)
- Add your RPMs to the branch
- The RPMs must be signed, otherwise yum won't install it
- Commit your RPMs
- Contact someone at Internet2 to update the repository, or wait for a few hours, and it will get populated
- Edit the kickstart, and replace the "mirrorlist" for the Internet2 repo with the baseurl for your branch
before:
repo --name=a-Internet2 --mirrorlist=http://software.internet2.edu/rpms/mirrors-Toolkit-Internet2
after:
repo --name=a-Internet2 --baseurl=http://software.internet2.edu/branches/aaron-testing/rpms/i386/main
- It can also be helpful to make a couple other changes. In the %post section, there are two lines that can be uncommented so save the results of the %post to a file accessible after the installation.
before:
#(
...
#) 1> /root/post_install.log 2>&1
after:
(
...
) 1> /root/post_install.log 2>&1
- Follow the NetInstall and Full DVD instructions with the updated kickstart created above
If none of your users are going to try to update from the test release to the final release, do the following:
- Merge the changed RPMs from the branch into trunk EXCEPT Internet2-repo
- Commit the RPMs
- Delete the branch
- Contact someone at Internet2 to update the repository, or wait for a few hours, and it will get populated
If your users want to update from the test release to the final release, do the following:
- Create a new Internet2-repo RPM with an updated version number (greater than the one in your repository). This RPM should point at the original location (i.e. not at your branch).
- Upload that RPM to your branch, and commit it.
- Upload that RPM to the trunk, and commit it.
- Merge all the changed RPMs from your branch into the trunk
- Commit the RPMs
- Contact someone at Internet2 to update the repository, or wait for a few hours, and it will get populated
- Wait until all your users have upgraded. They'll need to upgrade twice: Once to get the new Internet2-repo RPM pointing back at trunk, and once again to get any new RPMs from trunk.
- Delete the branch
- Create a branch named like "release-3.2.1-rc1" using the instructions above
- Copy the branch for the previous -rc (e.g. "release-3.2.1-rc1") to the new one (e.g. "release-3.2.1-rc2").
- Update the RPMs as needed, including the Internet2-repo file.
- To enable your users to upgrade from the previous -rc release, you'll need to copy the new Internet2-repo file to the previous -rc branch. When the user does a "yum update", their machine will download the update repository RPM which should point at the new -rc branch. When they do a "yum update" again, their machine will download the RPMs from the new -rc. Once everyone has updated, you can delete the branch.