Compare commits

..

30 commits

Author SHA1 Message Date
Christian Kellner
05394da2b2 22 upstream release
no spec file changes.
2020-10-12 16:39:41 +02:00
Christian Kellner
2a8c87aa83 21 upstream release 2020-09-10 15:20:57 +02:00
Christian Kellner
3279d1f999 20 upstream release 2020-08-13 18:59:50 +02:00
Christian Kellner
0720c5d0ca 19 upstream release
Sandboxing mechanism changed from systemd-nspawn to bubblewrap,
change requirements accordingly.
Drop no-floats-in-sources.patch, included in the release.
2020-08-07 14:47:52 +02:00
Christian Kellner
7a935cefc7 sources: fix missing newline 2020-06-26 14:29:38 +02:00
Christian Kellner
1b9ae1e305 Add a patch to not use floats in sources
Do not pass floats to curl, because the format of the float is
locale specific (comma vs dot) but curl only likes dots. See
the patch for details.
2020-06-26 14:17:47 +02:00
Christian Kellner
44cef34e6a 18 upstream release
All RHEL runners use platform-python now.
Add a custom SELinux policy, shipped in a new osbuild-selinux
subpackage, to allow setting labels unknown to the host.
2020-06-26 14:17:45 +02:00
Christian Kellner
2028c5016a 16 upstream release
Drop sources-fix-break-when-secrets-is-None.patch patch included
upstream.
2020-06-05 10:41:44 +02:00
Christian Kellner
c038953185 Patch added to allow new files source format
Add a patch to allow org.osbuild.files source in the new format
but without actually containing the secrets key.
Taken from merged PR: https://github.com/osbuild/osbuild/pull/416
2020-05-26 19:33:34 +02:00
Christian Kellner
036cd44b00 15 upstream release
no spec file changes.
2020-05-21 11:41:24 +02:00
Christian Kellner
a07f776641 gating: don't gate on dist.*
Taskotron is End-of-Life since 2020-04-30 and thus we don't have
any dist.* checks; at least for now. Remove it.

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TRQZCXI5IZH3GLJTCO56SMBX5UY6J6LL/
2020-05-21 11:41:24 +02:00
Christian Kellner
3a5d1e994d Install schemata
Install schemata to <datadir>/osbuild/schemas and include a
symlink to it in /usr/lib/osbuild/schemas.
This is needed otherwise schema validation will not work.
2020-05-06 21:06:45 +02:00
Christian Kellner
4a7f089bb3 14 upstream release
Remove the /usr/lib/osbuild/{assemblers, stages}/osbuild dirs.
NB: Release 13 got skipped since it replaced aforementioned
directories with symlinks and that would have required a
%pretrans script. osbuild was adjusted to use a different
mechanism to locate the osbuild module inside the container
rendering the symlinks (or 'osbuild' directories) obsolete.
2020-05-06 20:45:55 +02:00
Christian Kellner
7d308c7f7f 12 upstream release
Specify the exact version in the 'python3-osbuild' requirement
to avoid the library and the main binary being out of sync.
Add osbuild-ostree sub-package with the necessary bits to create
OSTree based images.
2020-04-15 21:51:10 +02:00
Christian Kellner
926c5e271b tests: adjust image test name
The sample file got renamed: base-rpm-qcow2.json → base-qcow2.json
Do the same in the test or gating will file.
2020-04-15 21:51:10 +02:00
Christian Kellner
e88a07e6b1 gating: drop dist.depcheck
Although mentioned in the docs, this check is obsolete[1] but the
replacement[2] seems to be not running as well, so just drop that
check.

[1] https://fedoraproject.org/wiki/Taskotron/Tasks/dist.depcheck
[2] https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmdeplint
2020-04-02 15:57:52 +02:00
Christian Kellner
b2fbab5486 tests: try to actually build an image
Run osbuild and try to build one of the samples provided, i.e.
source/samples/base-rpm-qcow2.json.
2020-04-02 15:55:48 +02:00
Christian Kellner
24d24233f4 11 upstream release
Turn of dependency generator for internal components since those
were generating a dependency for python3.6 due to the rhel runner.
2020-04-02 14:37:42 +02:00
Christian Kellner
fda246374e ci: add smoke test and enable gating
Add a simple smoke test that currently just executes osbuild with
the '--help' option to check that it can run at all.
Gate for rawhide (via bodhi_update_push_stable) and for stable
(via bodhi_update_push_testing) on a minimum of dist checks as
well as the smoke test above.
2020-04-02 14:37:42 +02:00
Christian Kellner
c91f4a19ec 10 upstream release
Following changes:
  - build and include man pages, this adds 'make' and
    'python3-docutils' to the build requirements
  - add NEWS.md file with the release notes

