Compare commits
No commits in common. "devel" and "feature/variant-images-download" have entirely different histories.
devel
...
feature/va
10
.github/workflows/mix-empanadas.yml
vendored
10
.github/workflows/mix-empanadas.yml
vendored
|
@ -17,17 +17,17 @@ jobs:
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v1
|
||||||
# https://github.com/docker/setup-buildx-action
|
# https://github.com/docker/setup-buildx-action
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v1
|
||||||
with:
|
with:
|
||||||
install: true
|
install: true
|
||||||
|
|
||||||
- name: Login to ghcr
|
- name: Login to ghcr
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v1
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
|
@ -35,7 +35,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v2
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
|
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
|
||||||
|
@ -44,4 +44,4 @@ jobs:
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
tags: ghcr.io/rocky-linux/sig-core-toolkit:latest
|
tags: ghcr.io/rocky-linux/sig-core-toolkit:latest
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=inline
|
cache-to: type=gha,mode=max
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1 @@
|
||||||
*.sw[a-z]
|
.swp
|
||||||
|
|
15
README.md
15
README.md
|
@ -13,7 +13,8 @@ What does this have?
|
||||||
* analyze -> Analysis utilities (such as download stats)
|
* analyze -> Analysis utilities (such as download stats)
|
||||||
* chat -> mattermost related utilities
|
* chat -> mattermost related utilities
|
||||||
* func -> (mostly defunct) testing scripts and tools to test base functionality
|
* func -> (mostly defunct) testing scripts and tools to test base functionality
|
||||||
* iso -> Contains `empanadas`, which provides ISO, Compose, and Sync related utilities.
|
* iso -> ISO, Compose, and Sync related utilities, primarily for Rocky Linux 9+
|
||||||
|
* live -> Live image related utilities
|
||||||
* mangle -> Manglers and other misc stuff
|
* mangle -> Manglers and other misc stuff
|
||||||
* sync -> Sync tools, primarily for Rocky Linux 8 and will eventually be deprecated
|
* sync -> Sync tools, primarily for Rocky Linux 8 and will eventually be deprecated
|
||||||
|
|
||||||
|
@ -23,17 +24,13 @@ How can I help?
|
||||||
Fork this repository and open a PR with your changes. Keep these things in mind
|
Fork this repository and open a PR with your changes. Keep these things in mind
|
||||||
when you make changes:
|
when you make changes:
|
||||||
|
|
||||||
* Your PR should be against the devel branch (not optional)
|
* Have pre-commit installed
|
||||||
* Have pre-commit installed if possible
|
* Have shellcheck installed
|
||||||
* Have shellcheck installed if possible
|
|
||||||
* Shell Scripts: These must pass a shellcheck test!
|
* Shell Scripts: These must pass a shellcheck test!
|
||||||
* Python scripts: Try your best to follow PEP8 guidelines (even the best linters get things wrong)
|
* Python scripts: Try your best to follow PEP8 guidelines (even the best linters get things wrong)
|
||||||
|
|
||||||
* Note that not everything has to pass. Just try your best.
|
Your PR should be against the devel branch at all times. PR's against the main
|
||||||
|
branch will be closed.
|
||||||
PR's against the main branch will be closed.
|
|
||||||
|
|
||||||
PR's are preferred at the [RESF Git Service](https://git.resf.org).
|
|
||||||
|
|
||||||
Will some of this be moved into separate repositories?
|
Will some of this be moved into separate repositories?
|
||||||
------------------------------------------------------
|
------------------------------------------------------
|
||||||
|
|
3
func/.gitignore
vendored
3
func/.gitignore
vendored
|
@ -1,5 +1,2 @@
|
||||||
log/*.log
|
log/*.log
|
||||||
log/*.log.*
|
log/*.log.*
|
||||||
clone_again/
|
|
||||||
cloned/
|
|
||||||
tftptest
|
|
||||||
|
|
|
@ -5,20 +5,22 @@ These are a set of scripts that are designed to test the core functionality
|
||||||
of a Rocky Linux system. They are designed to work on current versions of
|
of a Rocky Linux system. They are designed to work on current versions of
|
||||||
Rocky and are used to test a system as a Release Engineering self-QA but
|
Rocky and are used to test a system as a Release Engineering self-QA but
|
||||||
can be used by others for their own personal testing (under the assumption
|
can be used by others for their own personal testing (under the assumption
|
||||||
that you just want to see what happens, we don't judge.
|
that you just want to see what happens, we don't judge :).
|
||||||
|
|
||||||
These tests *must* pass for a X.0 release to be considered "Core Validated".
|
These tests *must* pass for a release to be considered "Core Validated"
|
||||||
|
Checking against the upstream repositories for package matches are not enough
|
||||||
|
and are/will be addressed by other tools.
|
||||||
|
|
||||||
* common -> Functions that our scripts and tests may or may not use. Templates
|
* common -> Functions that our scripts and tests may or may not use. Templates
|
||||||
and other files should come here too under common/files and
|
and other files should come here too under common/files and
|
||||||
scripts that use them should reference them as `./common/files/...`
|
scripts that use them should reference them as `./common/files/...`
|
||||||
* core -> Core functionality and testing. For example, packages and service
|
* core -> Core functionality and testing. For example, packages and service
|
||||||
functionality.
|
functionality.
|
||||||
* lib -> Library tests (these may be done elsewhere, such as openqa)
|
* lib -> Library tests (these may be done elsewhere)
|
||||||
* log -> Log output. This repository has example logs of running on Rocky
|
* log -> Log output. This repository has example logs of running on Rocky
|
||||||
Linux.
|
Linux.
|
||||||
* modules -> Tests for module streams and their basic tests
|
* modules -> Tests for module streams and their basic tests
|
||||||
* stacks -> Software stacks, think like LAMP (may be done elsewhere, such as openqa)
|
* stacks -> Software stacks, think like LAMP.
|
||||||
|
|
||||||
How to Run
|
How to Run
|
||||||
----------
|
----------
|
||||||
|
@ -148,13 +150,6 @@ security is important, actually work and function correctly.
|
||||||
With that said, There is no reason to disable integral security layers on your
|
With that said, There is no reason to disable integral security layers on your
|
||||||
system.
|
system.
|
||||||
|
|
||||||
### Should EPEL be enabled?
|
|
||||||
No. The point is to test Rocky packages, not EPEL. There are also package
|
|
||||||
differences that will break (eg: nc -> nmap-ncat vs netcat).
|
|
||||||
|
|
||||||
### What about CRB or extras?
|
|
||||||
It may say it's a failure, but it will continue anyway.
|
|
||||||
|
|
||||||
Current Tree
|
Current Tree
|
||||||
------------
|
------------
|
||||||
```
|
```
|
||||||
|
|
|
@ -36,25 +36,11 @@ function r_processor() {
|
||||||
if [[ "$(basename ${file})" =~ README|^\.|^_ ]]; then
|
if [[ "$(basename ${file})" =~ README|^\.|^_ ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
[ -x "${file}" ] && echo "Begin processing script: ${file}" && "${file}"
|
[ -x "${file}" ] && "${file}"
|
||||||
done
|
done
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function r_checkEPELEnabled() {
|
|
||||||
/usr/bin/dnf repolist | grep -q '^epel'
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function r_checkTmpNoExec() {
|
|
||||||
grep 'tmp' /etc/fstab | grep -q noexec
|
|
||||||
tmpexec=$?
|
|
||||||
|
|
||||||
if [ "$tmpexec" -eq "0" ]; then
|
|
||||||
r_log "internal" "WARN: noexec is set for temporary directories. Some tests may fail."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Functions that deal with (p)ackages
|
# Functions that deal with (p)ackages
|
||||||
|
|
||||||
|
@ -113,11 +99,7 @@ function p_getPackageArch() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function p_getDist() {
|
function p_getDist() {
|
||||||
rpm -q --whatprovides redhat-release --queryformat '%{version}\n' | cut -d'.' -f1
|
rpm -q "$(rpm -qf /etc/redhat-release)" --queryformat '%{version}\n' | cut -d'.' -f1
|
||||||
}
|
|
||||||
|
|
||||||
function p_getMinorVersion() {
|
|
||||||
rpm -q --whatprovides redhat-release --queryformat '%{version}\n' | cut -d'.' -f2
|
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -222,16 +204,12 @@ function m_recycleLog() {
|
||||||
|
|
||||||
rl_ver=$(p_getDist)
|
rl_ver=$(p_getDist)
|
||||||
rl_arch=$(m_getArch)
|
rl_arch=$(m_getArch)
|
||||||
rl_minor_ver=$(p_getMinorVersion)
|
|
||||||
export rl_ver
|
export rl_ver
|
||||||
export rl_arch
|
export rl_arch
|
||||||
export rl_minor_ver
|
|
||||||
|
|
||||||
export -f r_log
|
export -f r_log
|
||||||
export -f r_checkExitStatus
|
export -f r_checkExitStatus
|
||||||
export -f r_processor
|
export -f r_processor
|
||||||
export -f r_checkEPELEnabled
|
|
||||||
export -f r_checkTmpNoExec
|
|
||||||
export -f p_installPackageNormal
|
export -f p_installPackageNormal
|
||||||
export -f p_installPackageNoWeaks
|
export -f p_installPackageNoWeaks
|
||||||
export -f p_removePackage
|
export -f p_removePackage
|
||||||
|
@ -240,7 +218,6 @@ export -f p_resetModule
|
||||||
export -f p_getPackageRelease
|
export -f p_getPackageRelease
|
||||||
export -f p_getPackageArch
|
export -f p_getPackageArch
|
||||||
export -f p_getDist
|
export -f p_getDist
|
||||||
export -f p_getMinorVersion
|
|
||||||
export -f m_serviceCycler
|
export -f m_serviceCycler
|
||||||
export -f m_checkForPort
|
export -f m_checkForPort
|
||||||
export -f m_assertCleanExit
|
export -f m_assertCleanExit
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Basic tests, such as repos
|
|
|
@ -1,56 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# label <label@rockylinux.org>
|
|
||||||
import datetime
|
|
||||||
import sys
|
|
||||||
import dnf
|
|
||||||
import dnf.exceptions
|
|
||||||
|
|
||||||
# pylint: disable=unnecessary-lambda-assignment
|
|
||||||
now = datetime.datetime.today().strftime("%m-%d-%Y %T")
|
|
||||||
|
|
||||||
class DnfQuiet(dnf.Base):
|
|
||||||
"""
|
|
||||||
DNF object
|
|
||||||
|
|
||||||
This is in the event we need special functions
|
|
||||||
"""
|
|
||||||
def __init__(self):
|
|
||||||
dnf.Base.__init__(self)
|
|
||||||
|
|
||||||
def main():
|
|
||||||
"""
|
|
||||||
Main run
|
|
||||||
"""
|
|
||||||
dnfobj = DnfQuiet()
|
|
||||||
releasever = dnfobj.conf.releasever
|
|
||||||
try:
|
|
||||||
dnfobj.read_all_repos()
|
|
||||||
# pylint: disable=bare-except
|
|
||||||
except:
|
|
||||||
print(f'[-] {now} -> Could not read repos', file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
rocky_default_repos = {
|
|
||||||
'8': ['baseos', 'appstream', 'extras'],
|
|
||||||
'9': ['baseos', 'appstream', 'extras']
|
|
||||||
}.get(releasever, None)
|
|
||||||
|
|
||||||
if not rocky_default_repos:
|
|
||||||
print(f'[-] {now} -> Not a Rocky Linux system')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
print(f'[-] {now} -> Checking if non-default repo is enabled')
|
|
||||||
_not_allowed=False
|
|
||||||
for repo in list(dnfobj.repos.iter_enabled()):
|
|
||||||
if not repo.id in rocky_default_repos:
|
|
||||||
print(f'[-] {now} -> {repo.id} is enabled and should be disabled')
|
|
||||||
_not_allowed=True
|
|
||||||
if _not_allowed:
|
|
||||||
print(f'[-] {now} -> FAIL - There are extra repos enabled')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
print(f'[-] {now} -> PASS')
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
|
@ -1,8 +1,6 @@
|
||||||
#!/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
|
r_log "acl" "Remount filesystems with ACL support (this normally should not be needed)"
|
||||||
# This normally is not needed.
|
mount -o remount,acl /
|
||||||
#r_log "acl" "Remount filesystems with ACL support"
|
|
||||||
#mount -o remount,acl /
|
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
ACLFILE=/tmp/testfile_acl
|
ACLFILE=/tmp/testfile_acl
|
||||||
r_log "acl" "Test that the acl get and set functions work"
|
r_log "acl" "Test that the acl get and set functions work"
|
||||||
touch "${ACLFILE}"
|
touch "${ACLFILE}"
|
||||||
trap '/bin/rm -f ${ACLFILE}' EXIT
|
|
||||||
|
|
||||||
# Use setfacl for readonly
|
# Use setfacl for readonly
|
||||||
r_log "acl" "Set readonly ACL for the user nobody"
|
r_log "acl" "Set readonly ACL for the user nobody"
|
||||||
|
@ -13,3 +12,4 @@ r_log "acl" "Verifying that the nobody user is set to read only"
|
||||||
getfacl "${ACLFILE}" | grep -q 'user:nobody:r--'
|
getfacl "${ACLFILE}" | grep -q 'user:nobody:r--'
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
/bin/rm -f "${ACLFILE}"
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "archive" "Test bzip/bzcat/bunzip"
|
r_log "archive" "Test bzip/bzcat/bunzip"
|
||||||
FILE=/var/tmp/bziptest.txt
|
FILE=/var/tmp/bziptest.txt
|
||||||
trap '/bin/rm -f ${FILE}' EXIT
|
|
||||||
|
|
||||||
cat > "$FILE" <<EOF
|
cat > "$FILE" <<EOF
|
||||||
testing text
|
testing text
|
||||||
|
@ -24,3 +23,5 @@ fi
|
||||||
grep -q 'testing text' "${FILE}"
|
grep -q 'testing text' "${FILE}"
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm -f "${FILE}*"
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "archive" "Verifying gzip binaries"
|
r_log "archive" "Verifying gzip binaries"
|
||||||
|
|
||||||
echo -n "Processing; "
|
|
||||||
for bin in gunzip gzexe gzip zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew; do
|
for bin in gunzip gzexe gzip zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew; do
|
||||||
echo -n "$bin "
|
echo -n "$bin"
|
||||||
r_log "archive" "$bin"
|
r_log "archive" "$bin"
|
||||||
$bin --version &> /dev/null || r_checkExitStatus 1
|
$bin --version &> /dev/null || r_checkExitStatus 1
|
||||||
done
|
done
|
||||||
|
|
|
@ -4,9 +4,6 @@ r_log "archive" "Test gzip/zcat/gunzip"
|
||||||
FILE=/var/tmp/gzip-test.txt
|
FILE=/var/tmp/gzip-test.txt
|
||||||
MD5HASH=e6331c582fbad6653832860f469f7d1b
|
MD5HASH=e6331c582fbad6653832860f469f7d1b
|
||||||
|
|
||||||
# clean up
|
|
||||||
trap '/bin/rm $FILE* &> /dev/null && /bin/rm -rf /var/tmp/gziptest &> /dev/null' EXIT
|
|
||||||
|
|
||||||
# Double check that stuff is cleared out
|
# Double check that stuff is cleared out
|
||||||
/bin/rm $FILE* &> /dev/null
|
/bin/rm $FILE* &> /dev/null
|
||||||
/bin/rm -rf /var/tmp/gziptest &> /dev/null
|
/bin/rm -rf /var/tmp/gziptest &> /dev/null
|
||||||
|
@ -110,3 +107,7 @@ tar -czf $FILE.tgz $FILE &> /dev/null
|
||||||
gunzip $FILE.tgz
|
gunzip $FILE.tgz
|
||||||
[ -e $FILE.tar ]
|
[ -e $FILE.tar ]
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
/bin/rm $FILE* &> /dev/null
|
||||||
|
/bin/rm -rf /var/tmp/gziptest &> /dev/null
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
r_log "archive" "Checking gzexe"
|
r_log "archive" "Checking gzexe"
|
||||||
r_log "archive" "Creating archive"
|
r_log "archive" "Creating archive"
|
||||||
FILE=/var/tmp/gzexe-test-script
|
FILE=/var/tmp/gzexe-test-script
|
||||||
trap '/bin/rm -f $FILE* 2>/dev/null' EXIT
|
|
||||||
|
|
||||||
/bin/rm -f $FILE* &>/dev/null
|
/bin/rm -f $FILE* &>/dev/null
|
||||||
|
|
||||||
cat > $FILE <<EOF
|
cat > $FILE <<EOF
|
||||||
|
@ -20,3 +18,5 @@ r_log "archive" "Test gzexe"
|
||||||
r_log "archive" "Check that it actually runs"
|
r_log "archive" "Check that it actually runs"
|
||||||
$FILE | grep -q "Hello!"
|
$FILE | grep -q "Hello!"
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm -f $FILE* 2>/dev/null
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "archive" "Check zcmp and zdiff"
|
r_log "archive" "Check zcmp and zdiff"
|
||||||
BASEFILE="/var/tmp/gziptest"
|
BASEFILE="/var/tmp/gziptest"
|
||||||
trap '/bin/rm -f ${BASEFILE}*' EXIT
|
|
||||||
/bin/rm -f ${BASEFILE}
|
/bin/rm -f ${BASEFILE}
|
||||||
|
|
||||||
cat > ${BASEFILE}.1 <<EOF
|
cat > ${BASEFILE}.1 <<EOF
|
||||||
|
@ -16,3 +15,5 @@ r_log "archive" "Check zcmp"
|
||||||
|
|
||||||
r_log "archive" "Check zdiff"
|
r_log "archive" "Check zdiff"
|
||||||
/bin/zdiff ${BASEFILE}.1.gz ${BASEFILE}.2.gz || r_checkExitStatus 1
|
/bin/zdiff ${BASEFILE}.1.gz ${BASEFILE}.2.gz || r_checkExitStatus 1
|
||||||
|
|
||||||
|
/bin/rm -f ${BASEFILE}*
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
r_log "archive" "Testing zforce"
|
r_log "archive" "Testing zforce"
|
||||||
|
|
||||||
BASEFILE="/var/tmp/abcdefg"
|
BASEFILE="/var/tmp/abcdefg"
|
||||||
trap '/bin/rm "$BASEFILE.gz"' EXIT
|
|
||||||
/bin/rm $BASEFILE* &>/dev/null
|
/bin/rm $BASEFILE* &>/dev/null
|
||||||
|
|
||||||
cat > $BASEFILE <<EOF
|
cat > $BASEFILE <<EOF
|
||||||
|
@ -15,3 +14,5 @@ mv $BASEFILE.gz $BASEFILE
|
||||||
zforce $BASEFILE || r_checkExitStatus 1
|
zforce $BASEFILE || r_checkExitStatus 1
|
||||||
[ -e "$BASEFILE.gz" ]
|
[ -e "$BASEFILE.gz" ]
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm "$BASEFILE.gz"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "archive" "Testing zgrep"
|
r_log "archive" "Testing zgrep"
|
||||||
BASEFILE=/var/tmp/zgreptest
|
BASEFILE=/var/tmp/zgreptest
|
||||||
trap '/bin/rm $BASEFILE*' EXIT
|
|
||||||
/bin/rm $BASEFILE* &> /dev/null
|
/bin/rm $BASEFILE* &> /dev/null
|
||||||
|
|
||||||
cat > $BASEFILE <<EOF
|
cat > $BASEFILE <<EOF
|
||||||
|
@ -12,3 +11,5 @@ gzip $BASEFILE
|
||||||
|
|
||||||
zgrep -q 'Green Obsidian' $BASEFILE.gz
|
zgrep -q 'Green Obsidian' $BASEFILE.gz
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm $BASEFILE*
|
||||||
|
|
0
func/core/pkg_archive/27-znew.sh
Normal file → Executable file
0
func/core/pkg_archive/27-znew.sh
Normal file → Executable file
|
@ -4,7 +4,6 @@ r_log "archive" "Test tar create and extract"
|
||||||
TARDIR="/var/tmp/tartest"
|
TARDIR="/var/tmp/tartest"
|
||||||
FILE1="$TARDIR/test.1.txt"
|
FILE1="$TARDIR/test.1.txt"
|
||||||
FILE2="$TARDIR/test.2.txt"
|
FILE2="$TARDIR/test.2.txt"
|
||||||
trap '/bin/rm -rf /var/tmp/tarfile.tar $TARDIR' EXIT
|
|
||||||
|
|
||||||
mkdir -p $TARDIR
|
mkdir -p $TARDIR
|
||||||
cat > $FILE1 <<EOF
|
cat > $FILE1 <<EOF
|
||||||
|
@ -33,3 +32,5 @@ if [ $RES1 == 0 ] && [ $RES2 == 0 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
r_checkExitStatus $ret_val
|
r_checkExitStatus $ret_val
|
||||||
|
|
||||||
|
/bin/rm -rf /var/tmp/tarfile.tar $TARDIR
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "archive" "Check xzcmp and xzdiff"
|
r_log "archive" "Check xzcmp and xzdiff"
|
||||||
BASEFILE="/var/tmp/xztest"
|
BASEFILE="/var/tmp/xztest"
|
||||||
trap '/bin/rm -f ${BASEFILE}*' EXIT
|
|
||||||
/bin/rm -f ${BASEFILE}
|
/bin/rm -f ${BASEFILE}
|
||||||
|
|
||||||
cat > ${BASEFILE}.1 <<EOF
|
cat > ${BASEFILE}.1 <<EOF
|
||||||
|
@ -16,3 +15,5 @@ r_log "archive" "Check xzcmp"
|
||||||
|
|
||||||
r_log "archive" "Check xzdiff"
|
r_log "archive" "Check xzdiff"
|
||||||
/bin/zdiff ${BASEFILE}.1.xz ${BASEFILE}.2.xz || r_checkExitStatus 1
|
/bin/zdiff ${BASEFILE}.1.xz ${BASEFILE}.2.xz || r_checkExitStatus 1
|
||||||
|
|
||||||
|
/bin/rm -f ${BASEFILE}*
|
||||||
|
|
|
@ -4,7 +4,6 @@ r_log "archive" "Test zip create and extract"
|
||||||
ZIPDIR="/var/tmp/ziptest"
|
ZIPDIR="/var/tmp/ziptest"
|
||||||
FILE1="$ZIPDIR/test.1.txt"
|
FILE1="$ZIPDIR/test.1.txt"
|
||||||
FILE2="$ZIPDIR/test.2.txt"
|
FILE2="$ZIPDIR/test.2.txt"
|
||||||
trap '/bin/rm -rf /var/tmp/zipfile.zip $ZIPDIR' EXIT
|
|
||||||
|
|
||||||
mkdir -p $ZIPDIR
|
mkdir -p $ZIPDIR
|
||||||
cat > $FILE1 <<EOF
|
cat > $FILE1 <<EOF
|
||||||
|
@ -32,4 +31,6 @@ if [ $RES1 == 0 ] && [ $RES2 == 0 ]; then
|
||||||
ret_val=0
|
ret_val=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
r_checkExitStatus "$ret_val"
|
r_checkExitStatus $ret_val
|
||||||
|
|
||||||
|
/bin/rm -rf /var/tmp/zipfile.zip $ZIPDIR
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
r_log "archive" "Testing lzop compress and decompress"
|
r_log "archive" "Testing lzop compress and decompress"
|
||||||
|
|
||||||
LZOFILE=/var/tmp/obsidian.txt
|
LZOFILE=/var/tmp/obsidian.txt
|
||||||
trap '/bin/rm ${LZOFILE}' EXIT
|
|
||||||
|
|
||||||
echo 'Green Obsidian is the release name' > ${LZOFILE}
|
echo 'Green Obsidian is the release name' > ${LZOFILE}
|
||||||
|
|
||||||
|
@ -14,5 +13,5 @@ lzop -d ${LZOFILE}.lzo -o ${LZOFILE}
|
||||||
/bin/rm ${LZOFILE}.lzo
|
/bin/rm ${LZOFILE}.lzo
|
||||||
|
|
||||||
grep -q 'Green Obsidian' ${LZOFILE}
|
grep -q 'Green Obsidian' ${LZOFILE}
|
||||||
ret_val="$?"
|
|
||||||
r_checkExitStatus "$ret_val"
|
/bin/rm ${LZOFILE}
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
ATTRTEST="/var/tmp/attrtest.img"
|
ATTRTEST="/var/tmp/attrtest.img"
|
||||||
ATTRMNT="/mnt/attrtest"
|
ATTRMNT="/mnt/attrtest"
|
||||||
|
|
||||||
trap 'umount /mnt/attrtest ; /bin/rm -f ${ATTRTEST} ; /bin/rm -rf ${ATTRMNT}' EXIT
|
|
||||||
|
|
||||||
r_log "attr" "Checking that *attr works"
|
r_log "attr" "Checking that *attr works"
|
||||||
dd if=/dev/zero of="${ATTRTEST}" bs=1024000 count=100 &>/dev/null
|
dd if=/dev/zero of="${ATTRTEST}" bs=1024000 count=100 &>/dev/null
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
@ -16,3 +14,8 @@ setfattr -n user.test "${ATTRMNT}/testfile"
|
||||||
getfattr "${ATTRMNT}/testfile" | grep -oq "user.test"
|
getfattr "${ATTRMNT}/testfile" | grep -oq "user.test"
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
umount /mnt/attrtest
|
||||||
|
/bin/rm -f "${ATTRTEST}"
|
||||||
|
/bin/rm -rf "${ATTRMNT}"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "coreutils" "Testing cat"
|
r_log "coreutils" "Testing cat"
|
||||||
trap "/bin/rm /var/tmp/cattest" EXIT
|
|
||||||
|
|
||||||
cat > /var/tmp/cattest <<EOF
|
cat > /var/tmp/cattest <<EOF
|
||||||
Green Obsidian
|
Green Obsidian
|
||||||
|
@ -8,3 +7,5 @@ EOF
|
||||||
|
|
||||||
grep -q "Green Obsidian" /var/tmp/cattest
|
grep -q "Green Obsidian" /var/tmp/cattest
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm /var/tmp/cattest
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "coreutils" "Testing readlink"
|
r_log "coreutils" "Testing readlink"
|
||||||
trap "/bin/rm /var/tmp/listen" EXIT
|
|
||||||
ln -s /var/tmp/talk /var/tmp/listen
|
ln -s /var/tmp/talk /var/tmp/listen
|
||||||
readlink /var/tmp/listen | grep -q "/var/tmp/talk"
|
readlink /var/tmp/listen | grep -q "/var/tmp/talk"
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
/bin/rm /var/tmp/listen
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "coreutils" "Test hash sum tools"
|
r_log "coreutils" "Test hash sum tools"
|
||||||
trap '/bin/rm ${HASHFILE}' EXIT
|
|
||||||
|
|
||||||
HASHFILE=/var/tmp/obsidian
|
HASHFILE=/var/tmp/obsidian
|
||||||
echo "Green Obsidian is our release name" > ${HASHFILE}
|
echo "Green Obsidian is our release name" > ${HASHFILE}
|
||||||
|
@ -23,3 +22,5 @@ r_checkExitStatus $?
|
||||||
r_log "coreutils" "Test sha512sum"
|
r_log "coreutils" "Test sha512sum"
|
||||||
/usr/bin/sha512sum ${HASHFILE} | grep -q e50554c29a5cb7bd04279d3c0918e486024c79c4b305a2e360a97d4021dacf56ce0d17fa6e6a0e81ad03d5fb74fbe2d50cce6081c2c277f22b958cdae978a2f5
|
/usr/bin/sha512sum ${HASHFILE} | grep -q e50554c29a5cb7bd04279d3c0918e486024c79c4b305a2e360a97d4021dacf56ce0d17fa6e6a0e81ad03d5fb74fbe2d50cce6081c2c277f22b958cdae978a2f5
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm ${HASHFILE}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "coreutils" "Testing touch and ls"
|
r_log "coreutils" "Testing touch and ls"
|
||||||
trap '/bin/rm /tmp/touch-?' EXIT
|
|
||||||
|
|
||||||
r_log "coreutils" "Touch files with specific dates"
|
r_log "coreutils" "Touch files with specific dates"
|
||||||
touch -t 199104230420 /tmp/touch-1
|
touch -t 199104230420 /tmp/touch-1
|
||||||
|
@ -11,3 +10,5 @@ r_log "coreutils" "Verify that the oldest file is last"
|
||||||
ls -lt /tmp/touch-? | tail -n 1 | grep -q 'touch-1'
|
ls -lt /tmp/touch-? | tail -n 1 | grep -q 'touch-1'
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm /tmp/touch-?
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "coreutils" "Ensure uniq works as expected"
|
r_log "coreutils" "Ensure uniq works as expected"
|
||||||
trap '/bin/rm /var/tmp/uniq' EXIT
|
|
||||||
|
|
||||||
cat > /var/tmp/uniq <<EOF
|
cat > /var/tmp/uniq <<EOF
|
||||||
Rocky
|
Rocky
|
||||||
|
@ -15,3 +14,4 @@ EOF
|
||||||
|
|
||||||
uniq -d /var/tmp/uniq | wc -l | grep -q 2 && uniq -u /var/tmp/uniq | wc -l | grep -q 4
|
uniq -d /var/tmp/uniq | wc -l | grep -q 2 && uniq -u /var/tmp/uniq | wc -l | grep -q 4
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
/bin/rm /var/tmp/uniq
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
r_log "coreutils" "Ensure wc works as expected"
|
r_log "coreutils" "Ensure wc works as expected"
|
||||||
r_log "coreutils" "This should have already been done with uniq"
|
r_log "coreutils" "This should have already been done with uniq"
|
||||||
# Context: we should probably test some switches...
|
# Context: we should probably test some switches...
|
||||||
trap "/bin/rm /var/tmp/wc" EXIT
|
|
||||||
|
|
||||||
cat > /var/tmp/wc <<EOF
|
cat > /var/tmp/wc <<EOF
|
||||||
Rocky
|
Rocky
|
||||||
|
@ -22,3 +21,5 @@ wc -L /var/tmp/wc | grep -q 8 && \
|
||||||
wc -w /var/tmp/wc | grep -q 8
|
wc -w /var/tmp/wc | grep -q 8
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm /var/tmp/wc
|
||||||
|
|
|
@ -5,18 +5,14 @@ OUTTER=/var/tmp/cpio/out
|
||||||
INNER=/var/tmp/cpio/in
|
INNER=/var/tmp/cpio/in
|
||||||
PASSER=/var/tmp/cpio/pass
|
PASSER=/var/tmp/cpio/pass
|
||||||
|
|
||||||
trap '/bin/rm -rf /var/tmp/cpio' EXIT
|
|
||||||
|
|
||||||
# Nothing should be here. Clean up first.
|
# Nothing should be here. Clean up first.
|
||||||
[ -d /var/tmp/cpio ] && /bin/rm -rf /var/tmp/cpio
|
[ -d /var/tmp/cpio ] && /bin/rm -rf /var/tmp/cpio
|
||||||
|
|
||||||
r_log "cpio" "Test basic copy out"
|
r_log "cpio" "Test basic copy out"
|
||||||
mkdir -p "$OUTTER" "$INNER" "$PASSER"
|
mkdir -p "$OUTTER" "$INNER" "$PASSER"
|
||||||
|
|
||||||
# Ensure at least one file exists in /tmp to prevent errors.
|
|
||||||
echo 1 > $(mktemp)
|
|
||||||
# shellcheck disable=2012
|
# shellcheck disable=2012
|
||||||
find /tmp -type f | cpio -o > "$OUTTER"/cpio.out 2> /dev/null
|
ls /tmp | cpio -o > "$OUTTER"/cpio.out
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
r_log "cpio" "Test basic copy in"
|
r_log "cpio" "Test basic copy in"
|
||||||
|
@ -27,7 +23,7 @@ popd || exit 1
|
||||||
|
|
||||||
r_log "cpio" "Test basic passthrough"
|
r_log "cpio" "Test basic passthrough"
|
||||||
pushd "$INNER" || exit 1
|
pushd "$INNER" || exit 1
|
||||||
find . | cpio -pd "$PASSER"
|
find /tmp | cpio -pd "$PASSER"
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
popd || exit 1
|
popd || exit 1
|
||||||
|
|
||||||
|
|
|
@ -15,4 +15,3 @@ r_checkExitStatus $?
|
||||||
|
|
||||||
r_log "cracklib" "Testing a complicated password"
|
r_log "cracklib" "Testing a complicated password"
|
||||||
echo -e "2948_Obaym-" | cracklib-check | grep -q "OK"
|
echo -e "2948_Obaym-" | cracklib-check | grep -q "OK"
|
||||||
r_checkExitStatus $?
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "cron" "Testing hourly cron jobs"
|
r_log "cron" "Testing hourly cron jobs"
|
||||||
|
|
||||||
trap '/bin/rm /etc/cron.{weekly,daily,hourly}/rocky.sh' EXIT
|
|
||||||
|
|
||||||
cat > /etc/cron.hourly/rocky.sh <<EOF
|
cat > /etc/cron.hourly/rocky.sh <<EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
echo "obsidian"
|
echo "obsidian"
|
||||||
|
@ -36,3 +34,5 @@ chmod +x /etc/cron.weekly/rocky.sh
|
||||||
|
|
||||||
run-parts /etc/cron.weekly | grep -q "obsidian"
|
run-parts /etc/cron.weekly | grep -q "obsidian"
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm /etc/cron.{weekly,daily,hourly}/rocky.sh
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "file" "Check that we can see a symlink"
|
r_log "file" "Check that we can see a symlink"
|
||||||
FILE_PATH=/var/tmp/linktest
|
FILE_PATH=/var/tmp/linktest
|
||||||
trap '/bin/rm ${FILE_PATH}' EXIT
|
|
||||||
MIME="inode/symlink"
|
MIME="inode/symlink"
|
||||||
ln -s /etc/issue $FILE_PATH
|
ln -s /etc/issue $FILE_PATH
|
||||||
file -i $FILE_PATH | grep -q "${MIME}"
|
file -i $FILE_PATH | grep -q "${MIME}"
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
/bin/rm /var/tmp/linktest
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
r_log "findutils" "Testing basic find stuff"
|
r_log "findutils" "Testing basic find stuff"
|
||||||
|
|
||||||
TMPDIR=/var/tmp/find
|
TMPDIR=/var/tmp/find
|
||||||
trap '/bin/rm -rf $TMPDIR' EXIT
|
|
||||||
|
|
||||||
[ -e $TMPDIR ] && rm -rf "$TMPDIR"
|
[ -e $TMPDIR ] && rm -rf "$TMPDIR"
|
||||||
|
|
||||||
|
@ -38,8 +37,8 @@ r_log "findutils" "Perform for xargs test: fails with spaces in the name"
|
||||||
# shellcheck disable=SC2038
|
# shellcheck disable=SC2038
|
||||||
find "$TMPDIR" -type f | xargs ls &> /dev/null && { r_log "findutils" "Why did this get a 0 exit?"; exit "$FAIL"; }
|
find "$TMPDIR" -type f | xargs ls &> /dev/null && { r_log "findutils" "Why did this get a 0 exit?"; exit "$FAIL"; }
|
||||||
ret_val=$?
|
ret_val=$?
|
||||||
if [ "$ret_val" -ne "0" ]; then
|
if [ "$ret_val" -ne 0 ]; then
|
||||||
r_checkExitStatus 0
|
r_checkExitStatus $?
|
||||||
else
|
|
||||||
r_checkExitStatus 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm -rf "$TMPDIR"
|
||||||
|
|
|
@ -1,14 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
function cleanup() {
|
|
||||||
cp /etc/raddb/users.backup /etc/raddb/users
|
|
||||||
rm -rf /etc/raddb/users.backup
|
|
||||||
systemctl stop radiusd.service
|
|
||||||
}
|
|
||||||
|
|
||||||
r_log "freeradius" "Test basic freeradius functionality"
|
r_log "freeradius" "Test basic freeradius functionality"
|
||||||
r_log "freeradius" "Configure freeradius"
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
|
r_log "freeradius" "Configure freeradius"
|
||||||
cp /etc/raddb/users /etc/raddb/users.backup
|
cp /etc/raddb/users /etc/raddb/users.backup
|
||||||
cat >> /etc/raddb/users << EOF
|
cat >> /etc/raddb/users << EOF
|
||||||
rocky Cleartext-Password := "rocky"
|
rocky Cleartext-Password := "rocky"
|
||||||
|
@ -20,3 +13,7 @@ systemctl start radiusd.service
|
||||||
sleep 1
|
sleep 1
|
||||||
echo "User-Name=rocky,User-Password=rocky " | radclient -x localhost:1812 auth testing123 | grep -q 'Access-Accept'
|
echo "User-Name=rocky,User-Password=rocky " | radclient -x localhost:1812 auth testing123 | grep -q 'Access-Accept'
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
cp /etc/raddb/users.backup /etc/raddb/users
|
||||||
|
rm -rf /etc/raddb/users.backup
|
||||||
|
systemctl stop radiusd.service
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "git" "Test basic git clones"
|
r_log "git" "Test basic git clones"
|
||||||
trap 'rm -rf $TMPREPO' EXIT
|
|
||||||
|
|
||||||
WORKDIR=$(pwd)
|
WORKDIR=$(pwd)
|
||||||
TMPREPO=/var/tmp/repo
|
TMPREPO=/var/tmp/repo
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "httpd" "Test basic authentication functionality"
|
r_log "httpd" "Test basic authentication functionality"
|
||||||
trap "rm /etc/httpd/conf.d/test-basic-auth.conf ; m_serviceCycler httpd reload" EXIT
|
|
||||||
|
|
||||||
cat > /etc/httpd/conf.d/test-basic-auth.conf <<EOF
|
cat > /etc/httpd/conf.d/test-basic-auth.conf <<EOF
|
||||||
## Core basic auth test
|
## Core basic auth test
|
||||||
|
@ -16,8 +15,9 @@ EOF
|
||||||
htpasswd -c -b /etc/httpd/htpasswd tester tester
|
htpasswd -c -b /etc/httpd/htpasswd tester tester
|
||||||
mkdir -p /var/www/html/basic_auth
|
mkdir -p /var/www/html/basic_auth
|
||||||
echo "Basic Auth Test" > /var/www/html/basic_auth/index.html
|
echo "Basic Auth Test" > /var/www/html/basic_auth/index.html
|
||||||
# This isn't normally needed, it should just work
|
|
||||||
restorecon -R /var/www/html
|
|
||||||
m_serviceCycler httpd cycle
|
m_serviceCycler httpd cycle
|
||||||
curl -s -u tester:tester http://localhost/basic_auth/ | grep -q 'Basic Auth Test' > /dev/null 2>&1
|
curl -s -u tester:tester http://localhost/basic_auth/ | grep -q 'Basic Auth Test' > /dev/null 2>&1
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
rm /etc/httpd/conf.d/test-basic-auth.conf
|
||||||
|
m_serviceCycler httpd reload
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
function cleanup() {
|
|
||||||
rm /etc/httpd/conf.d/vhost.conf
|
|
||||||
sed -i '/127.0.0.1 coretest/d' /etc/hosts
|
|
||||||
m_serviceCycler httpd reload
|
|
||||||
}
|
|
||||||
|
|
||||||
r_log "httpd" "Test basic vhost functionality"
|
r_log "httpd" "Test basic vhost functionality"
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
echo "127.0.0.1 coretest" >> /etc/hosts
|
echo "127.0.0.1 coretest" >> /etc/hosts
|
||||||
cat > /etc/httpd/conf.d/vhost.conf << EOF
|
cat > /etc/httpd/conf.d/vhost.conf << EOF
|
||||||
|
@ -21,10 +14,12 @@ EOF
|
||||||
|
|
||||||
mkdir -p /var/www/vhost/coretest
|
mkdir -p /var/www/vhost/coretest
|
||||||
echo "core vhost test page" > /var/www/vhost/coretest/index.html
|
echo "core vhost test page" > /var/www/vhost/coretest/index.html
|
||||||
# This isn't normally needed, it should just work
|
|
||||||
restorecon -R /var/www/vhost
|
|
||||||
m_serviceCycler httpd cycle
|
m_serviceCycler httpd cycle
|
||||||
|
|
||||||
curl -s http://coretest/ | grep -q 'core vhost test page' > /dev/null 2>&1
|
curl -s http://coretest/ | grep -q 'core vhost test page' > /dev/null 2>&1
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
||||||
|
rm /etc/httpd/conf.d/vhost.conf
|
||||||
|
sed -i '/127.0.0.1 coretest/d' /etc/hosts
|
||||||
|
m_serviceCycler httpd reload
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
r_log "httpd" "Test basic php"
|
r_log "httpd" "Test basic php"
|
||||||
|
|
||||||
echo "<?php echo phpinfo(); ?>" > /var/www/html/test.php
|
echo "<?php echo phpinfo(); ?>" > /var/www/html/test.php
|
||||||
# This isn't normally needed, it should just work
|
|
||||||
restorecon -R /var/www/html
|
|
||||||
curl -s http://localhost/test.php | grep -q 'PHP Version' > /dev/null 2>&1
|
curl -s http://localhost/test.php | grep -q 'PHP Version' > /dev/null 2>&1
|
||||||
|
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
|
0
func/core/pkg_network/30-test-arpwatch.sh
Normal file → Executable file
0
func/core/pkg_network/30-test-arpwatch.sh
Normal file → Executable file
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "openssh" "Install openssh"
|
|
||||||
p_installPackageNormal openssh-clients openssh-server sshpass
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "openssh" "Ensure ssh is listening"
|
|
||||||
|
|
||||||
echo "" > /dev/tcp/localhost/22
|
|
||||||
r_checkExitStatus $?
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "openssh" "Testing basic login (using sshpass)"
|
|
||||||
trap 'userdel -rf sshpasstest; unset SSHPASS' EXIT
|
|
||||||
|
|
||||||
if sshd -T | grep -q "passwordauthentication yes"; then
|
|
||||||
r_log "openssh" "Creating test user"
|
|
||||||
export SSHPASS="Blu30nyx!"
|
|
||||||
useradd sshpasstest
|
|
||||||
echo "${SSHPASS}" | passwd --stdin sshpasstest
|
|
||||||
r_log "openssh" "Testing login"
|
|
||||||
sshpass -e ssh sshpasstest@localhost echo 'hello'
|
|
||||||
r_checkExitStatus $?
|
|
||||||
else
|
|
||||||
r_log "openssh" "Skipping test"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "openssh" "Testing key login (using sshpass)"
|
|
||||||
|
|
||||||
case $RL_VER in
|
|
||||||
8)
|
|
||||||
KEYTYPES="rsa ecdsa ed25519"
|
|
||||||
;;
|
|
||||||
9)
|
|
||||||
KEYTYPES="rsa ecdsa ed25519"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
KEYTYPES="ed25519"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
r_log "openssh" "Creating test user"
|
|
||||||
useradd sshkeytest
|
|
||||||
echo "Blu30nyx!" | passwd --stdin sshkeytest
|
|
||||||
|
|
||||||
for KEYTYPE in $KEYTYPES; do
|
|
||||||
r_log "openssh" "Creating key: ${KEYTYPE}"
|
|
||||||
runuser -l sshkeytest -c "echo | ssh-keygen -q -t ${KEYTYPE} -b 4096 -f ~/.ssh/id_${KEYTYPE}" > /dev/null
|
|
||||||
runuser -l sshkeytest -c "cat ~/.ssh/*pub > ~/.ssh/authorized_keys && chmod 600 ~/.ssh/*keys" > /dev/null
|
|
||||||
STRINGTEST=$(mktemp -u)
|
|
||||||
echo "${STRINGTEST}" > /home/sshkeytest/test_file
|
|
||||||
r_log "openssh" "Testing key: ${KEYTYPE}"
|
|
||||||
runuser -l sshkeytest -c "ssh -i ~/.ssh/id_${KEYTYPE} localhost | grep -q ${STRINGTEST} /home/sshkeytest/test_file"
|
|
||||||
ret_val=$?
|
|
||||||
r_checkExitStatus $ret_val
|
|
||||||
done
|
|
||||||
|
|
||||||
userdel -rf sshkeytest
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
r_log "podman" "Installing podman"
|
|
||||||
p_installPackageNormal podman
|
|
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
r_log "podman" "Testing podman"
|
|
||||||
|
|
||||||
test_to_run=(
|
|
||||||
"podman version"
|
|
||||||
"podman info"
|
|
||||||
"podman run --rm quay.io/rockylinux/rockylinux:${RL_VER}"
|
|
||||||
"podman system service -t 1"
|
|
||||||
"touch ${HOME}/test.txt && \
|
|
||||||
podman run --rm --privileged -v ${HOME}/test.txt:/test.txt quay.io/rockylinux/rockylinux:${RL_VER} bash -c 'echo HELLO > /test.txt' && \
|
|
||||||
grep -qe 'HELLO' ${HOME}/test.txt && \
|
|
||||||
rm -f ${HOME}/test.txt"
|
|
||||||
"printf \"FROM quay.io/rockylinux/rockylinux:${RL_VER}\nCMD echo 'HELLO'\n\" > ${HOME}/Containerfile && \
|
|
||||||
podman build -t test:latest -f ${HOME}/Containerfile && \
|
|
||||||
podman image rm localhost/test:latest && \
|
|
||||||
rm -rf ${HOME}/Containerfile"
|
|
||||||
)
|
|
||||||
|
|
||||||
tmpoutput="$(mktemp)"
|
|
||||||
trap 'rm -f ${tmpoutput}' EXIT
|
|
||||||
|
|
||||||
for command in "${test_to_run[@]}"; do
|
|
||||||
r_log "podman" "Running $0: ${command}"
|
|
||||||
if ! eval "${command}" > "${tmpoutput}" 2>&1; then
|
|
||||||
r_log "podman" "${command} has failed."
|
|
||||||
cat "${tmpoutput}"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
r_checkExitStatus 0
|
|
||||||
fi
|
|
||||||
done
|
|
|
@ -1,31 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
r_log "podman" "Testing podman sockets"
|
|
||||||
|
|
||||||
useradd podman-remote
|
|
||||||
loginctl enable-linger podman-remote
|
|
||||||
tmpoutput="$(mktemp)"
|
|
||||||
|
|
||||||
trap 'loginctl terminate-user podman-remote && loginctl disable-linger podman-remote && sleep 1 && userdel -r podman-remote && rm -f ${tmpoutput}' EXIT
|
|
||||||
|
|
||||||
sleep 3
|
|
||||||
|
|
||||||
su -l podman-remote > "${tmpoutput}" 2>&1 <<EOF
|
|
||||||
set -e
|
|
||||||
export XDG_RUNTIME_DIR=/run/user/\$(id -u)
|
|
||||||
systemctl --user enable --now podman.socket
|
|
||||||
podman --url unix://run/user/\$(id -u)/podman/podman.sock run --name port-mapping-test -d -p 8080:80 docker.io/nginx
|
|
||||||
pid=\$(systemctl --user show --property MainPID --value podman.service)
|
|
||||||
while [ "\${pid}" -ne 0 ] && [ -d /proc/\${pid} ]; do sleep 1; echo "Waiting for podman to exit"; done
|
|
||||||
podman --url unix://run/user/\$(id -u)/podman/podman.sock ps | grep -q -e port-mapping-test
|
|
||||||
podman --url unix://run/user/\$(id -u)/podman/podman.sock container rm -f port-mapping-test
|
|
||||||
systemctl --user disable --now podman.socket
|
|
||||||
EOF
|
|
||||||
|
|
||||||
ret_val=$?
|
|
||||||
|
|
||||||
if [ "$ret_val" -ne 0 ]; then
|
|
||||||
cat "${tmpoutput}"
|
|
||||||
r_checkExitStatus 1
|
|
||||||
fi
|
|
||||||
r_checkExitStatus 0
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
r_log "postfix" "Install postfix (requires stop of other pieces)"
|
r_log "postfix" "Install postfix (requires stop of other pieces)"
|
||||||
# This is OK if it fails - This is also not logged except in stderr
|
|
||||||
m_serviceCycler sendmail stop
|
m_serviceCycler sendmail stop
|
||||||
p_installPackageNormal postfix nc dovecot openssl
|
p_installPackageNormal postfix nc dovecot openssl
|
||||||
m_serviceCycler postfix enable
|
m_serviceCycler postfix enable
|
||||||
|
|
|
@ -18,3 +18,6 @@ mv /etc/dovecot/dovecot.conf.backup /etc/dovecot/dovecot.conf
|
||||||
mv /etc/postfix/main.cf.backup /etc/postfix/main.cf
|
mv /etc/postfix/main.cf.backup /etc/postfix/main.cf
|
||||||
|
|
||||||
r_checkExitStatus $ret_val
|
r_checkExitStatus $ret_val
|
||||||
|
|
||||||
|
cp -a /etc/postfix/main.cf.backup /etc/postfix/main.cf
|
||||||
|
cp -a /etc/dovecot/dovecot.conf.backup /etc/dovecot/dovecot.conf
|
||||||
|
|
|
@ -2,17 +2,6 @@
|
||||||
r_log "postfix" "Test postfix with TLS"
|
r_log "postfix" "Test postfix with TLS"
|
||||||
DROPDIR=/var/tmp/postfix
|
DROPDIR=/var/tmp/postfix
|
||||||
|
|
||||||
function cleanup() {
|
|
||||||
mv /etc/postfix/main.cf.backup /etc/postfix/main.cf
|
|
||||||
mv /etc/dovecot/dovecot.conf.backup /etc/dovecot/dovecot.conf
|
|
||||||
rm /etc/pki/tls/certs/mail.crt
|
|
||||||
rm /etc/pki/tls/private/mail.key
|
|
||||||
rm -rf $DROPDIR/mail.*
|
|
||||||
rm -rf /var/tmp/postfix
|
|
||||||
}
|
|
||||||
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
cp -a /etc/postfix/main.cf /etc/postfix/main.cf.backup
|
cp -a /etc/postfix/main.cf /etc/postfix/main.cf.backup
|
||||||
cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.backup
|
cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.backup
|
||||||
|
|
||||||
|
@ -70,4 +59,11 @@ r_log "postfix" "Testing that postfix offers STARTTLS"
|
||||||
echo "ehlo test" | nc -w 3 127.0.0.1 25 | grep -q "STARTTLS"
|
echo "ehlo test" | nc -w 3 127.0.0.1 25 | grep -q "STARTTLS"
|
||||||
ret_val=$?
|
ret_val=$?
|
||||||
|
|
||||||
r_checkExitStatus $ret_val
|
mv /etc/postfix/main.cf.backup /etc/postfix/main.cf
|
||||||
|
mv /etc/dovecot/dovecot.conf.backup /etc/dovecot/dovecot.conf
|
||||||
|
rm /etc/pki/tls/certs/mail.crt
|
||||||
|
rm /etc/pki/tls/certs/mail.key
|
||||||
|
rm -rf $DROPDIR/mail.*
|
||||||
|
rm -rf /var/tmp/postfix
|
||||||
|
|
||||||
|
r_checkExitStatus $?
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Check that the release package is 1.X
|
|
||||||
r_log "rocky release" "Checking that the package is at least X.Y-1.B"
|
|
||||||
|
|
||||||
RELEASE_VER="$(rpm -q rocky-release --qf '%{RELEASE}')"
|
|
||||||
RELNUM="${RELEASE_VER:0:1}"
|
|
||||||
if [ "${RELNUM}" -ge "1" ]; then
|
|
||||||
if [[ "${RELEASE_VER:0:3}" =~ ^${RELNUM}.[[:digit:]] ]]; then
|
|
||||||
ret_val="0"
|
|
||||||
else
|
|
||||||
r_log "rocky release" "FAIL: The release package is not in X.Y-A.B format"
|
|
||||||
ret_val="1"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
r_log "rocky release" "FAIL: The release package likely starts with 0 and is not considered production ready."
|
|
||||||
ret_val="1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
r_checkExitStatus $ret_val
|
|
|
@ -8,12 +8,7 @@ if [ ! -d /sys/firmware/efi ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [[ "$rl_arch" == "x86_64" ]]; then
|
p_installPackageNormal pesign
|
||||||
p_installPackageNormal pesign
|
pesign --show-signature --in /boot/efi/EFI/rocky/shim.efi | grep -Eq "Microsoft Windows UEFI Driver Publisher"
|
||||||
pesign --show-signature --in /boot/efi/EFI/rocky/shim.efi | grep -Eq "Microsoft Windows UEFI Driver Publisher"
|
r_checkExitStatus $?
|
||||||
r_checkExitStatus $?
|
|
||||||
else
|
|
||||||
r_log "secureboot" "x86_64 is the only supported secureboot arch at this time"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
function cleanup() {
|
|
||||||
pwconv
|
|
||||||
rm -rf /var/tmp/pwunconv /var/tmp/pwconv
|
|
||||||
}
|
|
||||||
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
r_log "shadow" "Check that pwck can use correct files"
|
r_log "shadow" "Check that pwck can use correct files"
|
||||||
pwck -rq ./common/files/correct-passwd ./common/files/correct-shadow
|
pwck -rq ./common/files/correct-passwd ./common/files/correct-shadow
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus $?
|
||||||
|
@ -15,11 +8,9 @@ pwck -rq ./common/files/incorrect-passwd ./common/files/incorrect-shadow
|
||||||
ret_val=$?
|
ret_val=$?
|
||||||
if [ "$ret_val" -eq 0 ]; then
|
if [ "$ret_val" -eq 0 ]; then
|
||||||
r_log "shadow" "They're correct."
|
r_log "shadow" "They're correct."
|
||||||
r_checkExitStatus 1
|
exit 1
|
||||||
else
|
|
||||||
r_log "shadow" "They're incorrect."
|
|
||||||
r_checkExitStatus 0
|
|
||||||
fi
|
fi
|
||||||
|
r_checkExitStatus 0
|
||||||
|
|
||||||
r_log "shadow" "Check that pwconv is functional"
|
r_log "shadow" "Check that pwconv is functional"
|
||||||
mkdir -p /var/tmp/pwconv
|
mkdir -p /var/tmp/pwconv
|
||||||
|
|
|
@ -6,5 +6,5 @@ echo "rocky func" > /var/lib/tftpboot/tftptest
|
||||||
tftp 127.0.0.1 -c get tftptest
|
tftp 127.0.0.1 -c get tftptest
|
||||||
|
|
||||||
grep -q "rocky func" tftptest
|
grep -q "rocky func" tftptest
|
||||||
r_checkExitStatus $?
|
r_checkExitStatus
|
||||||
/bin/rm tftptest
|
/bin/rm tftptest
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "pdf" "Install enscript, ghostscript, and poppler"
|
|
||||||
p_installPackageNormal fontconfig @fonts enscript ghostscript poppler-utils
|
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
r_log "pdf" "Create a PDF from postscript from text, convert it back to text and check"
|
|
||||||
trap 'rm -rf $PSFILE $PDFFILE $TESTFILE' EXIT
|
|
||||||
|
|
||||||
TOFIND="BlueOnyx"
|
|
||||||
PSFILE="/var/tmp/test.ps"
|
|
||||||
PDFFILE="/var/tmp/test.pdf"
|
|
||||||
TESTFILE="/var/tmp/psresult"
|
|
||||||
|
|
||||||
encript -q -p $PSFILE /etc/rocky-release
|
|
||||||
|
|
||||||
r_log "pdf" "Check created file"
|
|
||||||
|
|
||||||
grep -q $TOFIND $PSFILE
|
|
||||||
pdf_ret_val=$?
|
|
||||||
r_checkExitStatus $pdf_ret_val
|
|
||||||
|
|
||||||
ps2pdf $PSFILE $PDFFILE
|
|
||||||
pdftotext -q $PDFFILE $TESTFILE
|
|
||||||
r_log "pdf" "Checking after conversion to text"
|
|
||||||
grep -q $TOFIND $TESTFILE
|
|
||||||
text_ret_val=$?
|
|
||||||
r_checkExitStatus $text_ret_val
|
|
|
@ -30,16 +30,6 @@ if [ "$SELINUX" != "Enforcing" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
r_checkEPELEnabled
|
|
||||||
is_epel=$?
|
|
||||||
if [[ "$is_epel" == "0" ]]; then
|
|
||||||
echo "EPEL enabled. Stop."
|
|
||||||
r_log "internal" "EPEL enabled. Stop."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
r_checkTmpNoExec
|
|
||||||
|
|
||||||
r_log "internal" "Starting Release Engineering Core Tests"
|
r_log "internal" "Starting Release Engineering Core Tests"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -62,7 +52,7 @@ fi
|
||||||
# TODO: get some stacks and lib in there
|
# TODO: get some stacks and lib in there
|
||||||
|
|
||||||
r_processor <(/usr/bin/find ./core -type f | sort -t'/')
|
r_processor <(/usr/bin/find ./core -type f | sort -t'/')
|
||||||
r_processor <(/usr/bin/find ./lib -type f | sort -t'/')
|
#r_processor <(/usr/bin/find ./lib -type f | sort -t'/')
|
||||||
#r_processor <(/usr/bin/find ./stacks -type f | sort -t'/')
|
#r_processor <(/usr/bin/find ./stacks -type f | sort -t'/')
|
||||||
|
|
||||||
r_log "internal" "Core Tests completed"
|
r_log "internal" "Core Tests completed"
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
While not considered a "stack", it's a combination of many things at once. So
|
While not considered a "stack", it's a combination of many things at once. So
|
||||||
it is being tested as a stack.
|
it is being tested as a stack.
|
||||||
|
|
||||||
|
We will be testing mainly against EL8. It is not clear if EL9 will keep idm as
|
||||||
|
a module in 9. However, certain tests will be checking for the release just in
|
||||||
|
case that the modules will disappear. (I can only hope that it does and that
|
||||||
|
it just goes back to what Fedora is doing and what EL7 does). -label
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
__version__ = '0.6.1'
|
__version__ = '0.5.0'
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
# All imports are here
|
# All imports are here
|
||||||
import glob
|
|
||||||
import hashlib
|
|
||||||
import logging
|
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import time
|
import time
|
||||||
from collections import defaultdict
|
import glob
|
||||||
from typing import Tuple
|
|
||||||
|
|
||||||
import rpm
|
import rpm
|
||||||
import yaml
|
import yaml
|
||||||
|
import logging
|
||||||
|
import hashlib
|
||||||
|
|
||||||
|
|
||||||
|
from collections import defaultdict
|
||||||
|
from typing import Tuple
|
||||||
|
|
||||||
# An implementation from the Fabric python library
|
# An implementation from the Fabric python library
|
||||||
class AttributeDict(defaultdict):
|
class AttributeDict(defaultdict):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -26,31 +26,29 @@ class AttributeDict(defaultdict):
|
||||||
def __setattr__(self, key, value):
|
def __setattr__(self, key, value):
|
||||||
self[key] = value
|
self[key] = value
|
||||||
|
|
||||||
|
|
||||||
# These are a bunch of colors we may use in terminal output
|
# These are a bunch of colors we may use in terminal output
|
||||||
class Color:
|
class Color:
|
||||||
RED = "\033[91m"
|
RED = '\033[91m'
|
||||||
GREEN = "\033[92m"
|
GREEN = '\033[92m'
|
||||||
PURPLE = "\033[95m"
|
PURPLE = '\033[95m'
|
||||||
CYAN = "\033[96m"
|
CYAN = '\033[96m'
|
||||||
DARKCYAN = "\033[36m"
|
DARKCYAN = '\033[36m'
|
||||||
BLUE = "\033[94m"
|
BLUE = '\033[94m'
|
||||||
YELLOW = "\033[93m"
|
YELLOW = '\033[93m'
|
||||||
UNDERLINE = "\033[4m"
|
UNDERLINE = '\033[4m'
|
||||||
BOLD = "\033[1m"
|
BOLD = '\033[1m'
|
||||||
END = "\033[0m"
|
END = '\033[0m'
|
||||||
INFO = "[" + BOLD + GREEN + "INFO" + END + "] "
|
INFO = '[' + BOLD + GREEN + 'INFO' + END + '] '
|
||||||
WARN = "[" + BOLD + YELLOW + "WARN" + END + "] "
|
WARN = '[' + BOLD + YELLOW + 'WARN' + END + '] '
|
||||||
FAIL = "[" + BOLD + RED + "FAIL" + END + "] "
|
FAIL = '[' + BOLD + RED + 'FAIL' + END + '] '
|
||||||
STAT = "[" + BOLD + CYAN + "STAT" + END + "] "
|
STAT = '[' + BOLD + CYAN + 'STAT' + END + '] '
|
||||||
|
|
||||||
|
|
||||||
# vars and additional checks
|
# vars and additional checks
|
||||||
rldict = AttributeDict()
|
rldict = AttributeDict()
|
||||||
sigdict = AttributeDict()
|
sigdict = AttributeDict()
|
||||||
config = {
|
config = {
|
||||||
"rlmacro": rpm.expandMacro("%rhel"),
|
"rlmacro": rpm.expandMacro('%rhel'),
|
||||||
"dist": "el" + rpm.expandMacro("%rhel"),
|
"dist": 'el' + rpm.expandMacro('%rhel'),
|
||||||
"arch": platform.machine(),
|
"arch": platform.machine(),
|
||||||
"date_stamp": time.strftime("%Y%m%d.%H%M%S", time.localtime()),
|
"date_stamp": time.strftime("%Y%m%d.%H%M%S", time.localtime()),
|
||||||
"compose_root": "/mnt/compose",
|
"compose_root": "/mnt/compose",
|
||||||
|
@ -68,29 +66,28 @@ config = {
|
||||||
"aarch64": "arm64",
|
"aarch64": "arm64",
|
||||||
"ppc64le": "ppc64le",
|
"ppc64le": "ppc64le",
|
||||||
"s390x": "s390x",
|
"s390x": "s390x",
|
||||||
"i686": "386",
|
"i686": "386"
|
||||||
},
|
},
|
||||||
"aws_region": "us-east-2",
|
"aws_region": "us-east-2",
|
||||||
"bucket": "resf-empanadas",
|
"bucket": "resf-empanadas",
|
||||||
"bucket_url": "https://resf-empanadas.s3.us-east-2.amazonaws.com",
|
"bucket_url": "https://resf-empanadas.s3.us-east-2.amazonaws.com"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Importing the config from yaml
|
# Importing the config from yaml
|
||||||
import importlib_resources
|
import importlib_resources
|
||||||
|
|
||||||
_rootdir = importlib_resources.files("empanadas")
|
_rootdir = importlib_resources.files("empanadas")
|
||||||
|
|
||||||
for conf in glob.iglob(f"{_rootdir}/configs/*.yaml"):
|
for conf in glob.iglob(f"{_rootdir}/configs/*.yaml"):
|
||||||
with open(conf, "r", encoding="utf-8") as file:
|
with open(conf, 'r', encoding="utf-8") as file:
|
||||||
rldict.update(yaml.safe_load(file))
|
rldict.update(yaml.safe_load(file))
|
||||||
|
|
||||||
# Import all SIG configs from yaml
|
# Import all SIG configs from yaml
|
||||||
for conf in glob.iglob(f"{_rootdir}/sig/*.yaml"):
|
for conf in glob.iglob(f"{_rootdir}/sig/*.yaml"):
|
||||||
with open(conf, "r", encoding="utf-8") as file:
|
with open(conf, 'r', encoding="utf-8") as file:
|
||||||
sigdict.update(yaml.safe_load(file))
|
sigdict.update(yaml.safe_load(file))
|
||||||
|
|
||||||
# The system needs to be a RHEL-like system. It cannot be Fedora or SuSE.
|
# The system needs to be a RHEL-like system. It cannot be Fedora or SuSE.
|
||||||
# if "%rhel" in config['rlmacro']:
|
#if "%rhel" in config['rlmacro']:
|
||||||
# raise SystemExit(Color.BOLD + 'This is not a RHEL-like system.' + Color.END
|
# raise SystemExit(Color.BOLD + 'This is not a RHEL-like system.' + Color.END
|
||||||
# + '\n\nPlease verify you are running on a RHEL-like system that is '
|
# + '\n\nPlease verify you are running on a RHEL-like system that is '
|
||||||
# 'not Fedora nor SuSE. This means that the %rhel macro will be '
|
# 'not Fedora nor SuSE. This means that the %rhel macro will be '
|
||||||
|
@ -99,25 +96,21 @@ for conf in glob.iglob(f"{_rootdir}/sig/*.yaml"):
|
||||||
|
|
||||||
|
|
||||||
# These will be set in their respective var files
|
# These will be set in their respective var files
|
||||||
# REVISION = rlvars['revision'] + '-' + rlvars['rclvl']
|
#REVISION = rlvars['revision'] + '-' + rlvars['rclvl']
|
||||||
# rlvars = rldict[rlver]
|
#rlvars = rldict[rlver]
|
||||||
# rlvars = rldict[rlmacro]
|
#rlvars = rldict[rlmacro]
|
||||||
# COMPOSE_ISO_WORKDIR = COMPOSE_ROOT + "work/" + arch + "/" + date_stamp
|
#COMPOSE_ISO_WORKDIR = COMPOSE_ROOT + "work/" + arch + "/" + date_stamp
|
||||||
|
|
||||||
|
|
||||||
ALLOWED_TYPE_VARIANTS = {
|
ALLOWED_TYPE_VARIANTS = {
|
||||||
"Azure": ["Base", "LVM"],
|
"Azure": ["Base", "LVM"],
|
||||||
"Container": ["Base", "Minimal", "UBI", "WSL"],
|
"Container": ["Base", "Minimal", "UBI"],
|
||||||
"EC2": ["Base", "LVM"],
|
"EC2": ["Base", "LVM"],
|
||||||
"GenericCloud": ["Base", "LVM"],
|
"GenericCloud": ["Base", "LVM"],
|
||||||
"Vagrant": ["Libvirt", "Vbox", "VMware"],
|
"Vagrant": ["Libvirt", "Vbox"],
|
||||||
"OCP": ["Base"],
|
"OCP": None
|
||||||
"RPI": ["Base"],
|
|
||||||
"GenericArm": ["Minimal"],
|
|
||||||
}
|
}
|
||||||
|
def valid_type_variant(_type: str, variant: str="") -> bool:
|
||||||
|
|
||||||
def valid_type_variant(_type: str, variant: str = "") -> bool:
|
|
||||||
if _type not in ALLOWED_TYPE_VARIANTS:
|
if _type not in ALLOWED_TYPE_VARIANTS:
|
||||||
raise Exception(f"Type is invalid: ({_type}, {variant})")
|
raise Exception(f"Type is invalid: ({_type}, {variant})")
|
||||||
if ALLOWED_TYPE_VARIANTS[_type] == None:
|
if ALLOWED_TYPE_VARIANTS[_type] == None:
|
||||||
|
@ -125,19 +118,12 @@ def valid_type_variant(_type: str, variant: str = "") -> bool:
|
||||||
raise Exception(f"{_type} Type expects no variant type.")
|
raise Exception(f"{_type} Type expects no variant type.")
|
||||||
return True
|
return True
|
||||||
if variant not in ALLOWED_TYPE_VARIANTS[_type]:
|
if variant not in ALLOWED_TYPE_VARIANTS[_type]:
|
||||||
if variant and variant.capitalize() in ALLOWED_TYPE_VARIANTS[_type]:
|
if variant.capitalize() in ALLOWED_TYPE_VARIANTS[_type]:
|
||||||
raise Exception(
|
raise Exception(f"Capitalization mismatch. Found: ({_type}, {variant}). Expected: ({_type}, {variant.capitalize()})")
|
||||||
f"Capitalization mismatch. Found: ({_type}, {variant}). Expected: ({_type}, {variant.capitalize()})"
|
raise Exception(f"Type/Variant Combination is not allowed: ({_type}, {variant})")
|
||||||
)
|
|
||||||
raise Exception(
|
|
||||||
f"Type/Variant Combination is not allowed: ({_type}, {variant})"
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
from attrs import define, field
|
from attrs import define, field
|
||||||
|
|
||||||
|
|
||||||
@define(kw_only=True)
|
@define(kw_only=True)
|
||||||
class Architecture:
|
class Architecture:
|
||||||
name: str = field()
|
name: str = field()
|
||||||
|
|
|
@ -1,220 +0,0 @@
|
||||||
---
|
|
||||||
'10':
|
|
||||||
fullname: 'Rocky Linux 10.0'
|
|
||||||
revision: '10.0'
|
|
||||||
rclvl: 'RC1'
|
|
||||||
major: '10'
|
|
||||||
minor: '0'
|
|
||||||
profile: '10'
|
|
||||||
disttag: 'el10'
|
|
||||||
code: "Red Quartz"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
|
||||||
checksum: 'sha256'
|
|
||||||
fedora_major: '20'
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10/SOURCES/RPM-GPG-KEY-Rocky-10'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10/SOURCES/RPM-GPG-KEY-Rocky-10-Testing'
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
provide_multilib: False
|
|
||||||
project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7'
|
|
||||||
repo_symlinks:
|
|
||||||
NFV: 'nfv'
|
|
||||||
renames:
|
|
||||||
all: 'devel'
|
|
||||||
all_repos:
|
|
||||||
- 'all'
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
- 'CRB'
|
|
||||||
- 'HighAvailability'
|
|
||||||
- 'ResilientStorage'
|
|
||||||
- 'RT'
|
|
||||||
- 'NFV'
|
|
||||||
- 'SAP'
|
|
||||||
- 'SAPHANA'
|
|
||||||
- 'extras'
|
|
||||||
- 'plus'
|
|
||||||
extra_repos: []
|
|
||||||
structure:
|
|
||||||
packages: 'os/Packages'
|
|
||||||
repodata: 'os/repodata'
|
|
||||||
iso_map:
|
|
||||||
xorrisofs: True
|
|
||||||
iso_level: False
|
|
||||||
images:
|
|
||||||
dvd:
|
|
||||||
disc: True
|
|
||||||
variant: 'AppStream'
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
minimal:
|
|
||||||
disc: True
|
|
||||||
isoskip: True
|
|
||||||
repos:
|
|
||||||
- 'minimal'
|
|
||||||
- 'BaseOS'
|
|
||||||
variant: 'minimal'
|
|
||||||
volname: 'dvd'
|
|
||||||
BaseOS:
|
|
||||||
disc: False
|
|
||||||
isoskip: True
|
|
||||||
variant: 'BaseOS'
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
lorax:
|
|
||||||
noupgrade: False
|
|
||||||
squashfs_only: True
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
variant: 'BaseOS'
|
|
||||||
lorax_removes: []
|
|
||||||
required_pkgs:
|
|
||||||
- 'lorax'
|
|
||||||
- 'isomd5sum'
|
|
||||||
- 'lorax-templates-rhel'
|
|
||||||
- 'lorax-templates-generic'
|
|
||||||
- 'xorriso'
|
|
||||||
cloudimages:
|
|
||||||
images:
|
|
||||||
Azure:
|
|
||||||
format: vhd
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-Azure-Base
|
|
||||||
- Cloud-Azure-LVM
|
|
||||||
EC2:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-EC2-Base
|
|
||||||
- Cloud-EC2-LVM
|
|
||||||
GenericCloud:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-GenericCloud-Base
|
|
||||||
- Cloud-GenericCloud-LVM
|
|
||||||
Container:
|
|
||||||
format: tar.xz
|
|
||||||
variants: [Base, Minimal, Toolbox, UBI]
|
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
variants: [Libvirt, Vbox, VMware]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Vagrant-Libvirt
|
|
||||||
- Vagrant-Vbox
|
|
||||||
- Vagrant-VMware
|
|
||||||
livemap:
|
|
||||||
builder: "lorax"
|
|
||||||
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
|
||||||
branch: 'r10'
|
|
||||||
ksentry:
|
|
||||||
Workstation: rocky-live-workstation.ks
|
|
||||||
Workstation-Lite: rocky-live-workstation-lite.ks
|
|
||||||
XFCE: rocky-live-xfce.ks
|
|
||||||
KDE: rocky-live-kde.ks
|
|
||||||
MATE: rocky-live-mate.ks
|
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
required_pkgs:
|
|
||||||
- 'lorax-lmc-novirt'
|
|
||||||
- 'vim-minimal'
|
|
||||||
- 'pykickstart'
|
|
||||||
- 'git'
|
|
||||||
kiwimap:
|
|
||||||
git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
|
|
||||||
branch: '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:
|
|
||||||
arches:
|
|
||||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
|
||||||
aarch64: '--forcearch=aarch64 --arch=aarch64 --arch=noarch'
|
|
||||||
ppc64le: '--forcearch=ppc64le --arch=ppc64le --arch=noarch'
|
|
||||||
s390x: '--forcearch=s390x --arch=s390x --arch=noarch'
|
|
||||||
repos:
|
|
||||||
devel: []
|
|
||||||
BaseOS: []
|
|
||||||
AppStream:
|
|
||||||
- BaseOS
|
|
||||||
CRB:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
HighAvailability:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
ResilientStorage:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
RT:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
NFV:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
SAP:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
- HighAvailability
|
|
||||||
SAPHANA:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
- HighAvailability
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10/'
|
|
||||||
branch: 'r10'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/Contributors'
|
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
|
||||||
- 'SOURCES/EULA'
|
|
||||||
- 'SOURCES/LICENSE'
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-10'
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-10-Testing'
|
|
||||||
...
|
|
|
@ -1,220 +0,0 @@
|
||||||
---
|
|
||||||
'10-lookahead':
|
|
||||||
fullname: 'Rocky Linux 10.0'
|
|
||||||
revision: '10.0'
|
|
||||||
rclvl: 'LH1'
|
|
||||||
major: '10'
|
|
||||||
minor: '0'
|
|
||||||
profile: '10-lookahead'
|
|
||||||
disttag: 'el10'
|
|
||||||
code: "Red Quartz"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
|
||||||
checksum: 'sha256'
|
|
||||||
fedora_major: '20'
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10s/SOURCES/RPM-GPG-KEY-Rocky-10'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10s/SOURCES/RPM-GPG-KEY-Rocky-10-Testing'
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
provide_multilib: False
|
|
||||||
project_id: 'e7b83c0a-b514-4903-b739-6943bbb307f7'
|
|
||||||
repo_symlinks:
|
|
||||||
NFV: 'nfv'
|
|
||||||
renames:
|
|
||||||
all: 'devel'
|
|
||||||
all_repos:
|
|
||||||
- 'all'
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
- 'CRB'
|
|
||||||
- 'HighAvailability'
|
|
||||||
- 'ResilientStorage'
|
|
||||||
- 'RT'
|
|
||||||
- 'NFV'
|
|
||||||
- 'SAP'
|
|
||||||
- 'SAPHANA'
|
|
||||||
- 'extras'
|
|
||||||
- 'plus'
|
|
||||||
extra_repos: []
|
|
||||||
structure:
|
|
||||||
packages: 'os/Packages'
|
|
||||||
repodata: 'os/repodata'
|
|
||||||
iso_map:
|
|
||||||
xorrisofs: True
|
|
||||||
iso_level: False
|
|
||||||
images:
|
|
||||||
dvd:
|
|
||||||
disc: True
|
|
||||||
variant: 'AppStream'
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
minimal:
|
|
||||||
disc: True
|
|
||||||
isoskip: True
|
|
||||||
repos:
|
|
||||||
- 'minimal'
|
|
||||||
- 'BaseOS'
|
|
||||||
variant: 'minimal'
|
|
||||||
volname: 'dvd'
|
|
||||||
BaseOS:
|
|
||||||
disc: False
|
|
||||||
isoskip: True
|
|
||||||
variant: 'BaseOS'
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
lorax:
|
|
||||||
noupgrade: False
|
|
||||||
squashfs_only: True
|
|
||||||
repos:
|
|
||||||
- 'BaseOS'
|
|
||||||
- 'AppStream'
|
|
||||||
variant: 'BaseOS'
|
|
||||||
lorax_removes: []
|
|
||||||
required_pkgs:
|
|
||||||
- 'lorax'
|
|
||||||
- 'isomd5sum'
|
|
||||||
- 'lorax-templates-rhel'
|
|
||||||
- 'lorax-templates-generic'
|
|
||||||
- 'xorriso'
|
|
||||||
cloudimages:
|
|
||||||
images:
|
|
||||||
Azure:
|
|
||||||
format: vhd
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-Azure-Base
|
|
||||||
- Cloud-Azure-LVM
|
|
||||||
EC2:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-EC2-Base
|
|
||||||
- Cloud-EC2-LVM
|
|
||||||
GenericCloud:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base, LVM]
|
|
||||||
primary_variant: 'Base'
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-GenericCloud-Base
|
|
||||||
- Cloud-GenericCloud-LVM
|
|
||||||
Container:
|
|
||||||
format: tar.xz
|
|
||||||
variants: [Base, Minimal, Toolbox, UBI]
|
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
|
||||||
format: qcow2
|
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
variants: [Libvirt, Vbox, VMware]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Vagrant-Libvirt
|
|
||||||
- Vagrant-Vbox
|
|
||||||
- Vagrant-VMware
|
|
||||||
livemap:
|
|
||||||
builder: "lorax"
|
|
||||||
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
|
||||||
branch: 'r10'
|
|
||||||
ksentry:
|
|
||||||
Workstation: rocky-live-workstation.ks
|
|
||||||
Workstation-Lite: rocky-live-workstation-lite.ks
|
|
||||||
XFCE: rocky-live-xfce.ks
|
|
||||||
KDE: rocky-live-kde.ks
|
|
||||||
MATE: rocky-live-mate.ks
|
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
required_pkgs:
|
|
||||||
- 'lorax-lmc-novirt'
|
|
||||||
- 'vim-minimal'
|
|
||||||
- 'pykickstart'
|
|
||||||
- 'git'
|
|
||||||
kiwimap:
|
|
||||||
git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
|
|
||||||
branch: '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:
|
|
||||||
arches:
|
|
||||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
|
||||||
aarch64: '--forcearch=aarch64 --arch=aarch64 --arch=noarch'
|
|
||||||
ppc64le: '--forcearch=ppc64le --arch=ppc64le --arch=noarch'
|
|
||||||
s390x: '--forcearch=s390x --arch=s390x --arch=noarch'
|
|
||||||
repos:
|
|
||||||
devel: []
|
|
||||||
BaseOS: []
|
|
||||||
AppStream:
|
|
||||||
- BaseOS
|
|
||||||
CRB:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
HighAvailability:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
ResilientStorage:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
RT:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
NFV:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
SAP:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
- HighAvailability
|
|
||||||
SAPHANA:
|
|
||||||
- BaseOS
|
|
||||||
- AppStream
|
|
||||||
- HighAvailability
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r10s/'
|
|
||||||
branch: 'r10s'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/Contributors'
|
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
|
||||||
- 'SOURCES/EULA'
|
|
||||||
- 'SOURCES/LICENSE'
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-10'
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-10-Testing'
|
|
||||||
...
|
|
|
@ -7,13 +7,9 @@
|
||||||
minor: '7'
|
minor: '7'
|
||||||
profile: '8'
|
profile: '8'
|
||||||
disttag: 'el8'
|
disttag: 'el8'
|
||||||
code: "Green Obsidian"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockyofficial'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockytesting'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -83,7 +79,7 @@
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
EC2:
|
EC2:
|
||||||
format: qcow2
|
format: raw
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
GenericCloud:
|
GenericCloud:
|
||||||
|
@ -95,7 +91,6 @@
|
||||||
variants: [Base, Minimal, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
livemap:
|
livemap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
@ -111,6 +106,10 @@
|
||||||
- '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'
|
||||||
|
@ -140,6 +139,9 @@
|
||||||
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/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-rockyofficial'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-rockytesting'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
- 'SOURCES/EULA'
|
- 'SOURCES/EULA'
|
||||||
|
|
|
@ -1,19 +1,15 @@
|
||||||
---
|
---
|
||||||
'8':
|
'8':
|
||||||
fullname: 'Rocky Linux 8'
|
fullname: 'Rocky Linux 8'
|
||||||
revision: '8.10'
|
revision: '8.7'
|
||||||
rclvl: 'RC1'
|
rclvl: 'RC1'
|
||||||
major: '8'
|
major: '8'
|
||||||
minor: '10'
|
minor: '7'
|
||||||
profile: '8'
|
profile: '8'
|
||||||
disttag: 'el8'
|
disttag: 'el8'
|
||||||
code: "Green Obsidian"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockyofficial'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockytesting'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -82,59 +78,20 @@
|
||||||
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: raw
|
||||||
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, Toolbox, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
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: 'r8'
|
branch: 'r8'
|
||||||
ksentry:
|
ksentry:
|
||||||
|
@ -149,6 +106,10 @@
|
||||||
- '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'
|
||||||
|
@ -178,6 +139,9 @@
|
||||||
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/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-rockyofficial'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-rockytesting'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
- 'SOURCES/EULA'
|
- 'SOURCES/EULA'
|
||||||
|
|
|
@ -7,13 +7,9 @@
|
||||||
minor: '8'
|
minor: '8'
|
||||||
profile: '8'
|
profile: '8'
|
||||||
disttag: 'el8'
|
disttag: 'el8'
|
||||||
code: "Green Obsidian"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockyofficial'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/SOURCES/RPM-GPG-KEY-rockytesting'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -83,7 +79,7 @@
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
EC2:
|
EC2:
|
||||||
format: qcow2
|
format: raw
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
GenericCloud:
|
GenericCloud:
|
||||||
|
@ -95,7 +91,6 @@
|
||||||
variants: [Base, Minimal, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
livemap:
|
livemap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
@ -111,6 +106,10 @@
|
||||||
- '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'
|
||||||
|
@ -140,6 +139,9 @@
|
||||||
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/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-rockyofficial'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-rockytesting'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
- 'SOURCES/EULA'
|
- 'SOURCES/EULA'
|
||||||
|
|
|
@ -1,26 +1,22 @@
|
||||||
---
|
---
|
||||||
'9-beta':
|
'9-beta':
|
||||||
fullname: 'Rocky Linux 9.4'
|
fullname: 'Rocky Linux 9.2'
|
||||||
revision: '9.4'
|
revision: '9.2'
|
||||||
rclvl: 'BETA1'
|
rclvl: 'BETA1'
|
||||||
major: '9'
|
major: '9'
|
||||||
minor: '4'
|
minor: '2'
|
||||||
profile: '9-beta'
|
profile: '9-beta'
|
||||||
disttag: 'el9'
|
disttag: 'el9'
|
||||||
code: "Blue Onyx"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9-beta/SOURCES/RPM-GPG-KEY-Rocky-9'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9-beta/SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
- ppc64le
|
- ppc64le
|
||||||
- s390x
|
- s390x
|
||||||
provide_multilib: True
|
provide_multilib: True
|
||||||
project_id: 'df5bcbfc-ba83-4da8-84d6-ae0168921b4d'
|
project_id: '0048077b-1573-4cb7-8ba7-cce823857ba5'
|
||||||
repo_symlinks:
|
repo_symlinks:
|
||||||
NFV: 'nfv'
|
NFV: 'nfv'
|
||||||
renames:
|
renames:
|
||||||
|
@ -38,13 +34,6 @@
|
||||||
- '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'
|
||||||
|
@ -65,7 +54,6 @@
|
||||||
- 'minimal'
|
- 'minimal'
|
||||||
- 'BaseOS'
|
- 'BaseOS'
|
||||||
variant: 'minimal'
|
variant: 'minimal'
|
||||||
volname: 'dvd'
|
|
||||||
BaseOS:
|
BaseOS:
|
||||||
disc: False
|
disc: False
|
||||||
isoskip: True
|
isoskip: True
|
||||||
|
@ -74,13 +62,12 @@
|
||||||
- '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'
|
||||||
|
@ -94,68 +81,28 @@
|
||||||
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: raw
|
||||||
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, Toolbox, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
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-beta'
|
||||||
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
|
||||||
XFCE: rocky-live-xfce.ks
|
XFCE: rocky-live-xfce.ks
|
||||||
KDE: rocky-live-kde.ks
|
KDE: rocky-live-kde.ks
|
||||||
MATE: rocky-live-mate.ks
|
MATE: rocky-live-mate.ks
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -164,21 +111,10 @@
|
||||||
- 'vim-minimal'
|
- 'vim-minimal'
|
||||||
- 'pykickstart'
|
- 'pykickstart'
|
||||||
- 'git'
|
- 'git'
|
||||||
kiwimap:
|
variantmap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
|
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
|
||||||
branch: 'r9'
|
branch: 'r9-beta'
|
||||||
required_pkgs:
|
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9-beta/'
|
||||||
- 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'
|
||||||
|
@ -216,7 +152,10 @@
|
||||||
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-beta'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/Contributors'
|
- 'SOURCES/Contributors'
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
|
|
|
@ -1,26 +1,22 @@
|
||||||
---
|
---
|
||||||
'9':
|
'9':
|
||||||
fullname: 'Rocky Linux 9.4'
|
fullname: 'Rocky Linux 9.1'
|
||||||
revision: '9.4'
|
revision: '9.1'
|
||||||
rclvl: 'RC1'
|
rclvl: 'RC1'
|
||||||
major: '9'
|
major: '9'
|
||||||
minor: '4'
|
minor: '1'
|
||||||
profile: '9'
|
profile: '9'
|
||||||
disttag: 'el9'
|
disttag: 'el9'
|
||||||
code: "Blue Onyx"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-9'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
- ppc64le
|
- ppc64le
|
||||||
- s390x
|
- s390x
|
||||||
provide_multilib: True
|
provide_multilib: True
|
||||||
project_id: 'df5bcbfc-ba83-4da8-84d6-ae0168921b4d'
|
project_id: '0048077b-1573-4cb7-8ba7-cce823857ba5'
|
||||||
repo_symlinks:
|
repo_symlinks:
|
||||||
NFV: 'nfv'
|
NFV: 'nfv'
|
||||||
renames:
|
renames:
|
||||||
|
@ -38,13 +34,6 @@
|
||||||
- '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'
|
||||||
|
@ -74,13 +63,12 @@
|
||||||
- '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'
|
||||||
|
@ -94,59 +82,20 @@
|
||||||
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: raw
|
||||||
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, Toolbox, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
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:
|
||||||
|
@ -155,7 +104,6 @@
|
||||||
XFCE: rocky-live-xfce.ks
|
XFCE: rocky-live-xfce.ks
|
||||||
KDE: rocky-live-kde.ks
|
KDE: rocky-live-kde.ks
|
||||||
MATE: rocky-live-mate.ks
|
MATE: rocky-live-mate.ks
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -164,21 +112,10 @@
|
||||||
- 'vim-minimal'
|
- 'vim-minimal'
|
||||||
- 'pykickstart'
|
- 'pykickstart'
|
||||||
- 'git'
|
- 'git'
|
||||||
kiwimap:
|
variantmap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
|
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
required_pkgs:
|
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9/'
|
||||||
- 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'
|
||||||
|
@ -217,6 +154,9 @@
|
||||||
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'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/Contributors'
|
- 'SOURCES/Contributors'
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
|
|
|
@ -8,13 +8,9 @@
|
||||||
minor: '0'
|
minor: '0'
|
||||||
profile: '9'
|
profile: '9'
|
||||||
disttag: 'el9'
|
disttag: 'el9'
|
||||||
code: "Blue Onyx"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-9'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- armv7hl
|
- armv7hl
|
||||||
- riscv64
|
- riscv64
|
||||||
|
@ -50,6 +46,9 @@
|
||||||
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'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/Contributors'
|
- 'SOURCES/Contributors'
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
|
|
|
@ -1,19 +1,15 @@
|
||||||
---
|
---
|
||||||
'9-lookahead':
|
'9-lookahead':
|
||||||
fullname: 'Rocky Linux 9.5'
|
fullname: 'Rocky Linux 9.2'
|
||||||
revision: '9.5'
|
revision: '9.2'
|
||||||
rclvl: 'LH1'
|
rclvl: 'LH1'
|
||||||
major: '9'
|
major: '9'
|
||||||
minor: '5'
|
minor: '2'
|
||||||
profile: '9-lookahead'
|
profile: '9-lookahead'
|
||||||
disttag: 'el9'
|
disttag: 'el9'
|
||||||
code: "Blue Onyx"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
fedora_major: '20'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9s/SOURCES/RPM-GPG-KEY-Rocky-9'
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9s/SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -38,13 +34,6 @@
|
||||||
- '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'
|
||||||
|
@ -65,7 +54,6 @@
|
||||||
- 'minimal'
|
- 'minimal'
|
||||||
- 'BaseOS'
|
- 'BaseOS'
|
||||||
variant: 'minimal'
|
variant: 'minimal'
|
||||||
volname: 'dvd'
|
|
||||||
BaseOS:
|
BaseOS:
|
||||||
disc: False
|
disc: False
|
||||||
isoskip: True
|
isoskip: True
|
||||||
|
@ -74,13 +62,12 @@
|
||||||
- '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'
|
||||||
|
@ -94,68 +81,28 @@
|
||||||
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: raw
|
||||||
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, Toolbox, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
kiwi:
|
|
||||||
type: "oci"
|
|
||||||
profile_names:
|
|
||||||
- Container-Base
|
|
||||||
- Container-Minimal
|
|
||||||
- Container-Toolbox
|
|
||||||
- Container-UBI
|
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
kiwi:
|
|
||||||
type: "oem"
|
|
||||||
profile_names:
|
|
||||||
- Cloud-OCP-Base
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
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: 'r9lh'
|
||||||
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
|
||||||
XFCE: rocky-live-xfce.ks
|
XFCE: rocky-live-xfce.ks
|
||||||
KDE: rocky-live-kde.ks
|
KDE: rocky-live-kde.ks
|
||||||
MATE: rocky-live-mate.ks
|
MATE: rocky-live-mate.ks
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -164,21 +111,10 @@
|
||||||
- 'vim-minimal'
|
- 'vim-minimal'
|
||||||
- 'pykickstart'
|
- 'pykickstart'
|
||||||
- 'git'
|
- 'git'
|
||||||
kiwimap:
|
variantmap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/rocky-kiwi-descriptions.git'
|
git_repo: 'https://git.rockylinux.org/rocky/pungi-rocky.git'
|
||||||
branch: 'r9'
|
branch: 'r9lh'
|
||||||
required_pkgs:
|
git_raw_path: 'https://git.rockylinux.org/rocky/pungi-rocky/-/raw/r9lh/'
|
||||||
- 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'
|
||||||
|
@ -216,7 +152,10 @@
|
||||||
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: 'r9s'
|
branch: 'r9lh'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||||
|
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/Contributors'
|
- 'SOURCES/Contributors'
|
||||||
- 'SOURCES/COMMUNITY-CHARTER'
|
- 'SOURCES/COMMUNITY-CHARTER'
|
||||||
|
|
|
@ -2,15 +2,12 @@
|
||||||
'rln':
|
'rln':
|
||||||
fullname: 'Rocky Linux New'
|
fullname: 'Rocky Linux New'
|
||||||
revision: '10'
|
revision: '10'
|
||||||
rclvl: 'RLN134'
|
rclvl: 'RLN120'
|
||||||
major: '10'
|
major: '10'
|
||||||
minor: '0'
|
minor: '0'
|
||||||
profile: 'rln'
|
profile: 'rln'
|
||||||
disttag: 'rln134'
|
|
||||||
code: "Silver Magma"
|
|
||||||
bugurl: 'https://bugs.rockylinux.org'
|
bugurl: 'https://bugs.rockylinux.org'
|
||||||
checksum: 'sha256'
|
checksum: 'sha256'
|
||||||
fedora_major: '20'
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
@ -53,9 +50,7 @@
|
||||||
isoskip: True
|
isoskip: True
|
||||||
repos:
|
repos:
|
||||||
- 'minimal'
|
- 'minimal'
|
||||||
- 'BaseOS'
|
|
||||||
variant: 'minimal'
|
variant: 'minimal'
|
||||||
volname: 'dvd'
|
|
||||||
BaseOS:
|
BaseOS:
|
||||||
disc: False
|
disc: False
|
||||||
isoskip: True
|
isoskip: True
|
||||||
|
@ -64,7 +59,6 @@
|
||||||
- 'BaseOS'
|
- 'BaseOS'
|
||||||
- 'AppStream'
|
- 'AppStream'
|
||||||
lorax:
|
lorax:
|
||||||
noupgrade: False
|
|
||||||
repos:
|
repos:
|
||||||
- 'BaseOS'
|
- 'BaseOS'
|
||||||
- 'AppStream'
|
- 'AppStream'
|
||||||
|
@ -85,7 +79,7 @@
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
EC2:
|
EC2:
|
||||||
format: qcow2
|
format: raw
|
||||||
variants: [Base, LVM]
|
variants: [Base, LVM]
|
||||||
primary_variant: 'Base'
|
primary_variant: 'Base'
|
||||||
GenericCloud:
|
GenericCloud:
|
||||||
|
@ -95,14 +89,8 @@
|
||||||
Container:
|
Container:
|
||||||
format: tar.xz
|
format: tar.xz
|
||||||
variants: [Base, Minimal, UBI]
|
variants: [Base, Minimal, UBI]
|
||||||
RPI:
|
|
||||||
format: raw.xz
|
|
||||||
OCP:
|
OCP:
|
||||||
format: qcow2
|
format: qcow2
|
||||||
variants: [Base]
|
|
||||||
Vagrant:
|
|
||||||
format: box
|
|
||||||
variants: [Libvirt, Vbox, VMware]
|
|
||||||
livemap:
|
livemap:
|
||||||
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
git_repo: 'https://git.resf.org/sig_core/kickstarts.git'
|
||||||
branch: 'rln'
|
branch: 'rln'
|
||||||
|
@ -111,8 +99,6 @@
|
||||||
Workstation-Lite: rocky-live-workstation-lite.ks
|
Workstation-Lite: rocky-live-workstation-lite.ks
|
||||||
XFCE: rocky-live-xfce.ks
|
XFCE: rocky-live-xfce.ks
|
||||||
KDE: rocky-live-kde.ks
|
KDE: rocky-live-kde.ks
|
||||||
MATE: rocky-live-mate.ks
|
|
||||||
Cinnamon: rocky-live-cinnamon.ks
|
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
|
|
|
@ -31,7 +31,6 @@ parser.add_argument('--type', type=str, help="Image type (container, genclo, azu
|
||||||
parser.add_argument('--variant', type=str, help="", required=False)
|
parser.add_argument('--variant', type=str, help="", required=False)
|
||||||
parser.add_argument('--release', type=str, help="Image release for subsequent builds with the same date stamp (rarely needed)", required=False)
|
parser.add_argument('--release', type=str, help="Image release for subsequent builds with the same date stamp (rarely needed)", required=False)
|
||||||
parser.add_argument('--kube', action='store_true', help="output as a K8s job(s)", required=False)
|
parser.add_argument('--kube', action='store_true', help="output as a K8s job(s)", required=False)
|
||||||
parser.add_argument('--timeout', type=str, help="change timeout for imagefactory build process (default 3600)", required=False, default='3600')
|
|
||||||
|
|
||||||
|
|
||||||
results = parser.parse_args()
|
results = parser.parse_args()
|
||||||
|
@ -81,7 +80,6 @@ class ImageBuild:
|
||||||
target_uuid: Optional[str] = field(default="")
|
target_uuid: Optional[str] = field(default="")
|
||||||
tdl_path: pathlib.Path = field(init=False)
|
tdl_path: pathlib.Path = field(init=False)
|
||||||
template: Template = field()
|
template: Template = field()
|
||||||
timeout: str = field(default='3600')
|
|
||||||
type_variant: str = field(init=False)
|
type_variant: str = field(init=False)
|
||||||
variant: Optional[str] = field()
|
variant: Optional[str] = field()
|
||||||
|
|
||||||
|
@ -96,13 +94,46 @@ class ImageBuild:
|
||||||
self.package_args = self._package_args()
|
self.package_args = self._package_args()
|
||||||
self.common_args = self._common_args()
|
self.common_args = self._common_args()
|
||||||
|
|
||||||
self.metadata = pathlib.Path(self.outdir, ".imagefactory-metadata.json")
|
self.metadata = pathlib.Path(self.outdir, "metadata.json")
|
||||||
|
|
||||||
self.kickstart_path = pathlib.Path(f"{KICKSTART_PATH}/Rocky-{self.architecture.major}-{self.type_variant}.ks")
|
self.kickstart_path = pathlib.Path(f"{KICKSTART_PATH}/Rocky-{self.architecture.major}-{self.type_variant}.ks")
|
||||||
|
|
||||||
self.checkout_kickstarts()
|
self.checkout_kickstarts()
|
||||||
self.kickstart_arg = self.kickstart_imagefactory_args()
|
self.kickstart_arg = self.kickstart_imagefactory_args()
|
||||||
|
|
||||||
|
# Yes, this is gross. I'll fix it later.
|
||||||
|
if self.image_type in ["Container"]:
|
||||||
|
self.stage_commands = [
|
||||||
|
["tar", "-C", f"{self.outdir}", "--strip-components=1", "-x", "-f", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", "*/layer.tar"],
|
||||||
|
["xz", f"{self.outdir}/layer.tar"]
|
||||||
|
]
|
||||||
|
if self.image_type in ["GenericCloud", "OCP"]:
|
||||||
|
self.stage_commands = [
|
||||||
|
["qemu-img", "convert", "-c", "-f", "raw", "-O", "qcow2", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.qcow2"]
|
||||||
|
]
|
||||||
|
if self.image_type in ["EC2"]:
|
||||||
|
self.stage_commands = [
|
||||||
|
["qemu-img", "convert", "-f", "raw", "-O", "qcow2", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.qcow2"]
|
||||||
|
]
|
||||||
|
if self.image_type in ["Azure"]:
|
||||||
|
self.stage_commands = [
|
||||||
|
["/prep-azure.sh", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{STORAGE_DIR}"],
|
||||||
|
["cp", lambda: f"{STORAGE_DIR}/{self.target_uuid}.vhd", f"{self.outdir}/{self.outname}.vhd"]
|
||||||
|
]
|
||||||
|
if self.image_type in ["Vagrant"]:
|
||||||
|
_map = {
|
||||||
|
"Vbox": "vmdk",
|
||||||
|
"Libvirt": "qcow2"
|
||||||
|
}
|
||||||
|
output = f"{_map[self.variant]}" #type: ignore
|
||||||
|
self.stage_commands = [
|
||||||
|
["qemu-img", "convert", "-c", "-f", "raw", "-O", output, lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.{output}"]
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
if self.stage_commands:
|
||||||
|
self.stage_commands.append(["cp", "-v", lambda: f"{STORAGE_DIR}/{self.target_uuid}.meta", f"{self.outdir}/build.meta"])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
os.mkdir(self.outdir)
|
os.mkdir(self.outdir)
|
||||||
except FileExistsError as e:
|
except FileExistsError as e:
|
||||||
|
@ -122,82 +153,6 @@ class ImageBuild:
|
||||||
finally:
|
finally:
|
||||||
f.flush()
|
f.flush()
|
||||||
|
|
||||||
# Yes, this is gross. I'll fix it later.
|
|
||||||
if self.image_type in ["Container"]:
|
|
||||||
self.stage_commands = [
|
|
||||||
["tar", "-C", f"{self.outdir}", "--strip-components=1", "-x", "-f", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", "*/layer.tar"],
|
|
||||||
["xz", f"{self.outdir}/layer.tar"]
|
|
||||||
]
|
|
||||||
if self.image_type in ["RPI"]:
|
|
||||||
self.stage_commands = [
|
|
||||||
["cp", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.raw"],
|
|
||||||
["xz", f"{self.outdir}/{self.outname}.raw"]
|
|
||||||
]
|
|
||||||
if self.image_type in ["GenericCloud", "OCP", "GenericArm"]:
|
|
||||||
self.stage_commands = [
|
|
||||||
["qemu-img", "convert", "-c", "-f", "raw", "-O", "qcow2", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.qcow2"]
|
|
||||||
]
|
|
||||||
if self.image_type in ["EC2"]:
|
|
||||||
self.stage_commands = [
|
|
||||||
["qemu-img", "convert", "-f", "raw", "-O", "qcow2", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.qcow2"]
|
|
||||||
]
|
|
||||||
if self.image_type in ["Azure"]:
|
|
||||||
self.stage_commands = [
|
|
||||||
["/prep-azure.sh", lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{STORAGE_DIR}"],
|
|
||||||
["cp", lambda: f"{STORAGE_DIR}/{self.target_uuid}.vhd", f"{self.outdir}/{self.outname}.vhd"]
|
|
||||||
]
|
|
||||||
if self.image_type in ["Vagrant"]:
|
|
||||||
_map = {
|
|
||||||
"Vbox": {"format": "vmdk", "provider": "virtualbox"},
|
|
||||||
"Libvirt": {"format": "qcow2", "provider": "libvirt", "virtual_size": 10},
|
|
||||||
"VMware": {"format": "vmdk", "provider": "vmware_desktop"}
|
|
||||||
}
|
|
||||||
output = f"{_map[self.variant]['format']}" #type: ignore
|
|
||||||
provider = f"{_map[self.variant]['provider']}" # type: ignore
|
|
||||||
|
|
||||||
# pop from the options map that will be passed to the vagrant metadata.json
|
|
||||||
convert_options = _map[self.variant].pop('convertOptions') if 'convertOptions' in _map[self.variant].keys() else '' #type: ignore
|
|
||||||
|
|
||||||
|
|
||||||
self.stage_commands = [
|
|
||||||
["qemu-img", "convert", "-c", "-f", "raw", "-O", output, *convert_options, lambda: f"{STORAGE_DIR}/{self.target_uuid}.body", f"{self.outdir}/{self.outname}.{output}"],
|
|
||||||
["tar", "-C", self.outdir, "-czf", f"/tmp/{self.outname}.box", '.'],
|
|
||||||
["mv", f"/tmp/{self.outname}.box", self.outdir]
|
|
||||||
]
|
|
||||||
self.prepare_vagrant(_map[self.variant])
|
|
||||||
|
|
||||||
if self.stage_commands:
|
|
||||||
self.stage_commands.append(["cp", "-v", lambda: f"{STORAGE_DIR}/{self.target_uuid}.meta", f"{self.outdir}/build.meta"])
|
|
||||||
|
|
||||||
|
|
||||||
def prepare_vagrant(self, options):
|
|
||||||
"""Setup the output directory for the Vagrant type variant, dropping templates as required"""
|
|
||||||
file_loader = FileSystemLoader(f"{_rootdir}/templates")
|
|
||||||
tmplenv = Environment(loader=file_loader)
|
|
||||||
|
|
||||||
templates = {}
|
|
||||||
templates['Vagrantfile'] = tmplenv.get_template(f"vagrant/Vagrantfile.{self.variant}")
|
|
||||||
templates['metadata.json'] = tmplenv.get_template('vagrant/metadata.tmpl.json')
|
|
||||||
templates['info.json'] = tmplenv.get_template('vagrant/info.tmpl.json')
|
|
||||||
|
|
||||||
if self.variant == "VMware":
|
|
||||||
templates[f"{self.outname}.vmx"] = tmplenv.get_template('vagrant/vmx.tmpl')
|
|
||||||
|
|
||||||
if self.variant == "Vbox":
|
|
||||||
templates['box.ovf'] = tmplenv.get_template('vagrant/box.tmpl.ovf')
|
|
||||||
|
|
||||||
if self.variant == "Libvirt":
|
|
||||||
# Libvirt vagrant driver expects the qcow2 file to be called box.img.
|
|
||||||
qemu_command_index = [i for i, d in enumerate(self.stage_commands) if d[0] == "qemu-img"][0]
|
|
||||||
self.stage_commands.insert(qemu_command_index+1, ["mv", f"{self.outdir}/{self.outname}.qcow2", f"{self.outdir}/box.img"])
|
|
||||||
|
|
||||||
for name, template in templates.items():
|
|
||||||
self.render_template(f"{self.outdir}/{name}", template,
|
|
||||||
name=self.outname,
|
|
||||||
arch=self.architecture.name,
|
|
||||||
options=options
|
|
||||||
)
|
|
||||||
|
|
||||||
def checkout_kickstarts(self) -> int:
|
def checkout_kickstarts(self) -> int:
|
||||||
cmd = ["git", "clone", "--branch", f"r{self.architecture.major}", rlvars['livemap']['git_repo'], f"{KICKSTART_PATH}"]
|
cmd = ["git", "clone", "--branch", f"r{self.architecture.major}", rlvars['livemap']['git_repo'], f"{KICKSTART_PATH}"]
|
||||||
ret, out, err, _ = self.runCmd(cmd, search=False)
|
ret, out, err, _ = self.runCmd(cmd, search=False)
|
||||||
|
@ -231,20 +186,20 @@ class ImageBuild:
|
||||||
|
|
||||||
def _command_args(self):
|
def _command_args(self):
|
||||||
args_mapping = {
|
args_mapping = {
|
||||||
"debug": "--debug",
|
"debug": "--debug"
|
||||||
}
|
}
|
||||||
return [param for name, param in args_mapping.items() if getattr(self.cli_args, name)]
|
return [param for name, param in args_mapping.items() if getattr(self.cli_args, name)]
|
||||||
|
|
||||||
def _package_args(self) -> List[str]:
|
def _package_args(self) -> List[str]:
|
||||||
if self.image_type in ["Container"]:
|
if self.image_type == "Container":
|
||||||
return ["--parameter", "compress", "xz"]
|
return ["--parameter", "compress", "xz"]
|
||||||
return [""]
|
return [""]
|
||||||
|
|
||||||
def _common_args(self) -> List[str]:
|
def _common_args(self) -> List[str]:
|
||||||
args = []
|
args = []
|
||||||
if self.image_type in ["Container"]:
|
if self.image_type == "Container":
|
||||||
args = ["--parameter", "offline_icicle", "true"]
|
args = ["--parameter", "offline_icicle", "true"]
|
||||||
if self.image_type in ["GenericCloud", "EC2", "Vagrant", "Azure", "OCP", "RPI", "GenericArm"]:
|
if self.image_type in ["GenericCloud", "EC2", "Vagrant", "Azure", "OCP"]:
|
||||||
args = ["--parameter", "generate_icicle", "false"]
|
args = ["--parameter", "generate_icicle", "false"]
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
@ -257,27 +212,19 @@ class ImageBuild:
|
||||||
def kickstart_imagefactory_args(self) -> List[str]:
|
def kickstart_imagefactory_args(self) -> List[str]:
|
||||||
|
|
||||||
if not self.kickstart_path.is_file():
|
if not self.kickstart_path.is_file():
|
||||||
log.warning(f"Kickstart file is not available: {self.kickstart_path}")
|
log.warn(f"Kickstart file is not available: {self.kickstart_path}")
|
||||||
if not debug:
|
if not debug:
|
||||||
log.warning("Exiting because debug mode is not enabled.")
|
log.warn("Exiting because debug mode is not enabled.")
|
||||||
exit(2)
|
exit(2)
|
||||||
|
|
||||||
return ["--file-parameter", "install_script", str(self.kickstart_path)]
|
return ["--file-parameter", "install_script", str(self.kickstart_path)]
|
||||||
|
|
||||||
def render_template(self, path, template, **kwargs) -> pathlib.Path:
|
|
||||||
with open(path, "wb") as f:
|
|
||||||
_template = template.render(**kwargs)
|
|
||||||
f.write(_template.encode())
|
|
||||||
f.flush()
|
|
||||||
output = pathlib.Path(path)
|
|
||||||
if not output.exists():
|
|
||||||
log.error("Failed to write template")
|
|
||||||
raise Exception("Failed to template")
|
|
||||||
return output
|
|
||||||
|
|
||||||
def render_icicle_template(self) -> pathlib.Path:
|
def render_icicle_template(self) -> pathlib.Path:
|
||||||
output = tempfile.NamedTemporaryFile(delete=False).name
|
handle, output = tempfile.mkstemp()
|
||||||
return self.render_template(output, self.template,
|
if not handle:
|
||||||
|
exit(3)
|
||||||
|
with os.fdopen(handle, "wb") as tmp:
|
||||||
|
_template = self.template.render(
|
||||||
architecture=self.architecture.name,
|
architecture=self.architecture.name,
|
||||||
iso8601date=BUILDTIME.strftime("%Y%m%d"),
|
iso8601date=BUILDTIME.strftime("%Y%m%d"),
|
||||||
installdir="kickstart" if self.cli_args.kickstartdir else "os",
|
installdir="kickstart" if self.cli_args.kickstartdir else "os",
|
||||||
|
@ -289,15 +236,27 @@ class ImageBuild:
|
||||||
utcnow=BUILDTIME,
|
utcnow=BUILDTIME,
|
||||||
version_variant=self.architecture.version if not self.variant else f"{self.architecture.version}-{self.variant}",
|
version_variant=self.architecture.version if not self.variant else f"{self.architecture.version}-{self.variant}",
|
||||||
)
|
)
|
||||||
|
tmp.write(_template.encode())
|
||||||
|
tmp.flush()
|
||||||
|
output = pathlib.Path(output)
|
||||||
|
if not output.exists():
|
||||||
|
log.error("Failed to write TDL template")
|
||||||
|
raise Exception("Failed to write TDL template")
|
||||||
|
return output
|
||||||
|
|
||||||
def build_command(self) -> List[str]:
|
def build_command(self) -> List[str]:
|
||||||
build_command = ["imagefactory", "--timeout", self.timeout, *self.command_args, "base_image", *self.common_args, *self.kickstart_arg, self.tdl_path]
|
build_command = ["imagefactory", *self.command_args, "base_image", *self.common_args, *self.kickstart_arg, self.tdl_path
|
||||||
|
# "|", "tee", "-a", f"{outdir}/logs/base_image-{outname}.out",
|
||||||
|
# "|", "tail", "-n4", ">", f"{outdir}/base.meta", "||", "exit", "2"
|
||||||
|
]
|
||||||
return build_command
|
return build_command
|
||||||
def package_command(self) -> List[str]:
|
def package_command(self) -> List[str]:
|
||||||
package_command = ["imagefactory", *self.command_args, "target_image", self.out_type, *self.common_args,
|
package_command = ["imagefactory", *self.command_args, "target_image", self.out_type, *self.common_args,
|
||||||
"--id", f"{self.base_uuid}",
|
"--id", f"{self.base_uuid}",
|
||||||
*self.package_args,
|
*self.package_args,
|
||||||
"--parameter", "repository", self.outname,
|
"--parameter", "repository", self.outname,
|
||||||
|
# "|", "tee", "-a", f"{outdir}/base_image-{outname}.out",
|
||||||
|
# "|", "tail", "-n4", ">", f"{outdir}/target.meta", "||", "exit", "3"
|
||||||
]
|
]
|
||||||
return package_command
|
return package_command
|
||||||
|
|
||||||
|
@ -324,7 +283,7 @@ class ImageBuild:
|
||||||
def package(self) -> int:
|
def package(self) -> int:
|
||||||
# Some build types don't need to be packaged by imagefactory
|
# Some build types don't need to be packaged by imagefactory
|
||||||
# @TODO remove business logic if possible
|
# @TODO remove business logic if possible
|
||||||
if self.image_type in ["GenericCloud", "EC2", "Azure", "Vagrant", "OCP", "RPI", "GenericArm"]:
|
if self.image_type in ["GenericCloud", "EC2", "Azure", "Vagrant", "OCP"]:
|
||||||
self.target_uuid = self.base_uuid if hasattr(self, 'base_uuid') else ""
|
self.target_uuid = self.base_uuid if hasattr(self, 'base_uuid') else ""
|
||||||
|
|
||||||
if self.target_uuid:
|
if self.target_uuid:
|
||||||
|
@ -440,7 +399,7 @@ class ImageBuild:
|
||||||
return template
|
return template
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
with open(self.metadata, "w") as f:
|
with open(pathlib.Path(self.outdir, "metadata.json"), "w") as f:
|
||||||
try:
|
try:
|
||||||
o = { name: getattr(self, name) for name in ["base_uuid", "target_uuid"] }
|
o = { name: getattr(self, name) for name in ["base_uuid", "target_uuid"] }
|
||||||
log.debug(o)
|
log.debug(o)
|
||||||
|
|
|
@ -11,15 +11,12 @@ parser = argparse.ArgumentParser(description="Live ISO Compose")
|
||||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
||||||
parser.add_argument('--isolation', type=str, help="Mock Isolation")
|
parser.add_argument('--isolation', type=str, help="Mock Isolation")
|
||||||
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
||||||
parser.add_argument('--peridot', action='store_true', help="Use peridot repos")
|
|
||||||
parser.add_argument('--image', type=str, help="Granular choice in which live image is built")
|
parser.add_argument('--image', type=str, help="Granular choice in which live image is built")
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
parser.add_argument('--live-iso-mode', type=str, default='local')
|
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']
|
||||||
|
@ -32,12 +29,9 @@ a = LiveBuild(
|
||||||
live_iso_mode=results.live_iso_mode,
|
live_iso_mode=results.live_iso_mode,
|
||||||
image=results.image,
|
image=results.image,
|
||||||
compose_dir_is_here=results.local_compose,
|
compose_dir_is_here=results.local_compose,
|
||||||
peridot=results.peridot,
|
|
||||||
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
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ parser = argparse.ArgumentParser(description="Peridot Sync and Compose")
|
||||||
# All of our options
|
# All of our options
|
||||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
||||||
parser.add_argument('--arch', type=str, help="Architecture")
|
parser.add_argument('--arch', type=str, help="Architecture")
|
||||||
parser.add_argument('--fpsync', type=str, help="Use fpsync instead of rsync")
|
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
|
|
||||||
# Parse them
|
# Parse them
|
||||||
|
@ -29,7 +28,6 @@ a = RepoSync(
|
||||||
config,
|
config,
|
||||||
major=major,
|
major=major,
|
||||||
arch=results.arch,
|
arch=results.arch,
|
||||||
fpsync=results.fpsync,
|
|
||||||
logger=results.logger,
|
logger=results.logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# This script can be called to do single syncs or full on syncs.
|
# This script can be called to do single syncs or full on syncs.
|
||||||
|
|
||||||
import os
|
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
|
@ -17,7 +16,6 @@ parser = argparse.ArgumentParser(description="Peridot Sync and Compose")
|
||||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
||||||
parser.add_argument('--sig', type=str, help="SIG Name if applicable")
|
parser.add_argument('--sig', type=str, help="SIG Name if applicable")
|
||||||
parser.add_argument('--symlink', action='store_true', help="symlink to latest")
|
parser.add_argument('--symlink', action='store_true', help="symlink to latest")
|
||||||
parser.add_argument('--copy-old-compose', action='store_true', help="Runs an rsync from previous compose")
|
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
|
|
||||||
# Parse them
|
# Parse them
|
||||||
|
@ -61,21 +59,16 @@ def run():
|
||||||
date_stamp,
|
date_stamp,
|
||||||
logger
|
logger
|
||||||
)
|
)
|
||||||
compose_latest_dir = os.path.join(
|
|
||||||
config['compose_root'],
|
|
||||||
major,
|
|
||||||
"latest-{}-{}".format(
|
|
||||||
shortname,
|
|
||||||
profile,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if results.copy_old_compose:
|
|
||||||
if os.path.exists(compose_latest_dir):
|
|
||||||
previous_compose_path = os.path.realpath(compose_latest_dir)
|
|
||||||
else:
|
|
||||||
log.warning('No symlink exists; we cannot copy from the old compose')
|
|
||||||
|
|
||||||
if results.symlink:
|
if results.symlink:
|
||||||
|
compose_latest_dir = os.path.join(
|
||||||
|
config['compose_root'],
|
||||||
|
major,
|
||||||
|
"latest-{}-{}".format(
|
||||||
|
shortname,
|
||||||
|
profile,
|
||||||
|
)
|
||||||
|
)
|
||||||
if os.path.exists(compose_latest_dir):
|
if os.path.exists(compose_latest_dir):
|
||||||
os.remove(compose_latest_dir)
|
os.remove(compose_latest_dir)
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ 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"]
|
||||||
|
@ -32,18 +31,16 @@ 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"]
|
command = ["build-iso", "--release", f"{results.release}", "--isolation", "simple", "--hashed"]
|
||||||
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 }.{ minor }-$(uname -m)/root/builddir/ "
|
f"/var/lib/mock/rocky-{ major }-$(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(
|
||||||
|
@ -55,7 +52,6 @@ def run():
|
||||||
jobname="buildiso",
|
jobname="buildiso",
|
||||||
namespace="empanadas",
|
namespace="empanadas",
|
||||||
major=major,
|
major=major,
|
||||||
minor=minor,
|
|
||||||
restartPolicy="Never",
|
restartPolicy="Never",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -13,9 +13,6 @@ parser.add_argument('--s3', action='store_true', help="S3")
|
||||||
parser.add_argument('--arch', type=str, help="Architecture")
|
parser.add_argument('--arch', type=str, help="Architecture")
|
||||||
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
||||||
parser.add_argument('--force-download', action='store_true', help="Force a download")
|
parser.add_argument('--force-download', action='store_true', help="Force a download")
|
||||||
parser.add_argument('--s3-region', type=str, help="S3 region (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket', type=str, help="S3 bucket name (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket-url', type=str, help="S3 bucket url (overrides defaults)")
|
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
results = parser.parse_args()
|
results = parser.parse_args()
|
||||||
rlvars = rldict[results.release]
|
rlvars = rldict[results.release]
|
||||||
|
@ -29,9 +26,6 @@ a = IsoBuild(
|
||||||
arch=results.arch,
|
arch=results.arch,
|
||||||
force_download=results.force_download,
|
force_download=results.force_download,
|
||||||
compose_dir_is_here=results.local_compose,
|
compose_dir_is_here=results.local_compose,
|
||||||
s3_region=results.s3_region,
|
|
||||||
s3_bucket=results.s3_bucket,
|
|
||||||
s3_bucket_url=results.s3_bucket_url,
|
|
||||||
logger=results.logger,
|
logger=results.logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
# builds ISO's
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
from empanadas.common import *
|
|
||||||
from empanadas.util import Checks
|
|
||||||
from empanadas.util import IsoBuild
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="ISO Artifact Builder")
|
|
||||||
|
|
||||||
parser.add_argument('--release', type=str, help="Major Release Version", required=True)
|
|
||||||
parser.add_argument('--s3', action='store_true', help="S3")
|
|
||||||
parser.add_argument('--arch', type=str, help="Architecture")
|
|
||||||
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
|
||||||
parser.add_argument('--force-download', action='store_true', help="Force a download")
|
|
||||||
parser.add_argument('--s3-region', type=str, help="S3 region (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket', type=str, help="S3 bucket name (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket-url', type=str, help="S3 bucket url (overrides defaults)")
|
|
||||||
parser.add_argument('--logger', type=str)
|
|
||||||
results = parser.parse_args()
|
|
||||||
rlvars = rldict[results.release]
|
|
||||||
major = rlvars['major']
|
|
||||||
|
|
||||||
a = IsoBuild(
|
|
||||||
rlvars,
|
|
||||||
config,
|
|
||||||
major=major,
|
|
||||||
s3=results.s3,
|
|
||||||
arch=results.arch,
|
|
||||||
force_download=results.force_download,
|
|
||||||
compose_dir_is_here=results.local_compose,
|
|
||||||
s3_region=result.s3_region,
|
|
||||||
s3_bucket=result.s3_bucket,
|
|
||||||
s3_bucket_url=result.s3_bucket_url,
|
|
||||||
logger=results.logger,
|
|
||||||
)
|
|
||||||
|
|
||||||
def run():
|
|
||||||
a.run_pull_iso_images()
|
|
|
@ -15,9 +15,6 @@ parser.add_argument('--arch', type=str, help="Architecture")
|
||||||
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
parser.add_argument('--local-compose', action='store_true', help="Compose Directory is Here")
|
||||||
parser.add_argument('--force-unpack', action='store_true', help="Force an unpack")
|
parser.add_argument('--force-unpack', action='store_true', help="Force an unpack")
|
||||||
parser.add_argument('--force-download', action='store_true', help="Force a download")
|
parser.add_argument('--force-download', action='store_true', help="Force a download")
|
||||||
parser.add_argument('--s3-region', type=str, help="S3 region (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket', type=str, help="S3 bucket name (overrides defaults)")
|
|
||||||
parser.add_argument('--s3-bucket-url', type=str, help="S3 bucket url (overrides defaults)")
|
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
results = parser.parse_args()
|
results = parser.parse_args()
|
||||||
rlvars = rldict[results.release]
|
rlvars = rldict[results.release]
|
||||||
|
@ -33,9 +30,6 @@ a = IsoBuild(
|
||||||
force_unpack=results.force_unpack,
|
force_unpack=results.force_unpack,
|
||||||
force_download=results.force_download,
|
force_download=results.force_download,
|
||||||
compose_dir_is_here=results.local_compose,
|
compose_dir_is_here=results.local_compose,
|
||||||
s3_region=results.s3_region,
|
|
||||||
s3_bucket=results.s3_bucket,
|
|
||||||
s3_bucket_url=results.s3_bucket_url,
|
|
||||||
logger=results.logger,
|
logger=results.logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
# This script can be called to do single syncs or full on syncs.
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
from empanadas.common import *
|
|
||||||
from empanadas.util import Checks
|
|
||||||
from empanadas.util import RepoSync
|
|
||||||
|
|
||||||
# Start up the parser baby
|
|
||||||
parser = argparse.ArgumentParser(description="Peridot Sync and Compose")
|
|
||||||
|
|
||||||
# All of our options
|
|
||||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
|
||||||
parser.add_argument('--logger', type=str)
|
|
||||||
|
|
||||||
# Parse them
|
|
||||||
results = parser.parse_args()
|
|
||||||
rlvars = rldict[results.release]
|
|
||||||
major = rlvars['major']
|
|
||||||
|
|
||||||
r = Checks(rlvars, config['arch'])
|
|
||||||
r.check_validity()
|
|
||||||
|
|
||||||
# Send them and do whatever I guess
|
|
||||||
a = RepoSync(
|
|
||||||
rlvars,
|
|
||||||
config,
|
|
||||||
major=major,
|
|
||||||
logger=results.logger,
|
|
||||||
)
|
|
||||||
|
|
||||||
def run():
|
|
||||||
a.refresh_compose_treeinfo()
|
|
|
@ -29,7 +29,6 @@ parser.add_argument('--refresh-extra-files', action='store_true')
|
||||||
# I am aware this is confusing, I want podman to be the default option
|
# I am aware this is confusing, I want podman to be the default option
|
||||||
parser.add_argument('--simple', action='store_false')
|
parser.add_argument('--simple', action='store_false')
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
parser.add_argument('--log-level', type=str, default='INFO')
|
|
||||||
parser.add_argument('--disable-gpg-check', action='store_false')
|
parser.add_argument('--disable-gpg-check', action='store_false')
|
||||||
parser.add_argument('--disable-repo-gpg-check', action='store_false')
|
parser.add_argument('--disable-repo-gpg-check', action='store_false')
|
||||||
parser.add_argument('--clean-old-packages', action='store_true')
|
parser.add_argument('--clean-old-packages', action='store_true')
|
||||||
|
@ -61,7 +60,6 @@ a = SigRepoSync(
|
||||||
nofail=results.no_fail,
|
nofail=results.no_fail,
|
||||||
refresh_extra_files=results.refresh_extra_files,
|
refresh_extra_files=results.refresh_extra_files,
|
||||||
logger=results.logger,
|
logger=results.logger,
|
||||||
log_level=results.log_level,
|
|
||||||
gpg_check=results.disable_gpg_check,
|
gpg_check=results.disable_gpg_check,
|
||||||
repo_gpg_check=results.disable_repo_gpg_check,
|
repo_gpg_check=results.disable_repo_gpg_check,
|
||||||
reposync_clean_old=results.clean_old_packages,
|
reposync_clean_old=results.clean_old_packages,
|
||||||
|
|
|
@ -3,8 +3,6 @@ altarch:
|
||||||
'8':
|
'8':
|
||||||
profile: 'altarch'
|
profile: 'altarch'
|
||||||
project_id: 'a1aac235-dd66-4d5b-8ff0-87467732f322'
|
project_id: 'a1aac235-dd66-4d5b-8ff0-87467732f322'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
|
||||||
repo:
|
repo:
|
||||||
altarch-common:
|
altarch-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -12,22 +10,19 @@ altarch:
|
||||||
altarch-rockyrpi:
|
altarch-rockyrpi:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- aarch64
|
- aarch64
|
||||||
altarch-devel:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
additional_dirs:
|
additional_dirs:
|
||||||
- 'images'
|
- 'images'
|
||||||
extra_files:
|
extra_files:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-altarch.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-altarch.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
||||||
'9':
|
'9':
|
||||||
profile: 'altarch'
|
profile: 'altarch'
|
||||||
project_id: '6047887d-a395-4bc7-a0bd-fc1873b5d13d'
|
project_id: '6047887d-a395-4bc7-a0bd-fc1873b5d13d'
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
|
||||||
repo:
|
repo:
|
||||||
altarch-common:
|
altarch-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -35,15 +30,14 @@ altarch:
|
||||||
altarch-rockyrpi:
|
altarch-rockyrpi:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
- aarch64
|
- aarch64
|
||||||
altarch-devel:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
additional_dirs:
|
additional_dirs:
|
||||||
- 'images'
|
- 'images'
|
||||||
extra_files:
|
extra_files:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-altarch.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-altarch.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r9/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-altarch/-/raw/r9/'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-AltArch'
|
||||||
...
|
...
|
||||||
|
|
|
@ -4,8 +4,6 @@ cloud:
|
||||||
profile: 'cloud'
|
profile: 'cloud'
|
||||||
project_id: 'f91da90d-5bdb-4cf2-80ea-e07f8dae5a5c'
|
project_id: 'f91da90d-5bdb-4cf2-80ea-e07f8dae5a5c'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
|
||||||
repo:
|
repo:
|
||||||
cloud-kernel:
|
cloud-kernel:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -19,14 +17,14 @@ cloud:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-cloud.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-cloud.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
||||||
'9':
|
'9':
|
||||||
profile: 'cloud'
|
profile: 'cloud'
|
||||||
project_id: '15016370-1410-4459-a1a2-a1576041fd19'
|
project_id: '15016370-1410-4459-a1a2-a1576041fd19'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
|
||||||
repo:
|
repo:
|
||||||
cloud-kernel:
|
cloud-kernel:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -42,6 +40,8 @@ cloud:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-cloud.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-cloud.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r9/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-cloud/-/raw/r9/'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Cloud'
|
||||||
...
|
...
|
||||||
|
|
|
@ -2,10 +2,8 @@
|
||||||
core:
|
core:
|
||||||
'8':
|
'8':
|
||||||
profile: 'core'
|
profile: 'core'
|
||||||
project_id: '91e0dd2f-448e-4b75-9066-3946aceb60db'
|
project_id: ''
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
|
||||||
repo:
|
repo:
|
||||||
core-common:
|
core-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -19,14 +17,14 @@ core:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-core.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-core.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
||||||
'9':
|
'9':
|
||||||
profile: 'core'
|
profile: 'core'
|
||||||
project_id: '47e0b4a8-84ba-43a9-bb94-eb99dde4cf14'
|
project_id: ''
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
|
||||||
repo:
|
repo:
|
||||||
core-common:
|
core-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -44,6 +42,8 @@ core:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-core.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-core.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r9/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-core/-/raw/r9/'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Core'
|
||||||
...
|
...
|
||||||
|
|
|
@ -4,8 +4,6 @@ desktop:
|
||||||
profile: 'desktop'
|
profile: 'desktop'
|
||||||
project_id: '8b3c9b53-0633-47bd-98a3-1ca3ec141278'
|
project_id: '8b3c9b53-0633-47bd-98a3-1ca3ec141278'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
|
||||||
repo:
|
repo:
|
||||||
desktop-common:
|
desktop-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -15,14 +13,14 @@ desktop:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-desktop.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-desktop.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
||||||
'9':
|
'9':
|
||||||
profile: 'desktop'
|
profile: 'desktop'
|
||||||
project_id: 'b0460c25-22cf-496c-a3a3-067b9a2af14a'
|
project_id: 'b0460c25-22cf-496c-a3a3-067b9a2af14a'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
|
||||||
repo:
|
repo:
|
||||||
desktop-common:
|
desktop-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -32,6 +30,8 @@ desktop:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-desktop.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-desktop.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r9/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-desktop/-/raw/r9/'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Desktop'
|
||||||
...
|
...
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
---
|
|
||||||
fasttrack:
|
|
||||||
'8':
|
|
||||||
profile: 'fasttrack'
|
|
||||||
project_id: ''
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-FastTrack'
|
|
||||||
repo:
|
|
||||||
fasttrack-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack/-/raw/r8/'
|
|
||||||
branch: 'r8'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-FastTrack'
|
|
||||||
'9':
|
|
||||||
profile: 'fasttrack'
|
|
||||||
project_id: ''
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-FastTrack'
|
|
||||||
repo:
|
|
||||||
fasttrack-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-fasttrack/-/raw/r9/'
|
|
||||||
branch: 'r9'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-FastTrack'
|
|
||||||
...
|
|
|
@ -1,49 +0,0 @@
|
||||||
---
|
|
||||||
hpc:
|
|
||||||
'8':
|
|
||||||
profile: 'hpc'
|
|
||||||
project_id: '78a2db02-ebe5-4654-9a04-6482eb9c8b84'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-hpc/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-HPC'
|
|
||||||
repo:
|
|
||||||
hpc-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
hpc-core:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-hpc.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-hpc/-/raw/r8/'
|
|
||||||
branch: 'r8'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-HPC'
|
|
||||||
'9':
|
|
||||||
profile: 'hpc'
|
|
||||||
project_id: 'aee28795-e163-4a99-935d-f0a78cf33e75'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-hpc/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-HPC'
|
|
||||||
repo:
|
|
||||||
hpc-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
hpc-core:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-hpc.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-hpc/-/raw/r9/'
|
|
||||||
branch: 'r9'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-HPC'
|
|
||||||
...
|
|
|
@ -1,59 +0,0 @@
|
||||||
---
|
|
||||||
kernel:
|
|
||||||
'8':
|
|
||||||
profile: 'kernel'
|
|
||||||
project_id: '13172560-6e5d-4e65-ae71-750f99096856'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-kernel/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Kernel'
|
|
||||||
repo:
|
|
||||||
kernel-lts:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
kernel-drivers:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
kernel-mainline:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-kernel.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-kernel/-/raw/r8/'
|
|
||||||
branch: 'r8'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Kernel'
|
|
||||||
'9':
|
|
||||||
profile: 'kernel'
|
|
||||||
project_id: '708f99fe-7e89-4241-959a-4ff259786b4a'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-kernel/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Kernel'
|
|
||||||
repo:
|
|
||||||
kernel-lts:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
kernel-drivers:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
kernel-mainline:
|
|
||||||
allowed_arches:
|
|
||||||
- aarch64
|
|
||||||
- x86_64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-kernel.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-kernel/-/raw/r9/'
|
|
||||||
branch: 'r9'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Kernel'
|
|
||||||
...
|
|
|
@ -1,39 +0,0 @@
|
||||||
---
|
|
||||||
security:
|
|
||||||
'8':
|
|
||||||
profile: 'security'
|
|
||||||
project_id: '41baa8a8-7dbe-46fe-9f0b-4e2420372bbc'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-security/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Security'
|
|
||||||
repo:
|
|
||||||
security-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-security.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-security/-/raw/r8/'
|
|
||||||
branch: 'r8'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Security'
|
|
||||||
'9':
|
|
||||||
profile: 'security'
|
|
||||||
project_id: '041a90b2-51f5-44a4-8be8-b2905c1ad95b'
|
|
||||||
addtional_dirs: []
|
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-security/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Security'
|
|
||||||
repo:
|
|
||||||
security-common:
|
|
||||||
allowed_arches:
|
|
||||||
- x86_64
|
|
||||||
- aarch64
|
|
||||||
- ppc64le
|
|
||||||
- s390x
|
|
||||||
extra_files:
|
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-security.git'
|
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-security/-/raw/r9/'
|
|
||||||
branch: 'r9'
|
|
||||||
list:
|
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Security'
|
|
||||||
...
|
|
|
@ -4,8 +4,6 @@ virt:
|
||||||
profile: 'virt'
|
profile: 'virt'
|
||||||
project_id: 'd911867a-658e-4f41-8343-5ceac6c41f67'
|
project_id: 'd911867a-658e-4f41-8343-5ceac6c41f67'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r8/SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
|
||||||
repo:
|
repo:
|
||||||
virt-common:
|
virt-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -15,14 +13,14 @@ virt:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-virt.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-virt.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r8/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r8/'
|
||||||
branch: 'r8'
|
branch: 'r8'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
||||||
'9':
|
'9':
|
||||||
profile: 'virt'
|
profile: 'virt'
|
||||||
project_id: '925ceece-47ce-4f51-90f7-ff8689e4fe5e'
|
project_id: '925ceece-47ce-4f51-90f7-ff8689e4fe5e'
|
||||||
addtional_dirs: []
|
addtional_dirs: []
|
||||||
gpg_key:
|
|
||||||
- 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r9/SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
|
||||||
repo:
|
repo:
|
||||||
virt-common:
|
virt-common:
|
||||||
allowed_arches:
|
allowed_arches:
|
||||||
|
@ -33,6 +31,8 @@ virt:
|
||||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-virt.git'
|
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release-virt.git'
|
||||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r9/'
|
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release-virt/-/raw/r9/'
|
||||||
branch: 'r9'
|
branch: 'r9'
|
||||||
|
gpg:
|
||||||
|
stable: 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
||||||
list:
|
list:
|
||||||
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
- 'SOURCES/RPM-GPG-KEY-Rocky-SIG-Virt'
|
||||||
...
|
...
|
||||||
|
|
|
@ -4,7 +4,6 @@ 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.
|
||||||
|
@ -19,15 +18,19 @@ 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 is also in the case of a rebuilt ISO. This will always point
|
The third format in the list is a symlink to the "latest" ISO. Currently, this
|
||||||
to the absolute latest ISO of its type. This is used for osinfo and may be
|
is not advertised on the main site, but there may be potential for this in
|
||||||
used on our main website. This serves as a predictable method to download
|
the future as a value add.
|
||||||
the latest ISO whether from curl/wget or using libvirt that relies on osinfo
|
|
||||||
to provide the download URL.
|
|
||||||
|
|
||||||
The fourth format in the list is a symlink to the "latest" ISO. This was
|
This is "unversioned" ISO symlink is for these cases:
|
||||||
originally used as part of osinfo and has been carried over for backwards
|
|
||||||
compatibility reasons.
|
* A pre-determined download location for users/mirrors/service providers who
|
||||||
|
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:
|
||||||
|
|
||||||
|
|
|
@ -1,46 +1,20 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
# funtions
|
|
||||||
function podman_setup_dirs() {
|
|
||||||
{{ lorax_pkg_cmd }}
|
|
||||||
mkdir -p {{ compose_work_iso_dir }}/{{ arch }}
|
|
||||||
cd {{ compose_work_iso_dir }}/{{ arch }}
|
|
||||||
set +e
|
|
||||||
test -f {{ isoname }} && { echo "ERROR: ISO ALREDY EXISTS!"; exit 32; }
|
|
||||||
set -e
|
|
||||||
}
|
|
||||||
|
|
||||||
function podman_create_links() {
|
|
||||||
# symlink to unversioned image name
|
|
||||||
ln -sf {{ isoname }} {{ generic_isoname }}
|
|
||||||
ln -sf {{ isoname }} {{ latest_isoname }}
|
|
||||||
ln -sf {{ isoname }}.manifest {{ generic_isoname }}.manifest
|
|
||||||
ln -sf {{ isoname }}.manifest {{ latest_isoname }}.manifest
|
|
||||||
}
|
|
||||||
|
|
||||||
function local_setup_env() {
|
|
||||||
cd /builddir
|
|
||||||
if ! TEMPLATE="$($(head -n1 $(which lorax) | cut -c3-) -c 'import pylorax; print(pylorax.find_templates())')"; then
|
|
||||||
TEMPLATE="/usr/share/lorax"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_for_sorry() {
|
|
||||||
if xorriso -indev {{ isoname }} -report_el_torito as_mkisofs 2>&1 | grep -q SORRY; then
|
|
||||||
echo "IMAGE WAS NOT BUILT CORRECTLY"
|
|
||||||
exit 23
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
{% if extra_iso_mode == "podman" %}
|
{% if extra_iso_mode == "podman" %}
|
||||||
podman_setup_dirs
|
{{ lorax_pkg_cmd }}
|
||||||
|
mkdir -p {{ compose_work_iso_dir }}/{{ arch }}
|
||||||
|
cd {{ compose_work_iso_dir }}/{{ arch }}
|
||||||
|
test -f {{ isoname }} && { echo "ERROR: ISO ALREDY EXISTS!"; exit 1; }
|
||||||
{% else %}
|
{% else %}
|
||||||
local_setup_env
|
cd /builddir
|
||||||
|
|
||||||
|
if ! TEMPLATE="$($(head -n1 $(which lorax) | cut -c3-) -c 'import pylorax; print(pylorax.find_templates())')"; then
|
||||||
|
TEMPLATE="/usr/share/lorax"
|
||||||
|
fi
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
{{ make_image }}
|
{{ make_image }}
|
||||||
|
|
||||||
{{ isohybrid }}
|
{{ isohybrid }}
|
||||||
|
@ -49,11 +23,9 @@ local_setup_env
|
||||||
|
|
||||||
{{ make_manifest }}
|
{{ make_manifest }}
|
||||||
|
|
||||||
## Check that the ISO came out fine
|
|
||||||
set +e
|
|
||||||
check_for_sorry
|
|
||||||
set -e
|
|
||||||
|
|
||||||
{% if extra_iso_mode == "podman" %}
|
{% if extra_iso_mode == "podman" %}
|
||||||
podman_create_links
|
# symlink to unversioned image name
|
||||||
|
ln -sf {{ isoname }} {{ generic_isoname }}
|
||||||
|
ln -sf {{ isoname }}.manifest {{ generic_isoname }}.manifest
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -24,9 +24,6 @@ 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 \
|
||||||
|
|
|
@ -1,17 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
# functions
|
|
||||||
function check_for_container() {
|
|
||||||
[[ -f /run/.containerenv ]]; container_ec=$?
|
|
||||||
grep -q "0::/$" /proc/1/cgroup; pid_ec=$?
|
|
||||||
grep -q "0::/$" /proc/self/cgroup; self_ec=$?
|
|
||||||
|
|
||||||
if [[ "$pid_ec" == "0" ]] || [[ "$self_ec" == 0 ]]; then
|
|
||||||
exit 23
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
{% if live_iso_mode == "podman" %}
|
{% if live_iso_mode == "podman" %}
|
||||||
{{ live_pkg_cmd }}
|
{{ live_pkg_cmd }}
|
||||||
mkdir -p {{ compose_live_work_dir }}/{{ arch }}
|
mkdir -p {{ compose_live_work_dir }}/{{ arch }}
|
||||||
|
@ -20,32 +9,19 @@ test -f {{ isoname }} && { echo "ERROR: ISO ALREDY EXISTS!"; exit 1; }
|
||||||
|
|
||||||
major=$(grep loop /proc/devices | cut -c3)
|
major=$(grep loop /proc/devices | cut -c3)
|
||||||
for index in 0 1 2 3 4 5; do
|
for index in 0 1 2 3 4 5; do
|
||||||
mknod /dev/loop$index b $major $index
|
mknod /dev/loop$index $major $index
|
||||||
done
|
done
|
||||||
{% else %}
|
{% else %}
|
||||||
# This section is typically for mock. It is possible to run mock within a
|
|
||||||
# container, but we generally don't like this. Even though we can do this,
|
|
||||||
# it does not mean that livemedia-creator is going to work. There are ways
|
|
||||||
# around this, such as making sure the container is privileged to have loop
|
|
||||||
# devices, and the loop devices should exist on the host. After, the loop
|
|
||||||
# devices have to be cleaned up.
|
|
||||||
#
|
|
||||||
# The lorax devs have a way of doing this, but it requires privleges and
|
|
||||||
# the containers cannot be root, as far as I understand it. Having root
|
|
||||||
# containers is bad practice IMO.
|
|
||||||
#
|
|
||||||
# Even so, we don't support it. These checks are to prevent (you) from
|
|
||||||
# getting needless headaches.
|
|
||||||
set +e
|
|
||||||
check_for_container
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd /builddir
|
cd /builddir
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ git_clone }}
|
{{ git_clone }}
|
||||||
pushd /builddir/ks/live/{{ major }}/{{ arch }}/{{ kloc }} || { echo "Could not change directory"; exit 1; }
|
if [ -d "/builddir/ks/live/{{ major }}/peridot" ]; then
|
||||||
|
pushd /builddir/ks/live/{{ major }}/{{ arch }}/peridot || { echo "Could not change directory"; exit 1; }
|
||||||
|
else
|
||||||
|
pushd /builddir/ks/live/{{ major }}/{{ arch }}/stage || { echo "Could not change directory"; exit 1; }
|
||||||
|
fi
|
||||||
ksflatten -c {{ ks_file }} -o /builddir/ks.cfg
|
ksflatten -c {{ ks_file }} -o /builddir/ks.cfg
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Error flattening kickstart"
|
echo "Error flattening kickstart"
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
# Vars
|
# Vars
|
||||||
MOCK_CFG="/var/tmp/lorax-{{ releasever }}.cfg"
|
MOCK_CFG="/var/tmp/lorax-{{ major }}.cfg"
|
||||||
MOCK_ROOT="/var/lib/mock/{{ shortname|lower }}-{{ releasever }}-{{ arch }}"
|
MOCK_ROOT="/var/lib/mock/{{ shortname|lower }}-{{ major }}-{{ arch }}"
|
||||||
MOCK_RESL="${MOCK_ROOT}/result"
|
MOCK_RESL="${MOCK_ROOT}/result"
|
||||||
MOCK_CHRO="${MOCK_ROOT}/root"
|
MOCK_CHRO="${MOCK_ROOT}/root"
|
||||||
MOCK_LOG="${MOCK_RESL}/mock-output.log"
|
MOCK_LOG="${MOCK_RESL}/mock-output.log"
|
||||||
|
@ -40,7 +40,7 @@ mock \
|
||||||
|
|
||||||
mock_ret_val=$?
|
mock_ret_val=$?
|
||||||
if [ $mock_ret_val -eq 0 ]; then
|
if [ $mock_ret_val -eq 0 ]; then
|
||||||
# Copy resulting data to /var/lib/mock/{{ shortname|lower }}-{{ releasever }}-{{ arch }}/result
|
# Copy resulting data to /var/lib/mock/{{ shortname|lower }}-{{ major }}-{{ arch }}/result
|
||||||
mkdir -p "${MOCK_RESL}"
|
mkdir -p "${MOCK_RESL}"
|
||||||
cp "${MOCK_CHRO}${BUILDDIR}/${IMAGE_ISO}" "${MOCK_RESL}"
|
cp "${MOCK_CHRO}${BUILDDIR}/${IMAGE_ISO}" "${MOCK_RESL}"
|
||||||
cp "${MOCK_CHRO}${BUILDDIR}/${IMAGE_ISO}.manifest" "${MOCK_RESL}"
|
cp "${MOCK_CHRO}${BUILDDIR}/${IMAGE_ISO}.manifest" "${MOCK_RESL}"
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
<icicle>
|
<icicle>
|
||||||
<extra_command>rpm -qa --qf '%{NAME},%{VERSION},%{RELEASE},%{ARCH},%{EPOCH},%{SIZE},%{SIGMD5},%{BUILDTIME}\n'</extra_command>
|
<extra_command>rpm -qa --qf '%{NAME},%{VERSION},%{RELEASE},%{ARCH},%{EPOCH},%{SIZE},%{SIGMD5},%{BUILDTIME}\n'</extra_command>
|
||||||
</icicle>
|
</icicle>
|
||||||
{%- if architecture == 'ppc64le' -%}
|
|
||||||
<kernelparam>ip=::::::dhcp:1450</kernelparam>
|
|
||||||
{%- endif -%}
|
|
||||||
</os>
|
</os>
|
||||||
<description>Rocky-{{major}}-{{type}}-{{version_variant}}.{{iso8601date}}.{{release}}.{{architecture}} Generated on {{utcnow}}</description>
|
<description>Rocky-{{major}}-{{type}}-{{version_variant}}.{{iso8601date}}.{{release}}.{{architecture}} Generated on {{utcnow}}</description>
|
||||||
<disk>
|
<disk>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
# Vars
|
# Vars
|
||||||
MOCK_CFG="/var/tmp/lorax-{{ releasever }}.cfg"
|
MOCK_CFG="/var/tmp/lorax-{{ major }}.cfg"
|
||||||
MOCK_ROOT="/var/lib/mock/{{ shortname|lower }}-{{ releasever }}-{{ arch }}"
|
MOCK_ROOT="/var/lib/mock/{{ shortname|lower }}-{{ major }}-{{ arch }}"
|
||||||
MOCK_RESL="${MOCK_ROOT}/result"
|
MOCK_RESL="${MOCK_ROOT}/result"
|
||||||
MOCK_CHRO="${MOCK_ROOT}/root"
|
MOCK_CHRO="${MOCK_ROOT}/root"
|
||||||
MOCK_LOG="${MOCK_RESL}/mock-output.log"
|
MOCK_LOG="${MOCK_RESL}/mock-output.log"
|
||||||
|
@ -39,7 +39,7 @@ mock \
|
||||||
|
|
||||||
mock_ret_val=$?
|
mock_ret_val=$?
|
||||||
if [ $mock_ret_val -eq 0 ]; then
|
if [ $mock_ret_val -eq 0 ]; then
|
||||||
# Copy resulting data to /var/lib/mock/{{ shortname|lower }}-{{ releasever }}-{{ arch }}/result
|
# Copy resulting data to /var/lib/mock/{{ shortname|lower }}-{{ major }}-{{ arch }}/result
|
||||||
mkdir -p "${MOCK_RESL}"
|
mkdir -p "${MOCK_RESL}"
|
||||||
cp "${MOCK_CHRO}${BUILDDIR}/${LORAX_TAR}" "${MOCK_RESL}"
|
cp "${MOCK_CHRO}${BUILDDIR}/${LORAX_TAR}" "${MOCK_RESL}"
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
config_opts['root'] = '{{ shortname|lower }}-{{ releasever }}-{{ arch }}'
|
config_opts['root'] = '{{ shortname|lower }}-{{ major }}-{{ arch }}'
|
||||||
config_opts['description'] = '{{ fullname }}'
|
config_opts['description'] = '{{ fullname }}'
|
||||||
config_opts['target_arch'] = '{{ arch }}'
|
config_opts['target_arch'] = '{{ arch }}'
|
||||||
config_opts['legal_host_arches'] = ('{{ arch }}',)
|
config_opts['legal_host_arches'] = ('{{ arch }}',)
|
||||||
|
@ -9,7 +9,6 @@ config_opts['releasever'] = '{{ major }}'
|
||||||
config_opts['package_manager'] = '{{ pkgmanager|default("dnf") }}'
|
config_opts['package_manager'] = '{{ pkgmanager|default("dnf") }}'
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
||||||
# config_opts['bootstrap_image'] = 'quay.io/{{ shortname|lower }}/{{ shortname|lower }}:{{ major }}'
|
# config_opts['bootstrap_image'] = 'quay.io/{{ shortname|lower }}/{{ shortname|lower }}:{{ major }}'
|
||||||
config_opts['use_bootstrap_image'] = False
|
|
||||||
|
|
||||||
# If compose is local, the bind mounts will be here
|
# If compose is local, the bind mounts will be here
|
||||||
{% if compose_dir_is_here %}
|
{% if compose_dir_is_here %}
|
||||||
|
@ -43,7 +42,6 @@ name={{ repo.name }}
|
||||||
baseurl={{ repo.url }}
|
baseurl={{ repo.url }}
|
||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0
|
gpgcheck=0
|
||||||
priority={{ repo.priority | default(100) }}
|
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
kind: Job
|
kind: Job
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ jobname }}-{{ major }}-{{ architecture }}-{{ buildTime }}
|
name: {{ jobname }}-{{ major }}-{{ architecture }}
|
||||||
namespace: {{ namespace }}
|
namespace: {{ namespace }}
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
|
@ -13,7 +13,6 @@ spec:
|
||||||
containers:
|
containers:
|
||||||
- name: {{ jobname }}-{{ major }}-{{ architecture }}
|
- name: {{ jobname }}-{{ major }}-{{ architecture }}
|
||||||
image: {{ imageName }}
|
image: {{ imageName }}
|
||||||
imagePullPolicy: Always
|
|
||||||
command: ["/bin/bash", "-c"]
|
command: ["/bin/bash", "-c"]
|
||||||
args:
|
args:
|
||||||
- |
|
- |
|
||||||
|
@ -53,8 +52,6 @@ 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
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user