Compare commits

...

50 Commits

Author SHA1 Message Date
18ecf1a8ac
fix debug repo format
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-21 16:55:01 -07:00
9a53bf6f5c
adjust most formatting to f-string
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-21 16:51:40 -07:00
4cfcf75e8d
update poetry.lock again
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-21 13:25:32 -07:00
72ed6301f0
update to 3.9
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-21 13:24:49 -07:00
57c78f84c3
update deps
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-21 13:23:45 -07:00
2cff98e5d1
update deps for poetry lock
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-21 13:19:49 -07:00
1bfc1615d0
live iso should default to 0 increment
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-21 13:14:20 -07:00
efbdafd84b
adjust commands to be consistent
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 7s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-21 13:11:02 -07:00
7d54ace28e
mangle: oval.sh contains a broken podman command
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-10 01:36:29 -07:00
cfa4bc81e4
add toolbox
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-08 00:06:53 -07:00
59467129e7
add more kiwi directives
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-08 00:05:04 -07:00
bad06d19b5
Fix s3_determine func
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-07 23:47:11 -07:00
3e6d7d3cc0
lorax removes are no longer required for now
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-07 14:07:56 -07:00
1a80921b2b
add kiwi changes
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-07 13:53:04 -07:00
3ffe6962b4
add kiwi info
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-07 13:44:33 -07:00
74fb593919
adjust manglers
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-07 09:27:26 -07:00
544f4ef07a
allow changing increment
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-06 11:46:09 -07:00
dea52484e7
catch checksum as a wildcard
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-05 19:11:03 -07:00
c533ca0737
add dvd as a variant
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-05 19:06:31 -07:00
91f348f8b1
update ISOREADME
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-05 14:11:58 -07:00
0c6f18b24a
address minimal image repoclosure issue
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-05 13:40:06 -07:00
ee330b8157
add python3-lxml to minimal
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-05 13:28:51 -07:00
8dca4cf8c5
the containers are stream, so lorax-templates-rocky isn't a thing
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-04 23:27:45 -07:00
17d8fd7f23
use translators
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-04 18:30:35 -07:00
796e96ed95
use double quotes for fstring
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-04 18:18:50 -07:00
441eaa778b
add root_prefix requirement for shared func
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 3s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-04 18:17:23 -07:00
439f1f7984
fix node pinning, new lorax path
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-04 15:26:32 -04:00
7811415112
utilize extra_repos
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-05-03 13:22:29 -07:00
d860d4e661
don't use hashed repos for rc builds
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-05-01 23:58:43 -04:00
1adce9408b
change toolkit config for 9.4
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-30 03:19:31 -07:00
b1bf2f49dc
switch to 9.4
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-30 01:43:06 -07:00
e9f6b7a99f
add kiwi config items
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-24 00:24:12 -07:00
2d30ed5c29
fix multiline issue in template
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-19 14:41:49 -07:00
6d931afac5
toolkit: add squashfs_only option to configs
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-17 08:37:14 -07:00
b0c0b55232
rl10 configs are the true buildroot
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-14 00:16:20 -07:00
1178e32e1c
fix: broke this by accident
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-04 01:43:40 -04:00
09cac511fb
fix: rocky 8 repo names are capital
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-04 00:43:43 -04:00
c93ee4dcd9
fix: regex
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-04-04 00:42:47 -04:00
7b5fc95765
add lorax-templates-rhel
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-30 23:46:08 -07:00
d018838a6c
add kiwimap to other profiles
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
Signed-off-by: Louis Abel <label@rockylinux.org>
2024-03-29 01:13:15 -07:00
138cb51485
remove variantmap, add check for livemap valid type
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-29 01:05:55 -07:00
2ced55eab2
prepare for additional live builders
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-03-27 17:12:15 -07:00
5300649b09
add missing attr install
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-19 10:53:55 -07:00
3d1574055c
add xattr test
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-19 10:53:34 -07:00
b9826dd7cf
add rl10 configs for all arches
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-18 19:02:06 -07:00
9da86fa538
change lorax-templates-rhel and remove genisoimage
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 2s
2024-03-16 10:45:12 -07:00
392d4c4e89
fix 10lh and prep 9.4 beta
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-16 10:34:12 -07:00
5127772b21
add NetworkManager-wifi to minimal
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 6s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-15 16:48:02 -07:00
a9469f4ffe
empanadas: kernel-common should be kernel-drivers
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
Signed-off-by: Louis Abel <label@rockylinux.org>
2024-03-12 08:56:50 -07:00
e6f308f0e2
add kernel-common repo to sig/kernel
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 5s
Build empanada container images for lorax / buildx (push) Successful in 1s
2024-03-12 10:19:19 -04:00
38 changed files with 1011 additions and 548 deletions

View File

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
r_log "acl" "Install the acl package" r_log "acl" "Install the acl package"
p_installPackageNormal acl p_installPackageNormal acl
p_installPackageNormal attr
# This normally is not needed. # This normally is not needed.
#r_log "acl" "Remount filesystems with ACL support" #r_log "acl" "Remount filesystems with ACL support"
#mount -o remount,acl / #mount -o remount,acl /

View File

@ -0,0 +1,22 @@
#!/bin/bash
ACLIMG=/tmp/testacl.img
r_log "acl" "Test the use of xattr"
touch "${ACLIMG}"
trap '/bin/rm -f ${ACLIMG}' EXIT
# Use setfacl for readonly
r_log "acl" "Create image"
dd if=/dev/zero of=${ACLIMG} bs=1024000 count=100
echo -e 'y\n' | mkfs.ext3 "${ACLIMG}"
mkdir /mnt/xattr
mount -t ext3 -o loop,user_xattr "${ACLIMG}" /mnt/xattr
touch /mnt/xattr/testfile
r_log "acl" "Apply attrs as needed"
setfattr -n user.nobody /mnt/xattr/testfile
getfattr /mnt/xattr/testfile | grep -q 'user.nobody'
final_status=$?
umount /mnt/xattr
r_checkExitStatus $final_status

View File

@ -16,7 +16,7 @@
- aarch64 - aarch64
- ppc64le - ppc64le
- s390x - s390x
provide_multilib: True provide_multilib: False
project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7' project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7'
repo_symlinks: repo_symlinks:
NFV: 'nfv' NFV: 'nfv'
@ -35,6 +35,7 @@
- 'SAPHANA' - 'SAPHANA'
- 'extras' - 'extras'
- 'plus' - 'plus'
extra_repos: []
structure: structure:
packages: 'os/Packages' packages: 'os/Packages'
repodata: 'os/repodata' repodata: 'os/repodata'
@ -65,15 +66,14 @@
- 'AppStream' - 'AppStream'
lorax: lorax:
noupgrade: False noupgrade: False
squashfs_only: True
repos: repos:
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
variant: 'BaseOS' variant: 'BaseOS'
lorax_removes: lorax_removes: []
- 'libreport-rhel-anaconda-bugzilla'
required_pkgs: required_pkgs:
- 'lorax' - 'lorax'
- 'genisoimage'
- 'isomd5sum' - 'isomd5sum'
- 'lorax-templates-rhel' - 'lorax-templates-rhel'
- 'lorax-templates-generic' - 'lorax-templates-generic'
@ -84,26 +84,59 @@
format: vhd format: vhd
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-Azure-Base
- Cloud-Azure-LVM
EC2: EC2:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-EC2-Base
- Cloud-EC2-LVM
GenericCloud: GenericCloud:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-GenericCloud-Base
- Cloud-GenericCloud-LVM
Container: Container:
format: tar.xz format: tar.xz
variants: [Base, Minimal, UBI] variants: [Base, Minimal, Toolbox, UBI]
kiwi:
type: "oci"
profile_names:
- Container-Base
- Container-Minimal
- Container-Toolbox
- Container-UBI
RPI: RPI:
format: raw.xz format: raw.xz
OCP: OCP:
format: qcow2 format: qcow2
variants: [Base] variants: [Base]
kiwi:
type: "oem"
profile_names:
- Cloud-OCP-Base
Vagrant: Vagrant:
format: box format: box
variants: [Libvirt, Vbox, VMware] variants: [Libvirt, Vbox, VMware]
kiwi:
type: "oem"
profile_names:
- Vagrant-Libvirt
- Vagrant-Vbox
- Vagrant-VMware
livemap: livemap:
builder: "lorax"
git_repo: 'https://git.resf.org/sig_core/kickstarts.git' git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
branch: 'r10' branch: 'r10'
ksentry: ksentry:
@ -121,10 +154,21 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap: kiwimap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git' git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
branch: 'r10' branch: 'r9'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r10/' required_pkgs:
- dracut-kiwi-live
- git
- kiwi
- kiwi-cli
- kiwi-systemdeps-bootloaders
- kiwi-systemdeps-containers
- kiwi-systemdeps-core
- kiwi-systemdeps-disk-images
- kiwi-systemdeps-filesystems
- kiwi-systemdeps-image-validation
- kiwi-systemdeps-iso-media
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -16,7 +16,7 @@
- aarch64 - aarch64
- ppc64le - ppc64le
- s390x - s390x
provide_multilib: True provide_multilib: False
project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7' project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7'
repo_symlinks: repo_symlinks:
NFV: 'nfv' NFV: 'nfv'
@ -35,6 +35,7 @@
- 'SAPHANA' - 'SAPHANA'
- 'extras' - 'extras'
- 'plus' - 'plus'
extra_repos: []
structure: structure:
packages: 'os/Packages' packages: 'os/Packages'
repodata: 'os/repodata' repodata: 'os/repodata'
@ -65,15 +66,14 @@
- 'AppStream' - 'AppStream'
lorax: lorax:
noupgrade: False noupgrade: False
squashfs_only: True
repos: repos:
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
variant: 'BaseOS' variant: 'BaseOS'
lorax_removes: lorax_removes: []
- 'libreport-rhel-anaconda-bugzilla'
required_pkgs: required_pkgs:
- 'lorax' - 'lorax'
- 'genisoimage'
- 'isomd5sum' - 'isomd5sum'
- 'lorax-templates-rhel' - 'lorax-templates-rhel'
- 'lorax-templates-generic' - 'lorax-templates-generic'
@ -84,26 +84,59 @@
format: vhd format: vhd
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-Azure-Base
- Cloud-Azure-LVM
EC2: EC2:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-EC2-Base
- Cloud-EC2-LVM
GenericCloud: GenericCloud:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-GenericCloud-Base
- Cloud-GenericCloud-LVM
Container: Container:
format: tar.xz format: tar.xz
variants: [Base, Minimal, UBI] variants: [Base, Minimal, Toolbox, UBI]
kiwi:
type: "oci"
profile_names:
- Container-Base
- Container-Minimal
- Container-Toolbox
- Container-UBI
RPI: RPI:
format: raw.xz format: raw.xz
OCP: OCP:
format: qcow2 format: qcow2
variants: [Base] variants: [Base]
kiwi:
type: "oem"
profile_names:
- Cloud-OCP-Base
Vagrant: Vagrant:
format: box format: box
variants: [Libvirt, Vbox, VMware] variants: [Libvirt, Vbox, VMware]
kiwi:
type: "oem"
profile_names:
- Vagrant-Libvirt
- Vagrant-Vbox
- Vagrant-VMware
livemap: livemap:
builder: "lorax"
git_repo: 'https://git.resf.org/sig_core/kickstarts.git' git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
branch: 'r10' branch: 'r10'
ksentry: ksentry:
@ -121,10 +154,21 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap: kiwimap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git' git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
branch: 'r10s' branch: 'r9'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r10s/' required_pkgs:
- dracut-kiwi-live
- git
- kiwi
- kiwi-cli
- kiwi-systemdeps-bootloaders
- kiwi-systemdeps-containers
- kiwi-systemdeps-core
- kiwi-systemdeps-disk-images
- kiwi-systemdeps-filesystems
- kiwi-systemdeps-image-validation
- kiwi-systemdeps-iso-media
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -108,10 +108,6 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
branch: 'r8-beta'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r8-beta/'
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -113,10 +113,6 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
branch: 'r8'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r8/'
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -108,10 +108,6 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
branch: 'r8s'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r8s/'
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -1,10 +1,10 @@
--- ---
'9-beta': '9-beta':
fullname: 'Rocky Linux 9.3' fullname: 'Rocky Linux 9.4'
revision: '9.3' revision: '9.4'
rclvl: 'BETA1' rclvl: 'BETA1'
major: '9' major: '9'
minor: '3' minor: '4'
profile: '9-beta' profile: '9-beta'
disttag: 'el9' disttag: 'el9'
code: "Blue Onyx" code: "Blue Onyx"
@ -17,7 +17,7 @@
- ppc64le - ppc64le
- s390x - s390x
provide_multilib: True provide_multilib: True
project_id: '6202c09e-6252-4d3a-bcd3-9c7751682970' project_id: 'df5bcbfc-ba83-4da8-84d6-ae0168921b4d'
repo_symlinks: repo_symlinks:
NFV: 'nfv' NFV: 'nfv'
renames: renames:
@ -35,6 +35,13 @@
- 'SAPHANA' - 'SAPHANA'
- 'extras' - 'extras'
- 'plus' - 'plus'
extra_repos:
- name: 'core-common'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-common/$basearch'
priority: '100'
- name: 'core-infra'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-infra/$basearch'
priority: '100'
structure: structure:
packages: 'os/Packages' packages: 'os/Packages'
repodata: 'os/repodata' repodata: 'os/repodata'
@ -64,12 +71,13 @@
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
lorax: lorax:
noupgrade: False
squashfs_only: True
repos: repos:
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
variant: 'BaseOS' variant: 'BaseOS'
lorax_removes: lorax_removes: []
- 'libreport-rhel-anaconda-bugzilla'
required_pkgs: required_pkgs:
- 'lorax' - 'lorax'
- 'genisoimage' - 'genisoimage'
@ -83,28 +91,61 @@
format: vhd format: vhd
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-Azure-Base
- Cloud-Azure-LVM
EC2: EC2:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-EC2-Base
- Cloud-EC2-LVM
GenericCloud: GenericCloud:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-GenericCloud-Base
- Cloud-GenericCloud-LVM
Container: Container:
format: tar.xz format: tar.xz
variants: [Base, Minimal, UBI] variants: [Base, Minimal, Toolbox, UBI]
kiwi:
type: "oci"
profile_names:
- Container-Base
- Container-Minimal
- Container-Toolbox
- Container-UBI
RPI: RPI:
format: raw.xz format: raw.xz
OCP: OCP:
format: qcow2 format: qcow2
variants: [Base] variants: [Base]
kiwi:
type: "oem"
profile_names:
- Cloud-OCP-Base
Vagrant: Vagrant:
format: box format: box
variants: [Libvirt, Vbox, VMware] variants: [Libvirt, Vbox, VMware]
kiwi:
type: "oem"
profile_names:
- Vagrant-Libvirt
- Vagrant-Vbox
- Vagrant-VMware
livemap: livemap:
builder: "lorax"
git_repo: 'https://git.resf.org/sig_core/kickstarts.git' git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
branch: 'r9-beta' branch: 'r9'
ksentry: ksentry:
Workstation: rocky-live-workstation.ks Workstation: rocky-live-workstation.ks
Workstation-Lite: rocky-live-workstation-lite.ks Workstation-Lite: rocky-live-workstation-lite.ks
@ -120,10 +161,21 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap: kiwimap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git' git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
branch: 'r9-beta' branch: 'r9'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9-beta/' required_pkgs:
- dracut-kiwi-live
- git
- kiwi
- kiwi-cli
- kiwi-systemdeps-bootloaders
- kiwi-systemdeps-containers
- kiwi-systemdeps-core
- kiwi-systemdeps-disk-images
- kiwi-systemdeps-filesystems
- kiwi-systemdeps-image-validation
- kiwi-systemdeps-iso-media
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
@ -161,7 +213,7 @@
extra_files: extra_files:
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git' git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/' git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/'
branch: 'r9' branch: 'r9-beta'
gpg: gpg:
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9' stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing' testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'