Minor whitespace cleanups and correction of the previous changelog
entry that had the wrong version number.
2020-03-19 11:00:06 +01:00
Christian Kellner
96f875e749 9 upstream release
- Remove host runner links, now being auto-detected
- Cleanup spec file to not mix spaces and tabs
2020-03-05 14:06:59 +01:00
Tom Gundersen
c8a262b0be 8: new sources
Signed-off-by: Tom Gundersen <teg@jklm.no>
2020-02-24 13:22:12 +01:00
Tom Gundersen
f7e04adaf5 8 upstream release
Signed-off-by: Tom Gundersen <teg@jklm.no>
2020-02-24 13:22:12 +01:00
Fedora Release Engineering
aafcd86209 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-02-24 13:22:12 +01:00
Packit Service
18d8e3ac5e [packit] 7 upstream release
Upstream tag: 7
Upstream commit: 5b77048e9753b36005704bf44dfcfb773d207d3b

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2020-02-24 13:22:12 +01:00
Tom Gundersen
59f3bb5370 6 upstream release
Signed-off-by: Tom Gundersen <teg@jklm.no>
2020-02-24 13:22:12 +01:00
Lars Karlitski
058fc5fbea [packit] 5 upstream release
Upstream tag: 5
Upstream commit: 1f526477d27ead42360c5bf2e499f3d0f90c0ef2

Signed-off-by: Lars Karlitski <lars@karlitski.net>
2019-10-30 19:27:47 +01:00
Tom Gundersen
910ee65ce2 [packit] 4 upstream release
Upstream tag: 4
Upstream commit: f87e1bfb9887462f5a193c80422e59e653b5d52a

Signed-off-by: Tom Gundersen <teg@jklm.no>
2019-10-16 16:12:51 +01:00
Lars Karlitski
12af8a5f24 [packit] 3 upstream release
Upstream tag: 3
Upstream commit: cd49e2407c83f7fcdf30566af5f7ab470d801e19

Signed-off-by: Lars Karlitski <lars@karlitski.net>
2019-10-16 16:12:40 +01:00
Martin Sehnoutka
b5d5b56b66 [packit] 2 upstream release
Upstream tag: 2
Upstream commit: 209d3fa437678eb79da30ac21659fb01321eeb1a

Signed-off-by: Martin Sehnoutka <msehnout@redhat.com>
2019-09-18 10:43:06 +02:00
21 changed files with 165 additions and 38888 deletions

View file

@ -1 +0,0 @@
1

130
.gitignore vendored
View file

