diff --git a/.github/workflows/tarball-build-test.yml b/.github/workflows/tarball-build-test.yml index eb70b2f..ef5edfc 100644 --- a/.github/workflows/tarball-build-test.yml +++ b/.github/workflows/tarball-build-test.yml @@ -6,10 +6,11 @@ jobs: test-build: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: OS_TYPE: ["almalinux"] - OS_VERSION: [8, 9] - OSG_VERSION: [24.123456, 25.123456] + OS_VERSION: [8, 9, 10] + OSG_VERSION: [25.123456, 26.123456] env: OS_TYPE: ${{ matrix.OS_TYPE }} OS_VERSION: ${{ matrix.OS_VERSION }} diff --git a/bundles.ini b/bundles.ini index 825a5a0..6f58662 100644 --- a/bundles.ini +++ b/bundles.ini @@ -5,6 +5,7 @@ default_bundles_3.6=osg-wn-client-3.6 default_bundles_23=osg-wn-client-23 default_bundles_24=osg-wn-client-24 default_bundles_25=osg-wn-client-25 +default_bundles_26=osg-wn-client-26 ; This file defines the tarball bundles that we can create @@ -139,6 +140,18 @@ packages = osg-wn-client osg-update-data repofile = repos/osg-25-%(dver)s.repo.in stage1file = osg-stage1-%(dver)s.lst +[osg-wn-client-26] +paramsets = el8,x86_64 el9,x86_64 el10,x86_64 +patchdirs = patches/wn-client/common + patches/wn-client/common/%(dver)s + patches/wn-client/2xi54/%(dver)s + +dirname = osg-wn-client +tarballname = osg-wn-client-%(version)s-%(relnum)s.%(dver)s.%(basearch)s.tar.gz +packages = osg-wn-client osg-update-data +repofile = repos/osg-26-%(dver)s.repo.in +stage1file = osg-stage1-%(dver)s.lst + [osg-afs-client-3.5] paramsets = el7,x86_64 patchdirs = patches/wn-client/common @@ -198,4 +211,3 @@ packages = glue repofile = repos/ligo-el6.repo.in versionrpm = glue stage1file = ligo-stage1.lst - diff --git a/make_client_tarball.py b/make_client_tarball.py index 9b0b349..acfbca1 100755 --- a/make_client_tarball.py +++ b/make_client_tarball.py @@ -157,7 +157,7 @@ def main(argv): bundlecfg = ConfigParser.RawConfigParser() with open(os.path.join(prog_dir, BUNDLES_FILE)) as bundlesfh: - bundlecfg.readfp(bundlesfh) + bundlecfg.read_file(bundlesfh) if options.bundles: bundles = options.bundles diff --git a/repos/osg-26-el10.repo.in b/repos/osg-26-el10.repo.in new file mode 100644 index 0000000..e6400c5 --- /dev/null +++ b/repos/osg-26-el10.repo.in @@ -0,0 +1,106 @@ +[osg-minefield-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-development/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-development (%(basearch)s) +enabled = 0 +#includepkgs = + +[os-appstream] +name=AlmaLinux %(dver)s - AppStream +mirrorlist=https://mirrors.almalinux.org/mirrorlist/10/appstream +# baseurl=https://repo.almalinux.org/almalinux/10/AppStream/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10 +metadata_expire=86400 +enabled_metadata=1 + +[os-baseos] +name=AlmaLinux %(dver)s - BaseOS +mirrorlist=https://mirrors.almalinux.org/mirrorlist/10/baseos +# baseurl=https://repo.almalinux.org/almalinux/10/BaseOS/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10 +metadata_expire=86400 +enabled_metadata=1 + +#additional packages that may be useful +[os-extras] +name=AlmaLinux %(dver)s - Extras +mirrorlist=https://mirrors.almalinux.org/mirrorlist/10/extras +# baseurl=https://repo.almalinux.org/almalinux/10/extras/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10 +metadata_expire=86400 +enabled_metadata=0 + +[os-crb] +name=AlmaLinux %(dver)s - CRB +mirrorlist=https://mirrors.almalinux.org/mirrorlist/10/crb +# baseurl=https://repo.almalinux.org/almalinux/10/CRB/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10 +metadata_expire=86400 +enabled_metadata=0 + +[os-epel] +name=Extra Packages for Enterprise Linux %(dver)s - %(basearch)s +#baseurl=https://download.example/pub/epel/%(dver)s/Everything/%(basearch)s/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-9&arch=%(basearch)s&infra=$infra&content=$contentdir +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%(dver)s + +[osg-testing-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/testing/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-testing/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-testing (%(basearch)s) +enabled = 0 +includepkgs = + +[devops-production-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/production/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-production/latest/%(basearch)s/ +name = osg-devops-production (%(basearch)s) +enabled = 0 +#includepkgs = + +[devops-itb-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/itb/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-itb/latest/%(basearch)s/ +name = osg-devops-itb (%(basearch)s) +enabled = 0 +#includepkgs = + +# prerelease needs to have better priority than release-build to +# properly handle the edge case where release-build has a package of +# higher version than prerelease. +[osg-prerelease-for-tarball] +priority = 97 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-prerelease/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-prerelease (%(basearch)s) +enabled = 1 + +[osg-release-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/release/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-release/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-release (%(basearch)s) +enabled = 1 diff --git a/repos/osg-26-el8.repo.in b/repos/osg-26-el8.repo.in new file mode 100644 index 0000000..544fe39 --- /dev/null +++ b/repos/osg-26-el8.repo.in @@ -0,0 +1,92 @@ +[osg-minefield-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-development/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-development (%(basearch)s) +enabled = 0 +#includepkgs = + +[os-appstream] +name=AlmaLinux 8 - AppStream +mirrorlist=https://mirrors.almalinux.org/mirrorlist/8/appstream +#baseurl=https://repo.almalinux.org/almalinux/8/AppStream/%(basearch)s/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux + +[os-baseos] +name=AlmaLinux 8 - BaseOS +mirrorlist=https://mirrors.almalinux.org/mirrorlist/8/baseos +#baseurl=https://repo.almalinux.org/almalinux/8/BaseOS/%(basearch)s/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux + +[os-extras] +name=AlmaLinux 8 - Extras +mirrorlist=https://mirrors.almalinux.org/mirrorlist/8/extras +#baseurl=https://repo.almalinux.org/almalinux/8/extras/%(basearch)s/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux + +[os-powertools] +name=AlmaLinux 8 - PowerTools +mirrorlist=https://mirrors.almalinux.org/mirrorlist/8/powertools +#baseurl=https://repo.almalinux.org/almalinux/8/PowerTools/%(basearch)s/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux + +[os-epel] +name=Extra Packages for Enterprise Linux 8 - %(basearch)s +#baseurl=https://download.fedoraproject.org/pub/epel/8/Everything/%(basearch)s +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=%(basearch)s&infra=$infra&content=$contentdir +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 + +[osg-testing-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/testing/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-testing/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-testing (%(basearch)s) +enabled = 0 +includepkgs = + +[devops-production-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/production/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-production/latest/%(basearch)s/ +name = osg-devops-production (%(basearch)s) +enabled = 0 +#includepkgs = + +[devops-itb-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/itb/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-itb/latest/%(basearch)s/ +name = osg-devops-itb (%(basearch)s) +enabled = 0 +#includepkgs = + +# prerelease needs to have better priority than release-build to +# properly handle the edge case where release-build has a package of +# higher version than prerelease. +[osg-prerelease-for-tarball] +priority = 97 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-prerelease/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-prerelease (%(basearch)s) +enabled = 1 + +[osg-release-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/release/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-release/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-release (%(basearch)s) +enabled = 1 diff --git a/repos/osg-26-el9.repo.in b/repos/osg-26-el9.repo.in new file mode 100644 index 0000000..0c5331c --- /dev/null +++ b/repos/osg-26-el9.repo.in @@ -0,0 +1,106 @@ +[osg-minefield-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-development/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-development (%(basearch)s) +enabled = 0 +#includepkgs = + +[os-appstream] +name=AlmaLinux %(dver)s - AppStream +mirrorlist=https://mirrors.almalinux.org/mirrorlist/9/appstream +# baseurl=https://repo.almalinux.org/almalinux/9/AppStream/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 +metadata_expire=86400 +enabled_metadata=1 + +[os-baseos] +name=AlmaLinux %(dver)s - BaseOS +mirrorlist=https://mirrors.almalinux.org/mirrorlist/9/baseos +# baseurl=https://repo.almalinux.org/almalinux/9/BaseOS/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 +metadata_expire=86400 +enabled_metadata=1 + +#additional packages that may be useful +[os-extras] +name=AlmaLinux %(dver)s - Extras +mirrorlist=https://mirrors.almalinux.org/mirrorlist/9/extras +# baseurl=https://repo.almalinux.org/almalinux/9/extras/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 +metadata_expire=86400 +enabled_metadata=0 + +[os-crb] +name=AlmaLinux %(dver)s - CRB +mirrorlist=https://mirrors.almalinux.org/mirrorlist/9/crb +# baseurl=https://repo.almalinux.org/almalinux/9/CRB/%(basearch)s/os/ +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 +metadata_expire=86400 +enabled_metadata=0 + +[os-epel] +name=Extra Packages for Enterprise Linux %(dver)s - %(basearch)s +#baseurl=https://download.example/pub/epel/%(dver)s/Everything/%(basearch)s/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-9&arch=%(basearch)s&infra=$infra&content=$contentdir +enabled=1 +gpgcheck=1 +countme=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-%(dver)s + +[osg-testing-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/testing/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-testing/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-testing (%(basearch)s) +enabled = 0 +includepkgs = + +[devops-production-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/production/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-production/latest/%(basearch)s/ +name = osg-devops-production (%(basearch)s) +enabled = 0 +#includepkgs = + +[devops-itb-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/devops/%(dver)s/itb/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/devops-%(dver)s-itb/latest/%(basearch)s/ +name = osg-devops-itb (%(basearch)s) +enabled = 0 +#includepkgs = + +# prerelease needs to have better priority than release-build to +# properly handle the edge case where release-build has a package of +# higher version than prerelease. +[osg-prerelease-for-tarball] +priority = 97 +gpgcheck = 0 +baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-prerelease/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-prerelease (%(basearch)s) +enabled = 1 + +[osg-release-for-tarball] +priority = 98 +gpgcheck = 0 +baseurl = https://repo.opensciencegrid.org/osg/26-main/%(dver)s/release/%(basearch)s/ +#baseurl = http://koji.chtc.wisc.edu/mnt/koji/repos/osg-26-main-%(dver)s-release/latest/%(basearch)s/ +name = osg-26-main-%(dver)s-release (%(basearch)s) +enabled = 1 diff --git a/stage1.py b/stage1.py index 6656fcd..3285442 100755 --- a/stage1.py +++ b/stage1.py @@ -16,7 +16,6 @@ import grp import os from os.path import join as opj -import pipes import shlex import shutil import stat @@ -130,7 +129,7 @@ def make_stage1_rpmlist(stage_dir, stage1_root): oldwd = os.getcwd() try: os.chdir(stage_dir) - os.system('rpm -qa --root=' + pipes.quote(stage1_root) + ' > stage1_rpmlist') + os.system('rpm -qa --root=' + shlex.quote(stage1_root) + ' > stage1_rpmlist') finally: os.chdir(oldwd) diff --git a/upload-tarballs-to-oasis b/upload-tarballs-to-oasis index 9e11cff..103dfc3 100755 --- a/upload-tarballs-to-oasis +++ b/upload-tarballs-to-oasis @@ -199,6 +199,7 @@ foreach_dver_arch() { 23-main) dver_arches=({el8,el9}.x86_64);; 24-main) dver_arches=({el8,el9}.x86_64);; 25-main) dver_arches=({el8,el9,el10}.x86_64);; + 26-main) dver_arches=({el8,el9,el10}.x86_64);; esac for dver_arch in ${dver_arches[@]}; do @@ -213,4 +214,3 @@ foreach_dver_arch() { } main "$@" - diff --git a/yumconf.py b/yumconf.py index 8f5e7d6..c831f2e 100644 --- a/yumconf.py +++ b/yumconf.py @@ -81,10 +81,10 @@ def _set_main(self): def _add_repos(self): - self.repotemplate = ConfigParser.SafeConfigParser({'dver': self.dver, 'basearch': self.basearch}) + self.repotemplate = ConfigParser.ConfigParser({'dver': self.dver, 'basearch': self.basearch}) with open(self.templatefile, 'r') as templatefp: - self.repotemplate.readfp(templatefp) + self.repotemplate.read_file(templatefp) for sec in self.repotemplate.sections(): if not self.config.has_section(sec):