View File

@ -1,10 +1,10 @@
--- ---
'9': '9':
fullname: 'Rocky Linux 9.3' fullname: 'Rocky Linux 9.4'
revision: '9.3' revision: '9.4'
rclvl: 'RC1' rclvl: 'RC1'
major: '9' major: '9'
minor: '3' minor: '4'
profile: '9' profile: '9'
disttag: 'el9' disttag: 'el9'
code: "Blue Onyx" code: "Blue Onyx"
@ -17,7 +17,7 @@
- ppc64le - ppc64le
- s390x - s390x
provide_multilib: True provide_multilib: True
project_id: '6202c09e-6252-4d3a-bcd3-9c7751682970' project_id: 'df5bcbfc-ba83-4da8-84d6-ae0168921b4d'
repo_symlinks: repo_symlinks:
NFV: 'nfv' NFV: 'nfv'
renames: renames:
@ -35,6 +35,13 @@
- 'SAPHANA' - 'SAPHANA'
- 'extras' - 'extras'
- 'plus' - 'plus'
extra_repos:
- name: 'core-common'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-common/$basearch'
priority: '100'
- name: 'core-infra'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-infra/$basearch'
priority: '100'
structure: structure:
packages: 'os/Packages' packages: 'os/Packages'
repodata: 'os/repodata' repodata: 'os/repodata'
@ -64,12 +71,13 @@
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
lorax: lorax:
noupgrade: False
squashfs_only: True
repos: repos:
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
variant: 'BaseOS' variant: 'BaseOS'
lorax_removes: lorax_removes: []
- 'libreport-rhel-anaconda-bugzilla'
required_pkgs: required_pkgs:
- 'lorax' - 'lorax'
- 'genisoimage' - 'genisoimage'
@ -83,26 +91,59 @@
format: vhd format: vhd
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-Azure-Base
- Cloud-Azure-LVM
EC2: EC2:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-EC2-Base
- Cloud-EC2-LVM
GenericCloud: GenericCloud:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-GenericCloud-Base
- Cloud-GenericCloud-LVM
Container: Container:
format: tar.xz format: tar.xz
variants: [Base, Minimal, UBI] variants: [Base, Minimal, Toolbox, UBI]
kiwi:
type: "oci"
profile_names:
- Container-Base
- Container-Minimal
- Container-Toolbox
- Container-UBI
RPI: RPI:
format: raw.xz format: raw.xz
OCP: OCP:
format: qcow2 format: qcow2
variants: [Base] variants: [Base]
kiwi:
type: "oem"
profile_names:
- Cloud-OCP-Base
Vagrant: Vagrant:
format: box format: box
variants: [Libvirt, Vbox, VMware] variants: [Libvirt, Vbox, VMware]
kiwi:
type: "oem"
profile_names:
- Vagrant-Libvirt
- Vagrant-Vbox
- Vagrant-VMware
livemap: livemap:
builder: "lorax"
git_repo: 'https://git.resf.org/sig_core/kickstarts.git' git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
branch: 'r9' branch: 'r9'
ksentry: ksentry:
@ -120,10 +161,21 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap: kiwimap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git' git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
branch: 'r9' branch: 'r9'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9/' required_pkgs:
- dracut-kiwi-live
- git
- kiwi
- kiwi-cli
- kiwi-systemdeps-bootloaders
- kiwi-systemdeps-containers
- kiwi-systemdeps-core
- kiwi-systemdeps-disk-images
- kiwi-systemdeps-filesystems
- kiwi-systemdeps-image-validation
- kiwi-systemdeps-iso-media
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -1,10 +1,10 @@
--- ---
'9-lookahead': '9-lookahead':
fullname: 'Rocky Linux 9.4' fullname: 'Rocky Linux 9.5'
revision: '9.4' revision: '9.5'
rclvl: 'LH1' rclvl: 'LH1'
major: '9' major: '9'
minor: '4' minor: '5'
profile: '9-lookahead' profile: '9-lookahead'
disttag: 'el9' disttag: 'el9'
code: "Blue Onyx" code: "Blue Onyx"
@ -35,6 +35,13 @@
- 'SAPHANA' - 'SAPHANA'
- 'extras' - 'extras'
- 'plus' - 'plus'
extra_repos:
- name: 'core-common'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-common/$basearch'
priority: '100'
- name: 'core-infra'
url: 'https://yumrepofs.build.resf.org/v1/projects/47e0b4a8-84ba-43a9-bb94-eb99dde4cf14/repo/core-infra/$basearch'
priority: '100'
structure: structure:
packages: 'os/Packages' packages: 'os/Packages'
repodata: 'os/repodata' repodata: 'os/repodata'
@ -64,12 +71,13 @@
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
lorax: lorax:
noupgrade: False
squashfs_only: True
repos: repos:
- 'BaseOS' - 'BaseOS'
- 'AppStream' - 'AppStream'
variant: 'BaseOS' variant: 'BaseOS'
lorax_removes: lorax_removes: []
- 'libreport-rhel-anaconda-bugzilla'
required_pkgs: required_pkgs:
- 'lorax' - 'lorax'
- 'genisoimage' - 'genisoimage'
@ -83,26 +91,59 @@
format: vhd format: vhd
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-Azure-Base
- Cloud-Azure-LVM
EC2: EC2:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-EC2-Base
- Cloud-EC2-LVM
GenericCloud: GenericCloud:
format: qcow2 format: qcow2
variants: [Base, LVM] variants: [Base, LVM]
primary_variant: 'Base' primary_variant: 'Base'
kiwi:
type: "oem"
profile_names:
- Cloud-GenericCloud-Base
- Cloud-GenericCloud-LVM
Container: Container:
format: tar.xz format: tar.xz
variants: [Base, Minimal, UBI] variants: [Base, Minimal, Toolbox, UBI]
kiwi:
type: "oci"
profile_names:
- Container-Base
- Container-Minimal
- Container-Toolbox
- Container-UBI
RPI: RPI:
format: raw.xz format: raw.xz
OCP: OCP:
format: qcow2 format: qcow2
variants: [Base] variants: [Base]
kiwi:
type: "oem"
profile_names:
- Cloud-OCP-Base
Vagrant: Vagrant:
format: box format: box
variants: [Libvirt, Vbox, VMware] variants: [Libvirt, Vbox, VMware]
kiwi:
type: "oem"
profile_names:
- Vagrant-Libvirt
- Vagrant-Vbox
- Vagrant-VMware
livemap: livemap:
builder: "lorax"
git_repo: 'https://git.resf.org/sig_core/kickstarts.git' git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
branch: 'r9' branch: 'r9'
ksentry: ksentry:
@ -120,10 +161,21 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap: kiwimap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git' git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
branch: 'r9s' branch: 'r9'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9s/' required_pkgs:
- dracut-kiwi-live
- git
- kiwi
- kiwi-cli
- kiwi-systemdeps-bootloaders
- kiwi-systemdeps-containers
- kiwi-systemdeps-core
- kiwi-systemdeps-disk-images
- kiwi-systemdeps-filesystems
- kiwi-systemdeps-image-validation
- kiwi-systemdeps-iso-media
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -121,10 +121,6 @@
- 'vim-minimal' - 'vim-minimal'
- 'pykickstart' - 'pykickstart'
- 'git' - 'git'
variantmap:
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
branch: 'r10'
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r10/'
repoclosure_map: repoclosure_map:
arches: arches:
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch' x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'

View File