@ -20,133 +20,3 @@
/osbuild-20.tar.gz
/osbuild-21.tar.gz
/osbuild-22.tar.gz
/osbuild-23.tar.gz
/osbuild-24.tar.gz
/osbuild-25.tar.gz
/osbuild-26.tar.gz
/osbuild-27.tar.gz
/osbuild-28.tar.gz
/osbuild-29.tar.gz
/osbuild-30.tar.gz
/osbuild-31.tar.gz
/osbuild-32.tar.gz
/osbuild-33.tar.gz
/osbuild-35.tar.gz
/osbuild-36.tar.gz
/osbuild-37.tar.gz
/osbuild-38.tar.gz
/osbuild-39.tar.gz
/osbuild-40.tar.gz
/osbuild-41.tar.gz
/osbuild-42.tar.gz
/osbuild-43.tar.gz
/osbuild-44.tar.gz
/osbuild-45.tar.gz
/osbuild-46.tar.gz
/osbuild-47.tar.gz
/osbuild-48.tar.gz
/osbuild-49.tar.gz
/osbuild-50.tar.gz
/osbuild-51.tar.gz
/osbuild-52.tar.gz
/osbuild-53.tar.gz
/osbuild-54.tar.gz
/osbuild-55.tar.gz
/osbuild-53.1.tar.gz
/osbuild-56.tar.gz
/osbuild-57.tar.gz
/osbuild-58.tar.gz
/osbuild-59.tar.gz
/osbuild-60.tar.gz
/osbuild-61.tar.gz
/osbuild-62.tar.gz
/osbuild-63.tar.gz
/osbuild-64.tar.gz
/osbuild-65.tar.gz
/osbuild-66.tar.gz
/osbuild-67.tar.gz
/osbuild-68.tar.gz
/osbuild-69.tar.gz
/osbuild-70.tar.gz
/osbuild-71.tar.gz
/osbuild-72.tar.gz
/osbuild-73.tar.gz
/osbuild-74.tar.gz
/osbuild-75.tar.gz
/osbuild-76.tar.gz
/osbuild-77.tar.gz
/osbuild-78.tar.gz
/osbuild-79.tar.gz
/osbuild-80.tar.gz
/osbuild-81.tar.gz
/osbuild-82.tar.gz
/osbuild-83.tar.gz
/osbuild-84.tar.gz
/osbuild-85.tar.gz
/osbuild-86.tar.gz
/osbuild-87.tar.gz
/osbuild-88.tar.gz
/osbuild-89.tar.gz
/osbuild-90.tar.gz
/osbuild-91.tar.gz
/osbuild-92.tar.gz
/osbuild-93.tar.gz
/osbuild-94.tar.gz
/osbuild-95.tar.gz
/osbuild-96.tar.gz
/osbuild-97.tar.gz
/osbuild-98.tar.gz
/osbuild-99.tar.gz
/osbuild-100.tar.gz
/osbuild-101.tar.gz
/osbuild-102.tar.gz
/osbuild-103.tar.gz
/osbuild-104.tar.gz
/osbuild-105.tar.gz
/osbuild-106.tar.gz
/osbuild-109.tar.gz
/osbuild-110.tar.gz
/osbuild-111.tar.gz
/osbuild-112.tar.gz
/osbuild-113.tar.gz
/osbuild-114.tar.gz
/osbuild-115.tar.gz
/osbuild-117.tar.gz
/osbuild-118.tar.gz
/osbuild-119.tar.gz
/osbuild-122.tar.gz
/osbuild-123.tar.gz
/osbuild-124.tar.gz
/osbuild-125.tar.gz
/osbuild-126.tar.gz
/osbuild-129.tar.gz
/osbuild-130.tar.gz
/osbuild-131.tar.gz
/osbuild-132.tar.gz
/osbuild-135.tar.gz
/osbuild-136.tar.gz
/osbuild-137.tar.gz
/osbuild-138.tar.gz
/osbuild-139.tar.gz
/osbuild-140.tar.gz
/osbuild-141.tar.gz
/osbuild-142.tar.gz
/osbuild-143.tar.gz
/osbuild-144.tar.gz
/osbuild-146.tar.gz
/osbuild-147.tar.gz
/osbuild-149.tar.gz
/osbuild-151.tar.gz
/osbuild-152.tar.gz
/osbuild-153.tar.gz
/osbuild-155.tar.gz
/osbuild-156.tar.gz
/osbuild-158.tar.gz
/osbuild-159.tar.gz
/osbuild-161.tar.gz
/osbuild-162.tar.gz
/osbuild-163.tar.gz
/osbuild-164.tar.gz
/osbuild-166.tar.gz
/osbuild-167.tar.gz
/osbuild-169.tar.gz

View file

@ -1,66 +1,37 @@
# https://packit.dev/docs/configuration/
# we have the specfile in the root of our repository
specfile_path: osbuild.spec
files_to_sync:
- osbuild.spec
- .packit.yaml
upstream_package_name: osbuild
# when doing an update in Fedora, we want to copy the spec file and the config file
synced_files:
- osbuild.spec
- .packit.yaml
upstream_project_name: osbuild
downstream_package_name: osbuild
copy_upstream_release_description: true
upstream_tag_template: v{version}
srpm_build_deps: []
actions:
get-current-version: bash -c "git describe --tags --abbrev=0 | sed 's|v||'"
# Handle only releases without a "dot" (e.g. v88.2), since "dot" releases should never be released to Fedora
# "dot" releases are used only for "backports" to RHEL.
upstream_tag_include: 'v\d+'
jobs:
- &copr
job: copr_build
trigger: pull_request
targets:
- centos-stream-9-aarch64
- centos-stream-9-s390x
- centos-stream-9-pcc64le
- centos-stream-9-x86_64
- centos-stream-10-aarch64
- centos-stream-10-s390x
- centos-stream-10-ppc64le
- centos-stream-10-x86_64
- epel-8-aarch64
- epel-8-x86_64
- epel-9-aarch64
- epel-9-x86_64
- fedora-all-aarch64
- fedora-all-s390x
- fedora-all-ppc64le
- fedora-all
- <<: *copr
trigger: commit
branch: main
owner: "@osbuild" # copr repo namespace
project: osbuild # copr repo name so you can consume the builds
- <<: *copr
trigger: release
branch: main
owner: "@osbuild" # copr repo namespace
project: osbuild-stable # copr repo name so you can consume the builds
- job: propose_downstream
trigger: release
dist_git_branches:
- fedora-all
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-all
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched # rawhide updates are created automatically
# trigger a COPR build for push events in open PRs
- job: copr_build
trigger: pull_request
metadata:
targets:
- fedora-30-x86_64
- fedora-31-x86_64
- fedora-rawhide-x86_64
# this is triggered by a commit on src.fedoraproject.org, not Github!
# e.g. in case of mass rebuild or automated changes of spec file (e.g. Python packagers)
# it will create a PR on Github with changes in synchronized files
- job: sync_from_downstream
trigger: commit
# create a PR on src.fedoraproject.org containing updated spec file and new sources (tarball)
# triggered by Github release
- job: propose_downstream
trigger: release
metadata:
dist-git-branch: master
# The same as above only for f31
- job: propose_downstream
trigger: release
metadata:
dist-git-branch: f31
- job: propose_downstream
trigger: release
metadata:
dist-git-branch: f30

View file

@ -1,40 +0,0 @@
From 54c0a2cce45ad385d793d494e62222cd254a866a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
Date: Wed, 31 Jul 2024 18:12:24 +0200
Subject: [PATCH] Test/dnf4.mark: adjust the test for markings used by DNF5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When I rolled back from using 'dnf4', to check package markings, to
using 'dnf', I didn't verify the test case on Fedora Rawhide with DNF5.
It turns out that the strings reported by DNF5 differ and make the test
case fail. This time I tested the change on Fedora Rawhide with DNF5 and
it works.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
---
test/run/test_stages.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/test/run/test_stages.py b/test/run/test_stages.py
index dc91bf8f..7fec10c8 100644
--- a/test/run/test_stages.py
+++ b/test/run/test_stages.py
@@ -565,9 +565,11 @@ class TestStages(test.TestBase):
raise
if package == "dnf":
- assert mark == "user"
+ # dnf4 marks packages as 'user', while dnf5 marks them as 'User'
+ assert mark in ("user", "User")
else:
- assert mark == "unknown"
+ # dnf4 marks packages as 'unknown', while dnf5 marks them as 'External User'
+ assert mark in ("unknown", "External User")
@unittest.skipUnless(test.TestBase.has_filesystem_support("btrfs"), "btrfs needed")
def test_btrfs(self):
--
2.45.2

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.14.0.post1.dev2+g6506c7467.
The file was generated using packit 0.7.2.dev96+g8ed72cd.

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
summary: Run osbuild integration tests
prepare:
how: install
package:
- osbuild
discover:
how: fmf
filter: tag:integration-test
execute:
how: tmt

View file

@ -1,13 +0,0 @@
summary: Run osbuild unit tests from dist-git sources
prepare:
how: install
package:
- git
- make
- osbuild
discover:
how: fmf
dist-git-source: true
filter: tag:unit-test
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (osbuild-169.tar.gz) = 981b6dae05d0f1fe0475549b5c72c2adafb656a7b9f3dbdf64fe660fe0852166bf327f654192f7f83583e2d559590b98dac8aba226e8203c3a0af274d51b33cf
SHA512 (osbuild-22.tar.gz) = 76b2efb083b2c372251b20185f76d59336fd3ddb4dfcf9b33f825a9f93c5dd2449ae2321fcdca1d9d3b0fc9f4547e5850d11b7137e92793d766c6e9383cb2703

View file

@ -1,52 +0,0 @@
#!/usr/bin/bash
set -euxo pipefail
MANIFESTS_DIR=$1
# check that MANIFESTS_DIR is a directory
if [ ! -d "$MANIFESTS_DIR" ]; then
echo "Error: $MANIFESTS_DIR is not a directory"
exit 1
fi
# ensure that we are running on x86_64 architecture
if [ "$(uname -m)" != "x86_64" ]; then
echo "Error: this script is only supported on x86_64 architecture"
exit 1
fi
. /etc/os-release
case "${ID}-${VERSION_ID}" in
fedora-*)
IMAGE_MANIFEST="${MANIFESTS_DIR}/fedora.json"
;;
rhel-8.*)
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-8.json"
;;
rhel-9.*)
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-9.json"
;;
centos-8)
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-8.json"
;;
centos-9)
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-9.json"
;;
centos-10)
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-10.json"
;;
*)
echo "Error: unsupported OS: ${ID}-${VERSION_ID}"
exit 1
;;
esac
OUTPUT_DIR=/var/tmp/osbuild-output
STORE_DIR=/var/tmp/osbuild-store
sudo mkdir -p "${OUTPUT_DIR}"
sudo mkdir -p "${STORE_DIR}"
# all the images are built with qcow2 format, so export it
EXPORT_PIPELINE="qcow2"
sudo osbuild --output-directory "${OUTPUT_DIR}" --store "${STORE_DIR}" --export "${EXPORT_PIPELINE}" "${IMAGE_MANIFEST}"