@ -18,6 +18,8 @@ parser.add_argument('--live-iso-mode', type=str, default='local')
parser.add_argument('--hashed', action='store_true') parser.add_argument('--hashed', action='store_true')
parser.add_argument('--just-copy-it', action='store_true', help="Just copy the images to the compose dir") parser.add_argument('--just-copy-it', action='store_true', help="Just copy the images to the compose dir")
parser.add_argument('--force-build', action='store_true', help="Just build and overwrite the images") parser.add_argument('--force-build', action='store_true', help="Just build and overwrite the images")
parser.add_argument('--builder', type=str, help="Choose a builder type and override the set value in the configs")
parser.add_argument('--increment', type=str, help="Changes the default increment of 0 to a number of your choice", default="0")
results = parser.parse_args() results = parser.parse_args()
rlvars = rldict[results.release] rlvars = rldict[results.release]
major = rlvars['major'] major = rlvars['major']
@ -34,6 +36,8 @@ a = LiveBuild(
hashed=results.hashed, hashed=results.hashed,
justcopyit=results.just_copy_it, justcopyit=results.just_copy_it,
force_build=results.force_build, force_build=results.force_build,
builder=results.builder,
image_increment=results.increment,
logger=results.logger logger=results.logger
) )

View File

@ -16,6 +16,7 @@ parser.add_argument('--rc', action='store_true', help="Release Candidate, Beta,
results = parser.parse_args() results = parser.parse_args()
rlvars = rldict[results.release] rlvars = rldict[results.release]
major = rlvars['major'] major = rlvars['major']
minor = rlvars['minor']
EXTARCH=["s390x", "ppc64le"] EXTARCH=["s390x", "ppc64le"]
EKSARCH=["amd64", "arm64"] EKSARCH=["amd64", "arm64"]
@ -31,16 +32,18 @@ def run():
elif results.env == "all": elif results.env == "all":
arches = EKSARCH+EXTARCH arches = EKSARCH+EXTARCH
command = ["build-iso", "--release", f"{results.release}", "--isolation", "simple", "--hashed"] command = ["build-iso", "--release", f"{results.release}", "--isolation", "simple"]
if results.rc: if results.rc:
command += ["--rc"] command += ["--rc"]
else:
command += ["--hashed"]
buildstamp = datetime.datetime.utcnow() buildstamp = datetime.datetime.utcnow()
out = "" out = ""
for architecture in arches: for architecture in arches:
copy_command = (f"aws s3 cp --recursive --exclude=* --include=lorax* " copy_command = (f"aws s3 cp --recursive --exclude=* --include=lorax* "
f"/var/lib/mock/rocky-{ major }-$(uname -m)/root/builddir/ " f"/var/lib/mock/rocky-{ major }.{ minor }-$(uname -m)/root/builddir/ "
f"s3://resf-empanadas/buildiso-{ major }-{ architecture }/{ buildstamp.strftime('%s') }/" f"s3://resf-empanadas/buildiso-{ major }-{ architecture }/{ buildstamp.strftime('%s') }/"
) )
out += job_template.render( out += job_template.render(
@ -52,6 +55,7 @@ def run():
jobname="buildiso", jobname="buildiso",
namespace="empanadas", namespace="empanadas",
major=major, major=major,
minor=minor,
restartPolicy="Never", restartPolicy="Never",
) )

View File

@ -9,6 +9,10 @@ kernel:
allowed_arches: allowed_arches:
- aarch64 - aarch64
- x86_64 - x86_64
kernel-drivers:
allowed_arches:
- aarch64
- x86_64
kernel-mainline: kernel-mainline:
allowed_arches: allowed_arches:
- aarch64 - aarch64
@ -32,6 +36,12 @@ kernel:
- x86_64 - x86_64
- ppc64le - ppc64le
- s390x - s390x
kernel-drivers:
allowed_arches:
- aarch64
- x86_64
- ppc64le
- s390x
kernel-mainline: kernel-mainline:
allowed_arches: allowed_arches:
- aarch64 - aarch64

View File

@ -4,6 +4,7 @@ that match the given ISO. You will see the following formats:
* Rocky-X.Y-ARCH-TYPE (ISO File) * Rocky-X.Y-ARCH-TYPE (ISO File)
* Rocky-X.Y-DATE-ARCH-TYPE (ISO File) * Rocky-X.Y-DATE-ARCH-TYPE (ISO File)
* Rocky-X-latest-ARCH-TYPE (Symlink)
* Rocky-ARCH-TYPE (Symlink) * Rocky-ARCH-TYPE (Symlink)
X will be the major release. X will be the major release.
@ -18,19 +19,15 @@ The second format is in the case of rebuilt ISO's, in the case of addressing
a bug or providing an updated image (eg for a newer kernel, a newer secure a bug or providing an updated image (eg for a newer kernel, a newer secure
boot shim, and so on). boot shim, and so on).
The third format in the list is a symlink to the "latest" ISO. Currently, this The third format is also in the case of a rebuilt ISO. This will always point
is not advertised on the main site, but there may be potential for this in to the absolute latest ISO of its type. This is used for osinfo and may be
the future as a value add. used on our main website. This serves as a predictable method to download
the latest ISO whether from curl/wget or using libvirt that relies on osinfo
to provide the download URL.
This is "unversioned" ISO symlink is for these cases: The fourth format in the list is a symlink to the "latest" ISO. This was
originally used as part of osinfo and has been carried over for backwards
* A pre-determined download location for users/mirrors/service providers who compatibility reasons.
want an always available and deterministic download location, which can be
easier to script
* osinfo database / libvirt use where if a user selects Rocky Linux X, it
should be aware of and be able to download from that location. This should
be fully supported in Rocky Linux 8.7 and 9.1, and future Fedora versions.
If you have any questions, please reach out to us: If you have any questions, please reach out to us:

View File

@ -24,6 +24,9 @@ lorax --product="${PRODUCT}" \
{%- for repo in repos %} {%- for repo in repos %}
--source={{ repo.url }} \ --source={{ repo.url }} \
{%- endfor %} {%- endfor %}
{%- if squashfs_only %}
--squashfs-only \
{%- endif %}
--bugurl="${BUGURL}" \ --bugurl="${BUGURL}" \
--variant="${VARIANT}" \ --variant="${VARIANT}" \
--nomacboot \ --nomacboot \

View File

@ -53,6 +53,8 @@ spec:
key: peridot.rockylinux.org/workflow-tolerates-arch key: peridot.rockylinux.org/workflow-tolerates-arch
operator: Equal operator: Equal
value: {{ architecture }} value: {{ architecture }}
nodeSelector:
kubernetes.io/arch: {{ architecture }}
restartPolicy: {{ restartPolicy }} restartPolicy: {{ restartPolicy }}
volumes: volumes:
- name: resolv-conf - name: resolv-conf

View File

@ -30,9 +30,13 @@ libblockdev-utils
libbytesize libbytesize
libgcab1 libgcab1
libjcat libjcat
libsss_autofs
libudisks2 libudisks2
libxmlb libxmlb
mokutil mokutil
python3-lxml
shim-aa64 shim-aa64
sssd-nfs-idmap
udisks2 udisks2
volume_key-libs volume_key-libs
NetworkManager-wifi

View File

@ -27,7 +27,11 @@ libblockdev-utils
libbytesize libbytesize
libgcab1 libgcab1
libjcat libjcat
libsss_autofs
libudisks2 libudisks2
libxmlb libxmlb
python3-lxml
sssd-nfs-idmap
udisks2 udisks2
volume_key-libs volume_key-libs
NetworkManager-wifi

View File

@ -23,7 +23,11 @@ libblockdev-utils
libbytesize libbytesize
libgcab1 libgcab1
libjcat libjcat
libsss_autofs
libudisks2 libudisks2
libxmlb libxmlb
python3-lxml
sssd-nfs-idmap
udisks2 udisks2
volume_key-libs volume_key-libs
NetworkManager-wifi

View File

@ -31,9 +31,13 @@ libbytesize
libgcab1 libgcab1
libjcat libjcat
libsmbios libsmbios
libsss_autofs
libudisks2 libudisks2
libxmlb libxmlb
mokutil mokutil
python3-lxml
shim-x64 shim-x64
sssd-nfs-idmap
udisks2 udisks2
volume_key-libs volume_key-libs
NetworkManager-wifi

View File

@ -10,10 +10,7 @@ import os
import os.path import os.path
import subprocess import subprocess
import shlex import shlex
import shutil
import time import time
import re
import json
import glob import glob
#import pipes #import pipes
@ -147,10 +144,7 @@ class RepoSync:
self.compose_latest_dir = os.path.join( self.compose_latest_dir = os.path.join(
config['compose_root'], config['compose_root'],
major, major,
"latest-{}-{}".format( f"latest-{self.shortname}-{self.profile}"
self.shortname,
self.profile
)
) )
self.compose_latest_sync = os.path.join( self.compose_latest_sync = os.path.join(
@ -365,16 +359,12 @@ class RepoSync:
if not os.path.exists(log_root): if not os.path.exists(log_root):
os.makedirs(log_root, exist_ok=True) os.makedirs(log_root, exist_ok=True)
sync_single_arch = False
arches_to_sync = self.arches arches_to_sync = self.arches
if arch: if arch:
sync_single_arch = True
arches_to_sync = arch.split(',') arches_to_sync = arch.split(',')
sync_single_repo = False
repos_to_sync = self.repos repos_to_sync = self.repos
if repo and not self.fullrun: if repo and not self.fullrun:
sync_single_repo = True
repos_to_sync = repo.split(',') repos_to_sync = repo.split(',')
for r in repos_to_sync: for r in repos_to_sync:
@ -390,8 +380,8 @@ class RepoSync:
arch_sync.append('i686') arch_sync.append('i686')
for a in arch_sync: for a in arch_sync:
entry_name = '{}-{}'.format(r, a) entry_name = f'{r}-{a}'
debug_entry_name = '{}-debug-{}'.format(r, a) debug_entry_name = f'{r}-debug-{a}'
entry_name_list.append(entry_name) entry_name_list.append(entry_name)
@ -422,65 +412,26 @@ class RepoSync:
'debug/tree' 'debug/tree'
) )
import_gpg_cmd = ("/usr/bin/rpm --import {}").format(gpg_key_url) import_gpg_cmd = f"/usr/bin/rpm --import {gpg_key_url}"
arch_force_cp = f"/usr/bin/sed 's|$basearch|{a}|g' "\
f"{self.dnf_config} > {self.dnf_config}.{a}"
arch_force_cp = ("/usr/bin/sed 's|$basearch|{}|g' {} > {}.{}".format( sync_log = f"{log_root}/{repo_name}-{a}.log"
a, debug_sync_log = f"{log_root}/{repo_name}-{a}-debug.log"
self.dnf_config, metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config}.{a} --repoid={r} "\
self.dnf_config, f"--forcearch {a} --assumeyes 2>&1"
a
))
sync_log = ("{}/{}-{}.log").format( sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config}.{a} --download-metadata "\
log_root, f"--repoid={r} -p {os_sync_path} --forcearch {a} --norepopath "\
repo_name, f"--remote-time --gpgcheck --assumeyes {reposync_delete} 2>&1"
a
)
debug_sync_log = ("{}/{}-{}-debug.log").format( debug_metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config}.{a} "\
log_root, f"--repoid={r}-debug --forcearch {a} --assumeyes 2>&1"
repo_name,
a
)
metadata_cmd = ("/usr/bin/dnf makecache -c {}.{} --repoid={} " debug_sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config}.{a} "\
"--forcearch {} --assumeyes 2>&1").format( f"--download-metadata --repoid={r}-debug -p {debug_sync_path} "\
self.dnf_config, f"--forcearch {a} --gpgcheck --norepopath --remote-time "\
a, f"--assumeyes {reposync_delete} 2>&1"
r,
a
)
sync_cmd = ("/usr/bin/dnf reposync -c {}.{} --download-metadata "
"--repoid={} -p {} --forcearch {} --norepopath --remote-time "
"--gpgcheck --assumeyes {} 2>&1").format(
self.dnf_config,
a,
r,
os_sync_path,
a,
reposync_delete
)
debug_metadata_cmd = ("/usr/bin/dnf makecache -c {}.{} --repoid={}-debug "
"--forcearch {} --assumeyes 2>&1").format(
self.dnf_config,
a,
r,
a
)
debug_sync_cmd = ("/usr/bin/dnf reposync -c {}.{} "
"--download-metadata --repoid={}-debug -p {} --forcearch {} "
"--gpgcheck --norepopath --remote-time --assumeyes {} 2>&1").format(
self.dnf_config,
a,
r,
debug_sync_path,
a,
reposync_delete
)
dnf_plugin_cmd = "/usr/bin/dnf install dnf-plugins-core -y" dnf_plugin_cmd = "/usr/bin/dnf install dnf-plugins-core -y"
@ -522,7 +473,7 @@ class RepoSync:
# should not be updated nor touched during regular runs under # should not be updated nor touched during regular runs under
# any circumstances. # any circumstances.
if self.fullrun: if self.fullrun:
ks_entry_name = '{}-ks-{}'.format(r, a) ks_entry_name = f'{r}-ks-{a}'
entry_name_list.append(ks_entry_name) entry_name_list.append(ks_entry_name)
ks_point_sh = os.path.join( ks_point_sh = os.path.join(
entries_dir, entries_dir,
@ -536,29 +487,14 @@ class RepoSync:
'kickstart' 'kickstart'
) )
ks_metadata_cmd = ("/usr/bin/dnf makecache -c {}.{} --repoid={} " ks_metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config}.{a} "\
"--forcearch {} --assumeyes 2>&1").format( f"--repoid={r} --forcearch {a} --assumeyes 2>&1"
self.dnf_config,
a,
r,
a
)
ks_sync_cmd = ("/usr/bin/dnf reposync -c {}.{} --download-metadata " ks_sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config}.{a} --download-metadata "\
"--repoid={} -p {} --forcearch {} --norepopath " f"--repoid={r} -p {ks_sync_path} --forcearch {a} --norepopath "\
"--gpgcheck --assumeyes --remote-time 2>&1").format( "--gpgcheck --assumeyes --remote-time 2>&1"
self.dnf_config,
a,
r,
ks_sync_path,
a
)
ks_sync_log = ("{}/{}-{}-ks.log").format( ks_sync_log = f"{log_root}/{repo_name}-{a}-ks.log"
log_root,
repo_name,
a
)
ks_sync_template = self.tmplenv.get_template('reposync.tmpl') ks_sync_template = self.tmplenv.get_template('reposync.tmpl')
ks_sync_output = ks_sync_template.render( ks_sync_output = ks_sync_template.render(
@ -577,7 +513,7 @@ class RepoSync:
# We ignoring sources? # We ignoring sources?
if (not self.ignore_source and not arch) or ( if (not self.ignore_source and not arch) or (
not self.ignore_source and arch == 'source'): not self.ignore_source and arch == 'source'):
source_entry_name = '{}-source'.format(r) source_entry_name = f'{r}-source'
entry_name_list.append(source_entry_name) entry_name_list.append(source_entry_name)
source_entry_point_sh = os.path.join( source_entry_point_sh = os.path.join(
@ -591,25 +527,14 @@ class RepoSync:
'source/tree' 'source/tree'
) )
source_sync_log = ("{}/{}-source.log").format( source_sync_log = f"{log_root}/{repo_name}-source.log"
log_root,
repo_name
)
source_metadata_cmd = ("/usr/bin/dnf makecache -c {} --repoid={}-source " source_metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config} "\
"--assumeyes 2>&1").format( f"--repoid={r}-source --assumeyes 2>&1"
self.dnf_config,
r
)
source_sync_cmd = ("/usr/bin/dnf reposync -c {} " source_sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config} "\
"--download-metadata --repoid={}-source -p {} " f"--download-metadata --repoid={r}-source -p {source_sync_path} "\
"--gpgcheck --norepopath --remote-time --assumeyes {} 2>&1").format( f"--gpgcheck --norepopath --remote-time --assumeyes {reposync_delete} 2>&1"
self.dnf_config,
r,
source_sync_path,
reposync_delete
)
source_sync_template = self.tmplenv.get_template('reposync-src.tmpl') source_sync_template = self.tmplenv.get_template('reposync-src.tmpl')
source_sync_output = source_sync_template.render( source_sync_output = source_sync_template.render(
@ -654,10 +579,7 @@ class RepoSync:
time.sleep(3) time.sleep(3)
self.log.info(Color.INFO + 'Syncing ' + r + ' ...') self.log.info(Color.INFO + 'Syncing ' + r + ' ...')
self.log.info(Color.INFO + 'Arches: ' + ' '.join(arch_sync)) self.log.info(Color.INFO + 'Arches: ' + ' '.join(arch_sync))
pod_watcher = '{} wait {}'.format( pod_watcher = f'{cmd} wait {join_all_pods}'
cmd,
join_all_pods
)
#print(pod_watcher) #print(pod_watcher)
watch_man = subprocess.call( watch_man = subprocess.call(
@ -670,10 +592,7 @@ class RepoSync:
# code. # code.
pattern = "Exited (0)" pattern = "Exited (0)"
for pod in entry_name_list: for pod in entry_name_list:
checkcmd = '{} ps -f status=exited -f name={}'.format( checkcmd = f'{cmd} ps -f status=exited -f name={pod}'
cmd,
pod
)
podcheck = subprocess.Popen( podcheck = subprocess.Popen(
checkcmd, checkcmd,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -686,10 +605,7 @@ class RepoSync:
self.log.error(Color.FAIL + pod) self.log.error(Color.FAIL + pod)
bad_exit_list.append(pod) bad_exit_list.append(pod)
rmcmd = '{} rm {}'.format( rmcmd = f'{cmd} rm {join_all_pods}'
cmd,
join_all_pods
)
rmpod = subprocess.Popen( rmpod = subprocess.Popen(
rmcmd, rmcmd,
@ -742,7 +658,7 @@ class RepoSync:
for arch in self.repoclosure_map['arches']: for arch in self.repoclosure_map['arches']:
repo_combination = [] repo_combination = []
repoclosure_entry_name = 'repoclosure-{}-{}'.format(repo, arch) repoclosure_entry_name = f'repoclosure-{repo}-{arch}'
repoclosure_entry_name_list.append(repoclosure_entry_name) repoclosure_entry_name_list.append(repoclosure_entry_name)
repoclosure_arch_list = self.repoclosure_map['arches'][arch] repoclosure_arch_list = self.repoclosure_map['arches'][arch]
@ -750,13 +666,8 @@ class RepoSync:
# helps append # helps append
if len(self.repoclosure_map['repos'][repo]) > 0: if len(self.repoclosure_map['repos'][repo]) > 0:
for l in self.repoclosure_map['repos'][repo]: for l in self.repoclosure_map['repos'][repo]:
stretch = '--repofrompath={},file://{}/{}/{}/os --repo={}'.format( stretch = f'--repofrompath={l},file://{sync_root}/{l}/{arch}/os '\
l, f'--repo={l}'
sync_root,
l,
arch,
l
)
repo_combination.append(stretch) repo_combination.append(stretch)
join_repo_comb = ' '.join(repo_combination) join_repo_comb = ' '.join(repo_combination)
@ -784,13 +695,15 @@ class RepoSync:
repo, repo,
arch arch
) )
repoclosure_entry_point_open = open(repoclosure_entry_point_sh, "w+")
repoclosure_entry_point_open.write('#!/bin/bash\n') with open(repoclosure_entry_point_sh, "w+") as rcep:
repoclosure_entry_point_open.write('set -o pipefail\n') rcep.write('#!/bin/bash\n')
repoclosure_entry_point_open.write('/usr/bin/dnf install dnf-plugins-core -y\n') rcep.write('set -o pipefail\n')
repoclosure_entry_point_open.write('/usr/bin/dnf clean all\n') rcep.write('/usr/bin/dnf install dnf-plugins-core -y\n')
repoclosure_entry_point_open.write(repoclosure_cmd + '\n') rcep.write('/usr/bin/dnf clean all\n')
repoclosure_entry_point_open.close() rcep.write(repoclosure_cmd + '\n')
rcep.close()
os.chmod(repoclosure_entry_point_sh, 0o755) os.chmod(repoclosure_entry_point_sh, 0o755)
repo_combination.clear() repo_combination.clear()
@ -819,10 +732,7 @@ class RepoSync:
join_all_pods = ' '.join(repoclosure_entry_name_list) join_all_pods = ' '.join(repoclosure_entry_name_list)
time.sleep(3) time.sleep(3)
self.log.info('Performing repoclosure on %s ... ' % repo) self.log.info('Performing repoclosure on %s ... ' % repo)
pod_watcher = '{} wait {}'.format( pod_watcher = f'{cmd} wait {join_all_pods}'
cmd,
join_all_pods
)
watch_man = subprocess.call( watch_man = subprocess.call(
shlex.split(pod_watcher), shlex.split(pod_watcher),
@ -831,10 +741,7 @@ class RepoSync:
) )
for pod in repoclosure_entry_name_list: for pod in repoclosure_entry_name_list:
checkcmd = '{} ps -f status=exited -f name={}'.format( checkcmd = f'{cmd} ps -f status=exited -f name={pod}'
cmd,
pod
)
podcheck = subprocess.Popen( podcheck = subprocess.Popen(
checkcmd, checkcmd,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -847,10 +754,7 @@ class RepoSync:
self.log.error(Color.FAIL + pod) self.log.error(Color.FAIL + pod)
bad_exit_list.append(pod) bad_exit_list.append(pod)
rmcmd = '{} rm {}'.format( rmcmd = f'{cmd} rm {join_all_pods}'
cmd,
join_all_pods
)
rmpod = subprocess.Popen( rmpod = subprocess.Popen(
rmcmd, rmcmd,
@ -1555,7 +1459,7 @@ class RepoSync:
for arch in self.repoclosure_map['arches']: for arch in self.repoclosure_map['arches']:
repo_combination = [] repo_combination = []
repoclosure_entry_name = 'peridot-repoclosure-{}-{}'.format(repo, arch) repoclosure_entry_name = f'peridot-repoclosure-{repo}-{arch}'
repoclosure_entry_name_list.append(repoclosure_entry_name) repoclosure_entry_name_list.append(repoclosure_entry_name)
repoclosure_arch_list = self.repoclosure_map['arches'][arch] repoclosure_arch_list = self.repoclosure_map['arches'][arch]
@ -1563,7 +1467,7 @@ class RepoSync:
# helps append # helps append
if len(self.repoclosure_map['repos'][repo]) > 0: if len(self.repoclosure_map['repos'][repo]) > 0:
for l in self.repoclosure_map['repos'][repo]: for l in self.repoclosure_map['repos'][repo]:
stretch = '--repo={}'.format(l) stretch = f'--repo={l}'
repo_combination.append(stretch) repo_combination.append(stretch)
join_repo_comb = ' '.join(repo_combination) join_repo_comb = ' '.join(repo_combination)
@ -1588,13 +1492,13 @@ class RepoSync:
repo, repo,
arch arch
) )
repoclosure_entry_point_open = open(repoclosure_entry_point_sh, "w+") with open(repoclosure_entry_point_sh, "w+") as rcep:
repoclosure_entry_point_open.write('#!/bin/bash\n') rcep.write('#!/bin/bash\n')
repoclosure_entry_point_open.write('set -o pipefail\n') rcep.write('set -o pipefail\n')
repoclosure_entry_point_open.write('/usr/bin/dnf install dnf-plugins-core -y\n') rcep.write('/usr/bin/dnf install dnf-plugins-core -y\n')
repoclosure_entry_point_open.write('/usr/bin/dnf clean all\n') rcep.write('/usr/bin/dnf clean all\n')
repoclosure_entry_point_open.write(repoclosure_cmd + '\n') rcep.write(repoclosure_cmd + '\n')
repoclosure_entry_point_open.close() rcep.close()
os.chmod(repoclosure_entry_point_sh, 0o755) os.chmod(repoclosure_entry_point_sh, 0o755)
repo_combination.clear() repo_combination.clear()
@ -1623,10 +1527,7 @@ class RepoSync:
join_all_pods = ' '.join(repoclosure_entry_name_list) join_all_pods = ' '.join(repoclosure_entry_name_list)
time.sleep(3) time.sleep(3)
self.log.info('Performing repoclosure on %s ... ' % repo) self.log.info('Performing repoclosure on %s ... ' % repo)
pod_watcher = '{} wait {}'.format( pod_watcher = f'{cmd} wait {join_all_pods}'
cmd,
join_all_pods
)
watch_man = subprocess.call( watch_man = subprocess.call(
shlex.split(pod_watcher), shlex.split(pod_watcher),
@ -1635,10 +1536,7 @@ class RepoSync:
) )
for pod in repoclosure_entry_name_list: for pod in repoclosure_entry_name_list:
checkcmd = '{} ps -f status=exited -f name={}'.format( checkcmd = f'{cmd} ps -f status=exited -f name={pod}'
cmd,
pod
)
podcheck = subprocess.Popen( podcheck = subprocess.Popen(
checkcmd, checkcmd,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -1651,10 +1549,7 @@ class RepoSync:
self.log.error(Color.FAIL + pod) self.log.error(Color.FAIL + pod)
bad_exit_list.append(pod) bad_exit_list.append(pod)
rmcmd = '{} rm {}'.format( rmcmd = f'{cmd} rm {join_all_pods}'
cmd,
join_all_pods
)
rmpod = subprocess.Popen( rmpod = subprocess.Popen(
rmcmd, rmcmd,
@ -1786,10 +1681,7 @@ class SigRepoSync:
self.compose_latest_dir = os.path.join( self.compose_latest_dir = os.path.join(
config['compose_root'], config['compose_root'],
major, major,
"latest-SIG-{}-{}".format( f"latest-SIG-{self.sigprofile}-{major}"
self.sigprofile,
major,
)
) )
self.compose_latest_sync = os.path.join( self.compose_latest_sync = os.path.join(
@ -1996,8 +1888,8 @@ class SigRepoSync:
arch_sync = arch.split(',') arch_sync = arch.split(',')
for a in arch_sync: for a in arch_sync:
entry_name = '{}-{}'.format(r, a) entry_name = f'{r}-{a}'
debug_entry_name = '{}-debug-{}'.format(r, a) debug_entry_name = f'{r}-debug-{a}'
entry_name_list.append(entry_name) entry_name_list.append(entry_name)
if not self.ignore_debug and not a == 'source': if not self.ignore_debug and not a == 'source':
@ -2029,65 +1921,25 @@ class SigRepoSync:
r + '-debug' r + '-debug'
) )
import_gpg_cmd = ("/usr/bin/rpm --import {}").format(gpg_key_url) import_gpg_cmd = f"/usr/bin/rpm --import {gpg_key_url}"
arch_force_cp = f"/usr/bin/sed 's|$basearch|{a}|g' {self.dnf_config} > {self.dnf_config}.{a}"
sync_log = f"{log_root}/{repo_name}-{a}.log"
debug_sync_log = f"{log_root}/{repo_name}-{a}-debug.log"
arch_force_cp = ("/usr/bin/sed 's|$basearch|{}|g' {} > {}.{}".format( metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config}.{a} "\
a, f"--repoid={r} --forcearch {a} --assumeyes 2>&1"
self.dnf_config,
self.dnf_config,
a
))
sync_log = ("{}/{}-{}.log").format( sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config}.{a} --download-metadata "\
log_root, f"--repoid={r} -p {os_sync_path} --forcearch {a} --norepopath "\
repo_name, f"--remote-time --gpgcheck --assumeyes {reposync_delete} 2>&1"
a
)
debug_sync_log = ("{}/{}-{}-debug.log").format( debug_metadata_cmd = f"/usr/bin/dnf makecache -c {self.dnf_config}.{a} "\
log_root, f"--repoid={r}-debug --forcearch {a} --assumeyes 2>&1"
repo_name,
a
)
metadata_cmd = ("/usr/bin/dnf makecache -c {}.{} --repoid={} " debug_sync_cmd = f"/usr/bin/dnf reposync -c {self.dnf_config}.{a} "\
"--forcearch {} --assumeyes 2>&1").format( f"--download-metadata --repoid={r}-debug -p {debug_sync_path} "\
self.dnf_config, f"--forcearch {a} --gpgcheck --norepopath --remote-time "\
a, f"--assumeyes {reposync_delete} 2>&1"
r,
a
)
sync_cmd = ("/usr/bin/dnf reposync -c {}.{} --download-metadata "
"--repoid={} -p {} --forcearch {} --norepopath --remote-time "
"--gpgcheck --assumeyes {} 2>&1").format(
self.dnf_config,
a,
r,
os_sync_path,
a,
reposync_delete
)
debug_metadata_cmd = ("/usr/bin/dnf makecache -c {}.{} --repoid={}-debug "
"--forcearch {} --assumeyes 2>&1").format(
self.dnf_config,
a,
r,
a
)
debug_sync_cmd = ("/usr/bin/dnf reposync -c {}.{} "
"--download-metadata --repoid={}-debug -p {} --forcearch {} "
"--gpgcheck --norepopath --remote-time --assumeyes {} 2>&1").format(
self.dnf_config,
a,
r,
debug_sync_path,
a,
reposync_delete
)
dnf_plugin_cmd = "/usr/bin/dnf install dnf-plugins-core -y" dnf_plugin_cmd = "/usr/bin/dnf install dnf-plugins-core -y"
@ -2132,7 +1984,7 @@ class SigRepoSync:
# We ignoring sources? # We ignoring sources?
if (not self.ignore_source and not arch) or ( if (not self.ignore_source and not arch) or (
not self.ignore_source and arch == 'source'): not self.ignore_source and arch == 'source'):
source_entry_name = '{}-source'.format(r) source_entry_name = f'{r}-source'
entry_name_list.append(source_entry_name) entry_name_list.append(source_entry_name)
source_entry_point_sh = os.path.join( source_entry_point_sh = os.path.join(
@ -2148,10 +2000,7 @@ class SigRepoSync:
r r
) )
source_sync_log = ("{}/{}-source.log").format( source_sync_log = f"{log_root}/{repo_name}-source.log"
log_root,
repo_name
)
source_metadata_cmd = ("/usr/bin/dnf makecache -c {} --repoid={}-source " source_metadata_cmd = ("/usr/bin/dnf makecache -c {} --repoid={}-source "
"--assumeyes 2>&1").format( "--assumeyes 2>&1").format(
@ -2214,10 +2063,7 @@ class SigRepoSync:
time.sleep(3) time.sleep(3)
self.log.info(Color.INFO + 'Syncing ' + r + ' ...') self.log.info(Color.INFO + 'Syncing ' + r + ' ...')
self.log.info(Color.INFO + 'Arches: ' + ' '.join(arch_sync)) self.log.info(Color.INFO + 'Arches: ' + ' '.join(arch_sync))
pod_watcher = '{} wait {}'.format( pod_watcher = f'{cmd} wait {join_all_pods}'
cmd,
join_all_pods
)
#print(pod_watcher) #print(pod_watcher)
watch_man = subprocess.call( watch_man = subprocess.call(
@ -2230,10 +2076,7 @@ class SigRepoSync:
# code. # code.
pattern = "Exited (0)" pattern = "Exited (0)"
for pod in entry_name_list: for pod in entry_name_list:
checkcmd = '{} ps -f status=exited -f name={}'.format( checkcmd = f'{cmd} ps -f status=exited -f name={pod}'
cmd,
pod
)
podcheck = subprocess.Popen( podcheck = subprocess.Popen(
checkcmd, checkcmd,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -2246,10 +2089,7 @@ class SigRepoSync:
self.log.error(Color.FAIL + pod) self.log.error(Color.FAIL + pod)
bad_exit_list.append(pod) bad_exit_list.append(pod)
rmcmd = '{} rm {}'.format( rmcmd = f'{cmd} rm {join_all_pods}'
cmd,
join_all_pods
)
rmpod = subprocess.Popen( rmpod = subprocess.Popen(
rmcmd, rmcmd,

View File

@ -118,6 +118,7 @@ class IsoBuild:
self.bugurl = rlvars['bugurl'] self.bugurl = rlvars['bugurl']
self.extra_files = rlvars['extra_files'] self.extra_files = rlvars['extra_files']
self.translators = config['translators']
self.container = config['container'] self.container = config['container']
if 'container' in rlvars and len(rlvars['container']) > 0: if 'container' in rlvars and len(rlvars['container']) > 0:
@ -308,6 +309,7 @@ class IsoBuild:
builddir=self.mock_work_root, builddir=self.mock_work_root,
lorax_work_root=self.lorax_result_root, lorax_work_root=self.lorax_result_root,
bugurl=self.bugurl, bugurl=self.bugurl,
squashfs_only=self.iso_map['lorax']['squashfs_only'],
) )
with open(mock_iso_path, "w+") as mock_iso_entry: with open(mock_iso_path, "w+") as mock_iso_entry:
@ -359,6 +361,8 @@ class IsoBuild:
self.arches, self.arches,
'tar.gz', 'tar.gz',
'lorax', 'lorax',
'buildiso',
self.translators,
self.log self.log
) )
else: else:
@ -1358,6 +1362,8 @@ class IsoBuild:
arches_to_unpack, arches_to_unpack,
formattype, formattype,
variantname, variantname,
'buildimage',
self.translators,
self.log self.log
) )
@ -1547,6 +1553,7 @@ class LiveBuild:
updated_image: bool = False, updated_image: bool = False,
image_increment: str = '0', image_increment: str = '0',
peridot: bool = False, peridot: bool = False,
builder: str = 'default',
logger=None logger=None
): ):
@ -1576,6 +1583,16 @@ class LiveBuild:
self.hashed = hashed self.hashed = hashed
self.peridot = peridot self.peridot = peridot
# determine builder to use. if a config doesn't have it set, assume
# lorax, the default option.
if rlvars['livemap']['builder']:
self.livebuilder = rlvars['livemap']['builder']
else:
self.livebuilder = "lorax"
if builder == "default":
self.livebuilder = builder
# Relevant major version items # Relevant major version items
self.arch = config['arch'] self.arch = config['arch']
self.arches = rlvars['allowed_arches'] self.arches = rlvars['allowed_arches']
@ -1659,8 +1676,7 @@ class LiveBuild:
def run_build_live_iso(self): def run_build_live_iso(self):
""" """
Builds DVD images based on the data created from the initial lorax on Builds live images based on the data provided at init.
each arch. This should NOT be called during the usual run() section.
""" """
sync_root = self.compose_latest_sync sync_root = self.compose_latest_sync
@ -1671,6 +1687,15 @@ class LiveBuild:
self.log.error(Color.FAIL + 'Running an unsupported architecture.') self.log.error(Color.FAIL + 'Running an unsupported architecture.')
raise SystemExit() raise SystemExit()
if self.image not in self.livemap['ksentry'].keys():
self.log.error(Color.FAIL + 'Trying to build an unknown live image type.')
raise SystemExit()
# Check that the builder is lorax, we don't support anything else yet
if self.livebuilder != "lorax":
self.log.error(Color.FAIL + 'Attempting to use an unsupported builder.')
raise SystemExit()
self._live_iso_build_wrap() self._live_iso_build_wrap()
self.log.info('Compose repo directory: %s' % sync_root) self.log.info('Compose repo directory: %s' % sync_root)
@ -1858,7 +1883,7 @@ class LiveBuild:
print(entry_name_list, cmd, entries_dir) print(entry_name_list, cmd, entries_dir)
for pod in entry_name_list: for pod in entry_name_list:
podman_cmd_entry = '{} run -d -it -v "{}:{}" -v "{}:{}" --name {} --entrypoint {}/{} {}'.format( podman_cmd_entry = '{} run --privileged -d -it -v "{}:{}" -v "{}:{}" --name {} --entrypoint {}/{} {}'.format(
cmd, cmd,
self.compose_root, self.compose_root,
self.compose_root, self.compose_root,

View File

@ -607,7 +607,8 @@ class Shared:
# pylint: disable=too-many-locals,too-many-arguments # pylint: disable=too-many-locals,too-many-arguments
@staticmethod @staticmethod
def s3_determine_latest(s3_bucket, release, arches, filetype, name, logger): def s3_determine_latest(s3_bucket, release, arches, filetype, name,
root_prefix, translators, logger):
""" """
Using native s3, determine the latest artifacts and return a dict Using native s3, determine the latest artifacts and return a dict
""" """
@ -640,8 +641,15 @@ class Shared:
for arch in arches: for arch in arches:
temps = [] temps = []
new_arch = arch
new_release = release
# This is lazy, but...
if root_prefix == 'buildiso':
new_arch = translators[arch]
new_release = release.split('.')[0]
start_of_path = f"{root_prefix}-{new_release}-{new_arch}"
for y in temp: for y in temp:
if arch in y: if arch in y and y.startswith(start_of_path):
temps.append(y) temps.append(y)
temps.sort(reverse=True) temps.sort(reverse=True)
if len(temps) > 0: if len(temps) > 0:

View File

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. # This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand.
[[package]] [[package]]
name = "atomicwrites" name = "atomicwrites"
@ -12,53 +12,51 @@ files = [
[[package]] [[package]]
name = "attrs" name = "attrs"
version = "23.1.0" version = "23.2.0"
description = "Classes Without Boilerplate" description = "Classes Without Boilerplate"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
{file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
] ]
[package.dependencies]
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
[package.extras] [package.extras]
cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
dev = ["attrs[docs,tests]", "pre-commit"] dev = ["attrs[tests]", "pre-commit"]
docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
tests = ["attrs[tests-no-zope]", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"]
tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
[[package]] [[package]]
name = "boto3" name = "boto3"
version = "1.28.81" version = "1.34.110"
description = "The AWS SDK for Python" description = "The AWS SDK for Python"
optional = false optional = false
python-versions = ">= 3.7" python-versions = ">=3.8"
files = [ files = [
{file = "boto3-1.28.81-py3-none-any.whl", hash = "sha256:66e457b5f1580eb1f29855d867dec743eeec42b3935372eee5e6730e5e3124df"}, {file = "boto3-1.34.110-py3-none-any.whl", hash = "sha256:2fc871b4a5090716c7a71af52c462e539529227f4d4888fd04896d5028f9cedc"},
{file = "boto3-1.28.81.tar.gz", hash = "sha256:6ec7da884eed5c07e679d251bd5c66e4e2f64755ed98270a20323b241c54a743"}, {file = "boto3-1.34.110.tar.gz", hash = "sha256:83ffe2273da7bdfdb480d85b0705f04e95bd110e9741f23328b7c76c03e6d53c"},
] ]
[package.dependencies] [package.dependencies]
botocore = ">=1.31.81,<1.32.0" botocore = ">=1.34.110,<1.35.0"
jmespath = ">=0.7.1,<2.0.0" jmespath = ">=0.7.1,<2.0.0"
s3transfer = ">=0.7.0,<0.8.0" s3transfer = ">=0.10.0,<0.11.0"
[package.extras] [package.extras]
crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]] [[package]]
name = "botocore" name = "botocore"
version = "1.31.81" version = "1.34.110"
description = "Low-level, data-driven core of boto 3." description = "Low-level, data-driven core of boto 3."
optional = false optional = false
python-versions = ">= 3.7" python-versions = ">=3.8"
files = [ files = [
{file = "botocore-1.31.81-py3-none-any.whl", hash = "sha256:eeb09a77c3e931667c9442565e8697e89e685089912a96d95f65b63e4b2c8c71"}, {file = "botocore-1.34.110-py3-none-any.whl", hash = "sha256:1edf3a825ec0a5edf238b2d42ad23305de11d5a71bb27d6f9a58b7e8862df1b6"},
{file = "botocore-1.31.81.tar.gz", hash = "sha256:afb0886c5a5a542f763cc1644b1c1b4a783698d79980eb48052d1676d6b3d14e"}, {file = "botocore-1.34.110.tar.gz", hash = "sha256:b2c98c40ecf0b1facb9e61ceb7dfa28e61ae2456490554a16c8dbf99f20d6a18"},
] ]
[package.dependencies] [package.dependencies]
@ -66,21 +64,21 @@ jmespath = ">=0.7.1,<2.0.0"
python-dateutil = ">=2.1,<3.0.0" python-dateutil = ">=2.1,<3.0.0"
urllib3 = [ urllib3 = [
{version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""},
{version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""}, {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""},
] ]
[package.extras] [package.extras]
crt = ["awscrt (==0.16.26)"] crt = ["awscrt (==0.20.9)"]
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2023.7.22" version = "2024.2.2"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
{file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
{file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
] ]
[[package]] [[package]]
@ -195,69 +193,49 @@ files = [
[[package]] [[package]]
name = "idna" name = "idna"
version = "3.4" version = "3.7"
description = "Internationalized Domain Names in Applications (IDNA)" description = "Internationalized Domain Names in Applications (IDNA)"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
files = [ files = [
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
] ]
[[package]]
name = "importlib-metadata"
version = "6.7.0"
description = "Read metadata from Python packages"
optional = false
python-versions = ">=3.7"
files = [
{file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
{file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
]
[package.dependencies]
typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]] [[package]]
name = "importlib-resources" name = "importlib-resources"
version = "5.12.0" version = "5.13.0"
description = "Read resources from Python packages" description = "Read resources from Python packages"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.8"
files = [ files = [
{file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, {file = "importlib_resources-5.13.0-py3-none-any.whl", hash = "sha256:9f7bd0c97b79972a6cce36a366356d16d5e13b09679c11a58f1014bfdf8e64b2"},
{file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, {file = "importlib_resources-5.13.0.tar.gz", hash = "sha256:82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528"},
] ]
[package.dependencies] [package.dependencies]
zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
[package.extras] [package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]] [[package]]
name = "jinja2" name = "jinja2"
version = "2.11.3" version = "3.1.4"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=3.7"
files = [ files = [
{file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
{file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
] ]
[package.dependencies] [package.dependencies]
MarkupSafe = ">=0.23" MarkupSafe = ">=2.0"
[package.extras] [package.extras]
i18n = ["Babel (>=0.8)"] i18n = ["Babel (>=2.7)"]
[[package]] [[package]]
name = "jmespath" name = "jmespath"
@ -272,13 +250,13 @@ files = [
[[package]] [[package]]
name = "kobo" name = "kobo"
version = "0.33.0" version = "0.36.2"
description = "A pile of python modules used by Red Hat release engineering to build their tools" description = "A pile of python modules used by Red Hat release engineering to build their tools"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
files = [ files = [
{file = "kobo-0.33.0-py3-none-any.whl", hash = "sha256:50f2eef41d1e528eba0bcdc04e6d88073353e6815abb86bf4fe3b1a7be449039"}, {file = "kobo-0.36.2-py3-none-any.whl", hash = "sha256:e41aeb5739d2b3578fb411978ee66f5d84a8d47a0f23fe076f905eb94806ec32"},
{file = "kobo-0.33.0.tar.gz", hash = "sha256:34711f4ad0f38600bf7aafe6039b24d94458212de8b2b67c4b0c3144d47ef617"}, {file = "kobo-0.36.2.tar.gz", hash = "sha256:e451421280a08df9d794582af9693f03fe2290db5041a08fdbee02a587a51bbf"},
] ]
[package.dependencies] [package.dependencies]
@ -286,102 +264,93 @@ six = "*"
[[package]] [[package]]
name = "markupsafe" name = "markupsafe"
version = "2.0.1" version = "2.1.5"
description = "Safely add untrusted strings to HTML/XML markup." description = "Safely add untrusted strings to HTML/XML markup."
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.7"
files = [ files = [
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b"}, {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a"}, {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a"}, {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd"}, {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f"}, {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6"}, {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f"}, {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194"}, {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee"}, {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
] ]
[[package]] [[package]]
name = "more-itertools" name = "more-itertools"
version = "9.1.0" version = "10.2.0"
description = "More routines for operating on iterables, beyond itertools" description = "More routines for operating on iterables, beyond itertools"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.8"
files = [ files = [
{file = "more-itertools-9.1.0.tar.gz", hash = "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"}, {file = "more-itertools-10.2.0.tar.gz", hash = "sha256:8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1"},
{file = "more_itertools-9.1.0-py3-none-any.whl", hash = "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3"}, {file = "more_itertools-10.2.0-py3-none-any.whl", hash = "sha256:686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684"},
] ]
[[package]] [[package]]
name = "packaging" name = "packaging"
version = "23.2" version = "24.0"
description = "Core utilities for Python packages" description = "Core utilities for Python packages"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
{file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
] ]
[[package]] [[package]]
@ -395,21 +364,18 @@ files = [
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
] ]
[package.dependencies]
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
[package.extras] [package.extras]
dev = ["pre-commit", "tox"] dev = ["pre-commit", "tox"]
[[package]] [[package]]
name = "productmd" name = "productmd"
version = "1.37" version = "1.38"
description = "Product, compose and installation media metadata library" description = "Product, compose and installation media metadata library"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "productmd-1.37-py3-none-any.whl", hash = "sha256:9f037ca1807f3ec293a61be2c989da52956c10ffd09b05f2166c8d26f70a17f0"}, {file = "productmd-1.38-py3-none-any.whl", hash = "sha256:d6398616b127b2bf195bbdac181282a92e27d92533b0c84ab9f9fadd8266c8ff"},
{file = "productmd-1.37.tar.gz", hash = "sha256:8d9057d9874f159a0a581e8c3b5e0c39fff9794fc010ad379d0c88d81c7adccd"}, {file = "productmd-1.38.tar.gz", hash = "sha256:8e1d4b9b2fa1d381595af52958f88076f5f440bf557c0a6b2370537958cf2fd5"},
] ]
[package.dependencies] [package.dependencies]
@ -441,7 +407,6 @@ files = [
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
attrs = ">=17.4.0" attrs = ">=17.4.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""} colorama = {version = "*", markers = "sys_platform == \"win32\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
more-itertools = ">=4.0.0" more-itertools = ">=4.0.0"
packaging = "*" packaging = "*"
pluggy = ">=0.12,<1.0" pluggy = ">=0.12,<1.0"
@ -454,13 +419,13 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm
[[package]] [[package]]
name = "python-dateutil" name = "python-dateutil"
version = "2.8.2" version = "2.9.0.post0"
description = "Extensions to the standard Python datetime module" description = "Extensions to the standard Python datetime module"
optional = false optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [ files = [
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
] ]
[package.dependencies] [package.dependencies]
@ -491,6 +456,7 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
@ -527,13 +493,13 @@ files = [
[[package]] [[package]]
name = "requests" name = "requests"
version = "2.31.0" version = "2.32.2"
description = "Python HTTP for Humans." description = "Python HTTP for Humans."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.8"
files = [ files = [
{file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, {file = "requests-2.32.2-py3-none-any.whl", hash = "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"},
{file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, {file = "requests-2.32.2.tar.gz", hash = "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289"},
] ]
[package.dependencies] [package.dependencies]
@ -562,20 +528,20 @@ testing = ["tox"]
[[package]] [[package]]
name = "s3transfer" name = "s3transfer"
version = "0.7.0" version = "0.10.1"
description = "An Amazon S3 Transfer Manager" description = "An Amazon S3 Transfer Manager"
optional = false optional = false
python-versions = ">= 3.7" python-versions = ">= 3.8"
files = [ files = [
{file = "s3transfer-0.7.0-py3-none-any.whl", hash = "sha256:10d6923c6359175f264811ef4bf6161a3156ce8e350e705396a7557d6293c33a"}, {file = "s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"},
{file = "s3transfer-0.7.0.tar.gz", hash = "sha256:fd3889a66f5fe17299fe75b82eae6cf722554edca744ca5d5fe308b104883d2e"}, {file = "s3transfer-0.10.1.tar.gz", hash = "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19"},
] ]
[package.dependencies] [package.dependencies]
botocore = ">=1.12.36,<2.0a.0" botocore = ">=1.33.2,<2.0a.0"
[package.extras] [package.extras]
crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"]
[[package]] [[package]]
name = "six" name = "six"
@ -588,17 +554,6 @@ files = [
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
] ]
[[package]]
name = "typing-extensions"
version = "4.7.1"
description = "Backported and Experimental Type Hints for Python 3.7+"
optional = false
python-versions = ">=3.7"
files = [
{file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"},
{file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
]
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.18" version = "1.26.18"
@ -617,30 +572,30 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "2.0.7" version = "2.2.1"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.8"
files = [ files = [
{file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
{file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
] ]
[package.extras] [package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"] zstd = ["zstandard (>=0.18.0)"]
[[package]] [[package]]
name = "wcwidth" name = "wcwidth"
version = "0.2.9" version = "0.2.13"
description = "Measures the displayed width of unicode strings in a terminal" description = "Measures the displayed width of unicode strings in a terminal"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
{file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
] ]
[[package]] [[package]]
@ -656,20 +611,20 @@ files = [
[[package]] [[package]]
name = "zipp" name = "zipp"
version = "3.15.0" version = "3.18.2"
description = "Backport of pathlib-compatible object wrapper for zip files" description = "Backport of pathlib-compatible object wrapper for zip files"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.8"
files = [ files = [
{file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, {file = "zipp-3.18.2-py3-none-any.whl", hash = "sha256:dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e"},
{file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, {file = "zipp-3.18.2.tar.gz", hash = "sha256:6278d9ddbcfb1f1089a88fde84481528b07b0e10474e09dcfe53dad4069fa059"},
] ]
[package.extras] [package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] testing = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = ">=3.7,<4" python-versions = ">=3.9,<4"
content-hash = "3653594c6605d2e9b01929eb7df2dd4824b3db249983e3d4607566fce19a54d8" content-hash = "ca397a25d73c157fb24520fb687fe526da59e2bc9e0747521d8bfbaac00bf7d6"

View File

@ -5,38 +5,38 @@ description = "hand crafted ISOs with love and spice"
authors = ["Louis Abel <label@rockylinux.org>", "Neil Hanlon <neil@rockylinux.org>"] authors = ["Louis Abel <label@rockylinux.org>", "Neil Hanlon <neil@rockylinux.org>"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = ">=3.7,<4" python = ">=3.9,<4"
rpm = ">=0.1.0" rpm = ">=0.1.0"
MarkupSafe = "==2.0.1" MarkupSafe = "==2.1.5"
PyYAML = "~6.0.1" PyYAML = "~6.0.1"
Jinja2 = "~2" Jinja2 = "~3"
productmd = "~1.37" productmd = "~1.38"
importlib-resources = "^5.8.0" importlib-resources = "^5.8.0"
boto3 = "^1.28.80" boto3 = "^1.34.110"
xmltodict = "^0.13.0" xmltodict = "^0.13.0"
requests = "^2.31.0" requests = "^2.32.2"
kobo = "^0.33.0" kobo = "^0.36.0"
attrs = "^23.1.0" attrs = "^23.2.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "~5" pytest = "~5"
[tool.poetry.scripts] [tool.poetry.scripts]
test_module = "empanadas.scripts.test_module:run" test-module = "empanadas.scripts.test_module:run"
sync_from_peridot = "empanadas.scripts.sync_from_peridot:run" sync-from-peridot = "empanadas.scripts.sync_from_peridot:run"
sync_from_peridot_test = "empanadas.scripts.sync_from_peridot_test:run" sync-from-peridot-test = "empanadas.scripts.sync_from_peridot_test:run"
sync_sig = "empanadas.scripts.sync_sig:run" sync-sig = "empanadas.scripts.sync_sig:run"
build-iso = "empanadas.scripts.build_iso:run" build-iso = "empanadas.scripts.build_iso:run"
build-iso-extra = "empanadas.scripts.build_iso_extra:run" build-iso-extra = "empanadas.scripts.build_iso_extra:run"
build-iso-live = "empanadas.scripts.build_iso_live:run" build-iso-live = "empanadas.scripts.build_iso_live:run"
pull-unpack-tree = "empanadas.scripts.pull_unpack_tree:run" pull-unpack-tree = "empanadas.scripts.pull_unpack_tree:run"
launch-builds = "empanadas.scripts.launch_builds:run" launch-builds = "empanadas.scripts.launch_builds:run"
build-image = "empanadas.scripts.build_image:run" build-image = "empanadas.scripts.build_image:run"
finalize_compose = "empanadas.scripts.finalize_compose:run" finalize-compose = "empanadas.scripts.finalize_compose:run"
pull-cloud-image = "empanadas.scripts.pull_cloud_image:run" pull-cloud-image = "empanadas.scripts.pull_cloud_image:run"
generate_compose = "empanadas.scripts.generate_compose:run" generate-compose = "empanadas.scripts.generate_compose:run"
peridot_repoclosure = "empanadas.scripts.peridot_repoclosure:run" peridot-repoclosure = "empanadas.scripts.peridot_repoclosure:run"
refresh_all_treeinfo = "empanadas.scripts.refresh_all_treeinfo:run" refresh-all-treeinfo = "empanadas.scripts.refresh_all_treeinfo:run"
[build-system] [build-system]
requires = ["poetry-core>=1.0.0"] requires = ["poetry-core>=1.0.0"]

View File

@ -8,9 +8,9 @@ VER="r${MAJOR}${LH}"
case "$VER" in case "$VER" in
r9) r9)
export PERIDOT_PROJECT_ID=dff20351-7d36-4f7c-9eea-7f039f5026d0 ;; export PERIDOT_PROJECT_ID=df5bcbfc-ba83-4da8-84d6-ae0168921b4d ;;
r9s) r9s)
export PERIDOT_PROJECT_ID=6202c09e-6252-4d3a-bcd3-9c7751682970 ;; export PERIDOT_PROJECT_ID=df5bcbfc-ba83-4da8-84d6-ae0168921b4d ;;
*) *)
echo "Not supported" echo "Not supported"
exit 1 exit 1

View File

@ -10,7 +10,10 @@ TEMP="$(mktemp -d)"
for version in 8 9; do for version in 8 9; do
file="$TEMP/org.rockylinux.rlsa-$version.xml" file="$TEMP/org.rockylinux.rlsa-$version.xml"
log "Generating $file" log "Generating $file"
podman run --rm --storage-opt ignore_chown_errors=true ghcr.io/rocky-linux/oval:latest -- $version > "$file" #podman run --rm --storage-opt ignore_chown_errors=true ghcr.io/rocky-linux/oval:latest -- $version > "$file"
# The above reports an error when running on R8. The below may *not* work on anything else.
# TODO: verify this is the case.
podman run --rm --storage-opt ignore_chown_errors=true ghcr.io/rocky-linux/oval:latest $version > "$file"
log "Compressing $file to $file.bz" log "Compressing $file to $file.bz"
bzip2 -kfz "$file" bzip2 -kfz "$file"
done done

View File

@ -10,6 +10,7 @@ from common import *
# Source packages we do not ship or are rocky branded # Source packages we do not ship or are rocky branded
IGNORES = [ IGNORES = [
'insights-client', 'insights-client',
'lorax-templates-rhel',
'redhat-cloud-client-configuration', 'redhat-cloud-client-configuration',
'rhc', 'rhc',
'rhc-worker-playbook', 'rhc-worker-playbook',

View File

@ -0,0 +1,86 @@
# Generated peridot mock config
config_opts['root'] = 'rocky-10-aarch64'
config_opts['target_arch'] = 'noarch'
config_opts['legal_host_arches'] = ['aarch64','noarch']
config_opts['chroot_setup_cmd'] = 'install bash glibc-minimal-langpack gnupg2 rpm-build shadow-utils system-release redhat-rpm-config'
config_opts['dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['releasever'] = '10'
config_opts['package_manager'] = 'dnf'
config_opts['extra_chroot_dirs'] = [ '/run/lock' ]
config_opts['rpmbuild_command'] = '/usr/bin/rpmbuild'
config_opts['use_bootstrap_image'] = False
config_opts['plugin_conf']['rpmautospec_enable'] = True
config_opts['plugin_conf']['rpmautospec_opts'] = {
'requires': ['rpmautospec'],
'cmd_base': ['/usr/bin/rpmautospec', 'process-distgit'],
}
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = False
config_opts['rpmbuild_networking'] = True
config_opts['use_host_resolv'] = True
config_opts['print_main_output'] = True
config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
config_opts['macros']['%_host'] = 'aarch64-redhat-linux-gnu'
config_opts['macros']['%_host_cpu'] = 'aarch64'
config_opts['macros']['%_vendor'] = "redhat"
config_opts['macros']['%_vendor_host'] = "redhat"
config_opts['module_setup_commands'] = []
config_opts['macros']['%__bootstrap'] = '~bootstrap'
config_opts['macros']['%vendor'] = 'Rocky Enterprise Software Foundation'
config_opts['macros']['%packager'] = 'Rocky Linux Build System (Peridot) <releng@rockylinux.org>'
config_opts['macros']['%distribution'] = 'Rocky Linux 10.0'
config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['macros']['%rhel'] = '10'
config_opts['files']['usr/lib/rpm/macros.d/macros.dist'] = """
%__bootstrap ~bootstrap
%vendor Rocky Enterprise Software Foundation
%packager Rocky Linux Build System (Peridot) <releng@rockylinux.org>
%distribution Rocky Linux 10
%dist %{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}
%rhel 10
"""
config_opts['dnf.conf'] = """
[main]
debuglevel=1
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
keepcache=1
best=1
syslog_ident=peridotbuilder
syslog_device=
metadata_expire=0
install_weak_deps=0
protected_packages=
reposdir=/dev/null
logfile=/var/log/yum.log
mdpolicy=group:primary
metadata_expire=0
user_agent=peridotbuilder
module_platform_id=platform:el10
[yumrepofs_0]
name=Peridot Internal - Yumrepofs 0
baseurl=https://yumrepofs.build.resf.org/v1/projects/e7b83c0a-b514-4903-b739-6943bbb307f7/repo/all/$arch
gpgcheck=0
enabled=1
priority=0
module_hotfixes=0
skip_if_unavailable=1
[peridotexternal_0]
name=Peridot External 0
baseurl=https://bootstrap9.releng.rockylinux.org/repos_stage1/10.0-BETA/10.0-BETA-bootstrap_$arch/
gpgcheck=0
enabled=1
priority=80
module_hotfixes=0
"""

View File

@ -0,0 +1,86 @@
# Generated peridot mock config
config_opts['root'] = 'rocky-10-ppc64le'
config_opts['target_arch'] = 'noarch'
config_opts['legal_host_arches'] = ['ppc64le','noarch']
config_opts['chroot_setup_cmd'] = 'install bash glibc-minimal-langpack gnupg2 rpm-build shadow-utils system-release redhat-rpm-config'
config_opts['dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['releasever'] = '10'
config_opts['package_manager'] = 'dnf'
config_opts['extra_chroot_dirs'] = [ '/run/lock' ]
config_opts['rpmbuild_command'] = '/usr/bin/rpmbuild'
config_opts['use_bootstrap_image'] = False
config_opts['plugin_conf']['rpmautospec_enable'] = True
config_opts['plugin_conf']['rpmautospec_opts'] = {
'requires': ['rpmautospec'],
'cmd_base': ['/usr/bin/rpmautospec', 'process-distgit'],
}
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = False
config_opts['rpmbuild_networking'] = True
config_opts['use_host_resolv'] = True
config_opts['print_main_output'] = True
config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
config_opts['macros']['%_host'] = 'ppc64le-redhat-linux-gnu'
config_opts['macros']['%_host_cpu'] = 'ppc64le'
config_opts['macros']['%_vendor'] = "redhat"
config_opts['macros']['%_vendor_host'] = "redhat"
config_opts['module_setup_commands'] = []
config_opts['macros']['%__bootstrap'] = '~bootstrap'
config_opts['macros']['%vendor'] = 'Rocky Enterprise Software Foundation'
config_opts['macros']['%packager'] = 'Rocky Linux Build System (Peridot) <releng@rockylinux.org>'
config_opts['macros']['%distribution'] = 'Rocky Linux 10.0'
config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['macros']['%rhel'] = '10'
config_opts['files']['usr/lib/rpm/macros.d/macros.dist'] = """
%__bootstrap ~bootstrap
%vendor Rocky Enterprise Software Foundation
%packager Rocky Linux Build System (Peridot) <releng@rockylinux.org>
%distribution Rocky Linux 10
%dist %{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}
%rhel 10
"""
config_opts['dnf.conf'] = """
[main]
debuglevel=1
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
keepcache=1
best=1
syslog_ident=peridotbuilder
syslog_device=
metadata_expire=0
install_weak_deps=0
protected_packages=
reposdir=/dev/null
logfile=/var/log/yum.log
mdpolicy=group:primary
metadata_expire=0
user_agent=peridotbuilder
module_platform_id=platform:el10
[yumrepofs_0]
name=Peridot Internal - Yumrepofs 0
baseurl=https://yumrepofs.build.resf.org/v1/projects/e7b83c0a-b514-4903-b739-6943bbb307f7/repo/all/$arch
gpgcheck=0
enabled=1
priority=0
module_hotfixes=0
skip_if_unavailable=1
[peridotexternal_0]
name=Peridot External 0
baseurl=https://bootstrap9.releng.rockylinux.org/repos_stage1/10.0-BETA/10.0-BETA-bootstrap_$arch/
gpgcheck=0
enabled=1
priority=80
module_hotfixes=0
"""

View File

@ -0,0 +1,86 @@
# Generated peridot mock config
config_opts['root'] = 'rocky-10-s390x'
config_opts['target_arch'] = 'noarch'
config_opts['legal_host_arches'] = ['s390x','noarch']
config_opts['chroot_setup_cmd'] = 'install bash glibc-minimal-langpack gnupg2 rpm-build shadow-utils system-release redhat-rpm-config'
config_opts['dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['releasever'] = '10'
config_opts['package_manager'] = 'dnf'
config_opts['extra_chroot_dirs'] = [ '/run/lock' ]
config_opts['rpmbuild_command'] = '/usr/bin/rpmbuild'
config_opts['use_bootstrap_image'] = False
config_opts['plugin_conf']['rpmautospec_enable'] = True
config_opts['plugin_conf']['rpmautospec_opts'] = {
'requires': ['rpmautospec'],
'cmd_base': ['/usr/bin/rpmautospec', 'process-distgit'],
}
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = False
config_opts['rpmbuild_networking'] = True
config_opts['use_host_resolv'] = True
config_opts['print_main_output'] = True
config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
config_opts['macros']['%_host'] = 's390x-redhat-linux-gnu'
config_opts['macros']['%_host_cpu'] = 's390x'
config_opts['macros']['%_vendor'] = "redhat"
config_opts['macros']['%_vendor_host'] = "redhat"
config_opts['module_setup_commands'] = []
config_opts['macros']['%__bootstrap'] = '~bootstrap'
config_opts['macros']['%vendor'] = 'Rocky Enterprise Software Foundation'
config_opts['macros']['%packager'] = 'Rocky Linux Build System (Peridot) <releng@rockylinux.org>'
config_opts['macros']['%distribution'] = 'Rocky Linux 10.0'
config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['macros']['%rhel'] = '10'
config_opts['files']['usr/lib/rpm/macros.d/macros.dist'] = """
%__bootstrap ~bootstrap
%vendor Rocky Enterprise Software Foundation
%packager Rocky Linux Build System (Peridot) <releng@rockylinux.org>
%distribution Rocky Linux 10
%dist %{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}
%rhel 10
"""
config_opts['dnf.conf'] = """
[main]
debuglevel=1
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
keepcache=1
best=1
syslog_ident=peridotbuilder
syslog_device=
metadata_expire=0
install_weak_deps=0
protected_packages=
reposdir=/dev/null
logfile=/var/log/yum.log
mdpolicy=group:primary
metadata_expire=0
user_agent=peridotbuilder
module_platform_id=platform:el10
[yumrepofs_0]
name=Peridot Internal - Yumrepofs 0
baseurl=https://yumrepofs.build.resf.org/v1/projects/e7b83c0a-b514-4903-b739-6943bbb307f7/repo/all/$arch
gpgcheck=0
enabled=1
priority=0
module_hotfixes=0
skip_if_unavailable=1
[peridotexternal_0]
name=Peridot External 0
baseurl=https://bootstrap9.releng.rockylinux.org/repos_stage1/10.0-BETA/10.0-BETA-bootstrap_$arch/
gpgcheck=0
enabled=1
priority=80
module_hotfixes=0
"""

View File

@ -0,0 +1,86 @@
# Generated peridot mock config
config_opts['root'] = 'rocky-10-x86_64'
config_opts['target_arch'] = 'noarch'
config_opts['legal_host_arches'] = ['x86_64','noarch']
config_opts['chroot_setup_cmd'] = 'install bash glibc-minimal-langpack gnupg2 rpm-build shadow-utils system-release redhat-rpm-config'
config_opts['dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['releasever'] = '10'
config_opts['package_manager'] = 'dnf'
config_opts['extra_chroot_dirs'] = [ '/run/lock' ]
config_opts['rpmbuild_command'] = '/usr/bin/rpmbuild'
config_opts['use_bootstrap_image'] = False
config_opts['plugin_conf']['rpmautospec_enable'] = True
config_opts['plugin_conf']['rpmautospec_opts'] = {
'requires': ['rpmautospec'],
'cmd_base': ['/usr/bin/rpmautospec', 'process-distgit'],
}
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = False
config_opts['rpmbuild_networking'] = True
config_opts['use_host_resolv'] = True
config_opts['print_main_output'] = True
config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
config_opts['macros']['%_host'] = 'x86_64-redhat-linux-gnu'
config_opts['macros']['%_host_cpu'] = 'x86_64'
config_opts['macros']['%_vendor'] = "redhat"
config_opts['macros']['%_vendor_host'] = "redhat"
config_opts['module_setup_commands'] = []
config_opts['macros']['%__bootstrap'] = '~bootstrap'
config_opts['macros']['%vendor'] = 'Rocky Enterprise Software Foundation'
config_opts['macros']['%packager'] = 'Rocky Linux Build System (Peridot) <releng@rockylinux.org>'
config_opts['macros']['%distribution'] = 'Rocky Linux 10.0'
config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}'
config_opts['macros']['%rhel'] = '10'
config_opts['files']['usr/lib/rpm/macros.d/macros.dist'] = """
%__bootstrap ~bootstrap
%vendor Rocky Enterprise Software Foundation
%packager Rocky Linux Build System (Peridot) <releng@rockylinux.org>
%distribution Rocky Linux 10
%dist %{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el10%{?with_bootstrap:~bootstrap}
%rhel 10
"""
config_opts['dnf.conf'] = """
[main]
debuglevel=1
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
keepcache=1
best=1
syslog_ident=peridotbuilder
syslog_device=
metadata_expire=0
install_weak_deps=0
protected_packages=
reposdir=/dev/null
logfile=/var/log/yum.log
mdpolicy=group:primary
metadata_expire=0
user_agent=peridotbuilder
module_platform_id=platform:el10
[yumrepofs_0]
name=Peridot Internal - Yumrepofs 0
baseurl=https://yumrepofs.build.resf.org/v1/projects/e7b83c0a-b514-4903-b739-6943bbb307f7/repo/all/$arch
gpgcheck=0
enabled=1
priority=0
module_hotfixes=0
skip_if_unavailable=1
[peridotexternal_0]
name=Peridot External 0
baseurl=https://bootstrap9.releng.rockylinux.org/repos_stage1/10.0-BETA/10.0-BETA-bootstrap_$arch/
gpgcheck=0
enabled=1
priority=80
module_hotfixes=0
"""

View File

@ -33,7 +33,7 @@ command = parser.parse_args().cmd
def all_rocky_files( def all_rocky_files(
directory_path = '/etc/yum.repos.d', directory_path = '/etc/yum.repos.d',
filter_filename = lambda file: 'rocky' in file) -> list: filter_filename = lambda file: 'rocky' in file.lower()) -> list:
""" """
Filter out specified files Filter out specified files
""" """

View File

@ -67,7 +67,7 @@ REV="${REVISION}${APPEND_TO_DIR}"
# Used to iterate over ISOs? # Used to iterate over ISOs?
# Override: Allowed # Override: Allowed
VARIANTS=(boot minimal dvd1) VARIANTS=(boot minimal dvd1 dvd)
# Syncing functions # Syncing functions
function parallel_rsync_no_delete_staging() { function parallel_rsync_no_delete_staging() {

View File

@ -3,19 +3,19 @@
# Revision must always start with a major number # Revision must always start with a major number
case "${RLREL}" in case "${RLREL}" in
stable) stable)
REVISION=9.3 REVISION=9.4
PREREV=9.2 PREREV=9.3
APPEND_TO_DIR="-RC1" APPEND_TO_DIR="-RC1"
;; ;;
beta) beta)
REVISION=9.4 REVISION=9.5
PREREV=9.3 PREREV=9.4
APPEND_TO_DIR="-beta" APPEND_TO_DIR="-beta"
COMPOSE_APPEND="-beta" COMPOSE_APPEND="-beta"
;; ;;
lh) lh)
REVISION=9.4 REVISION=9.5
PREREV=9.3 PREREV=9.4
APPEND_TO_DIR="-lookahead" APPEND_TO_DIR="-lookahead"
COMPOSE_APPEND="-lookahead" COMPOSE_APPEND="-lookahead"
;; ;;

View File

@ -63,7 +63,7 @@ for variant in "${VARIANTS[@]}"; do
printf "** Linking Version: %s; Arch: %s; Variant: %s\n" "${REVISION}" "${arch}" "${variant}" printf "** Linking Version: %s; Arch: %s; Variant: %s\n" "${REVISION}" "${arch}" "${variant}"
ln -sv \ ln -sv \
"${ISODIR}"/"${arch}"/{CHECKSUM*,"${name_template}".iso*} \ "${ISODIR}"/"${arch}"/{"CHECKSUM"*,"${name_template}".iso*} \
"${name_template}"/ "${name_template}"/
done done
done done

View File

@ -63,7 +63,7 @@ func FindRecentImages(bucketName string, prefix string, version string, imageTyp
log.Fatalf("uh oh: %v", err) log.Fatalf("uh oh: %v", err)
} }
pattern := regexp.MustCompile(`(?P<whole>Rocky-(?P<major>[0-9]+)-(?P<type>\w+)(?:-(?P<variant>\w+))?-(?:[0-9]+)\.(?P<minor>[0-9])-(?P<date>[0-9]+)\.(?P<epoch>[0-9]+)\.(?P<architecture>\w+)/(?P<datestamp>[0-9]+)/(?P<file>(.+\.(?P<extension>(box|qcow2|raw|tar\.xz|vhd)))))$`) pattern := regexp.MustCompile(`(?P<whole>Rocky-(?P<major>[0-9]+)-(?P<type>\w+)(?:-(?P<variant>\w+))?-(?:[0-9]+)\.(?P<minor>[0-9]+)-(?P<date>[0-9]+)\.(?P<epoch>[0-9]+)\.(?P<architecture>\w+)/(?P<datestamp>[0-9]+)/(?P<file>(.+\.(?P<extension>(box|qcow2|raw|tar\.xz|vhd)))))$`)
// Loop through the objects and find the latest one for each file type // Loop through the objects and find the latest one for each file type
latestByTypeVariant := map[string]map[string]*Image{} latestByTypeVariant := map[string]map[string]*Image{}
for _, obj := range items { for _, obj := range items {