View file

@ -1,4 +0,0 @@
summary: Build simple image using osbuild
tag: integration-test
duration: 1h
test: ./build-images.sh ./manifests

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

19
tests/tests.yml Normal file
View file

@ -0,0 +1,19 @@
---
- hosts: localhost
roles:
- role: standard-test-source
tags:
- always
- role: standard-test-basic
tags:
- atomic
- classic
required_packages:
- osbuild
tests:
- smoke:
dir: smoke
run: osbuild --help
- image:
dir: .
run: osbuild source/samples/base-qcow2.json

View file

@ -1,4 +0,0 @@
summary: Run osbuild unit tests from dist-git sources
tag: unit-test
duration: 4h
test: ./prep-host-environment.sh; sudo chcon $(matchpathcon -n /usr/bin/osbuild) ./run-unit-tests.sh; ./run-unit-tests.sh

View file

@ -1,35 +0,0 @@
#!/usr/bin/bash
# Prepare the host environment for running the osbuild unit tests.
# This includes installing missing dependencies and tools.
set -euxo pipefail
source /etc/os-release
# Move to the checked out git repo with the test plans
# this should be the root of the dist-git repo
cd "${TMT_TREE}"
# install all test dependencies
sudo dnf install -y \
rpmdevtools \
python3-mako \
python3-pip \
rpm-ostree \
dosfstools \
gdisk \
python3-tomli-w
sudo dnf builddep -y osbuild.spec
# Install pytst from pip, because the version in some RHEL / CentOS releases is too old
sudo pip3 install pytest
# Make sure that /usr/lib/systemd/boot/efi/linuxx64.efi.stub is available to enable pe32p tests
case "${ID}-${VERSION_ID}" in
rhel-8.* | centos-8)
sudo dnf install -y systemd-udev
;;
*)
sudo dnf install -y systemd-boot-unsigned
;;
esac

View file

@ -1,55 +0,0 @@
#!/usr/bin/bash
# Execute osbuild unit tests from a checked out dist-git repo
set -euxo pipefail
source /etc/os-release
# The 'test/run/test_assemblers.py::test_tar' test case uses system tar to extract the built tar archive.
# However, files in the tar archive can have SELinux context not present in the system policy. Therefore,
# in order for the system tar to be able to set it when extracting the archive, it must be labeled with
# 'install_exec_t' type.
ORIGINAL_TAR_CONTEXT="$(matchpathcon -n "$(which tar)")"
sudo chcon "system_u:object_r:install_exec_t:s0" "$(which tar)"
function restore_tar_context() {
sudo chcon "${ORIGINAL_TAR_CONTEXT}" "$(which tar)"
}
trap restore_tar_context EXIT
# Run the unit tests
# Note:
# - Ignore the boot test, because it requires qemu-system-x86_64 not available on all distributions.
# - Ignore source code tests, which run linters, since we can't ensure that all linters are available
# and of the same version as in upstream.
# - Explicitly mark btrfs as unsupported on CentOS / RHEL
if [ "${ID}" == "centos" ] || [ "${ID}" == "rhel" ]; then
UNSUPPORTED_FS="--unsupported-fs btrfs"
fi
TEST_SELECTION_EXPR="not (TestBoot and boot)"
# disable some tests on RHEL-8
if ([ "${ID}" == "rhel" ] || [ "${ID}" == "centos" ]) && [ "${VERSION_ID%%.*}" == "8" ]; then
# qemu-img info in RHEL-8 produces "raw" as the image format for "vdi" images, which causes tests to fail. Skip it.
TEST_SELECTION_EXPR="${TEST_SELECTION_EXPR} and not (test_qemu[ext4-vdi] or test_qemu[xfs-vdi])"
TEST_SELECTION_EXPR="${TEST_SELECTION_EXPR} and not (TestStages and test_qemu)"
fi
# Move to the directory with sources
cd "${TMT_SOURCE_DIR}"
# Extract the Source0 basename without extension
SRC_DIR=$(spectool --source 0 osbuild.spec | sed 's/.\+\(osbuild-[0-9]\+\)\.tar\.gz/\1/')
# Move to the extracted sources directory (patches are applied by default)
cd "${SRC_DIR}"
sudo python3 -m pytest \
--rootdir "$(pwd)" \
--ignore "$(pwd)/test/src" \
${UNSUPPORTED_FS:-} \
-k "${TEST_SELECTION_EXPR}" \
-v \
"$(pwd)/test/"