Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

9 changed files with 344 additions and 109 deletions

View File

@ -1 +0,0 @@
a02f0bb9e9131b7369fa4f6ea5e74c7f7e4c18c5 SOURCES/bolt-0.9.1.tar.gz

28
.gitignore vendored
View File

@ -1 +1,27 @@
SOURCES/bolt-0.9.1.tar.gz bolt-*/
x86_64/
results_bolt/
*.log
*.rpm
#testing
tests/artifacts/
tests/source/
#tarballs
/bolt-0.1.tar.gz
/bolt-0.2.tar.gz
/bolt-0.3.tar.gz
/bolt-0.4.tar.gz
/bolt-0.5.tar.gz
/bolt-0.6.tar.gz
/bolt-0.7.tar.gz
/bolt-0.8.tar.gz
/bolt-0.9.tar.gz
/bolt-0.9.1.tar.gz
/bolt-0.9.2.tar.gz
/bolt-0.9.3.tar.gz
/bolt-0.9.5.tar.gz
/bolt-0.9.6.tar.gz
/bolt-0.9.7.tar.gz
/bolt-0.9.8.tar.gz

View File

@ -0,0 +1,31 @@
From 74eace0d89b63be92615364568ba36ad7d748477 Mon Sep 17 00:00:00 2001
From: Kate Hsuan <hpa@redhat.com>
Date: Tue, 14 Feb 2023 16:25:04 +0800
Subject: [PATCH] test: test-unix: skip unix domain socket test
Skip the test since we can't test unix domain socket in mock.
---
tests/test-unix.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/tests/test-unix.c b/tests/test-unix.c
index 98de3db..366488f 100644
--- a/tests/test-unix.c
+++ b/tests/test-unix.c
@@ -198,13 +198,6 @@ main (int argc, char **argv)
test_pid_is_alive,
NULL);
- g_test_add ("/common/unix/bolt_sd_notify",
- TestNotify,
- NULL,
- test_notify_setup,
- test_sd_notify,
- test_notify_teardown);
-
g_test_add ("/common/unix/sd_watchdog_enabled",
TestDummy,
NULL,
--
2.39.1

View File

@ -1,107 +0,0 @@
Name: bolt
Version: 0.9.1
Release: 1%{?dist}
Summary: Thunderbolt device manager
License: LGPLv2+
URL: https://gitlab.freedesktop.org/bolt/bolt
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: asciidoc
BuildRequires: meson
BuildRequires: libudev-devel
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: polkit-devel
BuildRequires: systemd
%{?systemd_requires}
%description
bolt is a system daemon to manage Thunderbolt devices via a D-BUS
API. Thunderbolt 3 introduced different security modes that require
devices to be authorized before they can be used. The D-Bus API can be
used to list devices, enroll them (authorize and store them in the
local database) and forget them again (remove previously enrolled
devices). It also emits signals if new devices are connected (or
removed). During enrollment devices can be set to be automatically
authorized as soon as they are connected. A command line tool, called
boltctl, can be used to control the daemon and perform all the above
mentioned tasks.
%prep
%autosetup -p1
%build
%meson -Ddb-name=boltd
%meson_build
%check
%meson_test
%install
%meson_install
install -m0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/boltd
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%license COPYING
%doc README.md CHANGELOG.md
%{_bindir}/boltctl
%{_libexecdir}/boltd
%{_unitdir}/%{name}.service
%{_udevrulesdir}/*-%{name}.rules
%{_datadir}/dbus-1/system.d/org.freedesktop.bolt.conf
%{_datadir}/dbus-1/interfaces/org.freedesktop.bolt.xml
%{_datadir}/polkit-1/actions/org.freedesktop.bolt.policy
%{_datadir}/polkit-1/rules.d/org.freedesktop.bolt.rules
%{_datadir}/dbus-1/system-services/org.freedesktop.bolt.service
%{_mandir}/man1/boltctl.1*
%{_mandir}/man8/boltd.8*
%ghost %dir %{_localstatedir}/lib/boltd
%changelog
* Wed Jan 13 2021 Christian Kellner <ckellner@redhat.com> - 0.9.1-1
- bolt 0.9 upstream release
- Update description with less emphasis on Thunderbolt version
* Mon Jun 15 2020 Christian Kellner <ckellner@redhat.com> - 0.9-1
- bolt 0.9 upstream release
* Fri Jun 14 2019 Christian Kellner <ckellner@redhat.com> - 0.8-2
- Rebuilt for fixed gating.yaml (remove missing tier1 gate)
* Thu Jun 13 2019 Christian Kellner <ckellner@redhat.com> - 0.8-1
- bolt 0.8 upstream release with pre-boot ACL and IOMMU support
D-Bus Configuration moved from sysconfdir to datadir
Resolves: #1629715
* Wed Jul 18 2018 Christian Kellner <ckellner@redhat.com> - 0.4-1
- bolt 0.4 upstream release
- Remove optional test dependencies
* Tue Apr 10 2018 Christian Kellner <ckellner@redhat.com> - 0.3-1
- bolt 0.3 upstream release
- Update BuildRequires to include gcc
- Use forge macros
* Tue Mar 6 2018 Christian Kellner <ckellner@redhat.com> - 0.2-1
- bolt 0.2 upstream release
- Update BuildRequires dependencies.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Dec 17 2017 Christian Kellner <ckellner@redhat.com> - 0.1-2
- Set database path to /var/lib/boltd, create it during
installation, which is needed for the service file to work.
* Thu Dec 14 2017 Christian Kellner <ckellner@redhat.com> - 0.1-1
- Initial upstream release

205
bolt.spec Normal file
View File

@ -0,0 +1,205 @@
Name: bolt
Version: 0.9.8
Release: 3%{?dist}
Summary: Thunderbolt device manager
License: LGPLv2+
URL: https://gitlab.freedesktop.org/bolt/bolt
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-test-test-unix-skip-unix-domain-socket-test.patch
BuildRequires: gcc
BuildRequires: asciidoc
BuildRequires: meson
BuildRequires: libudev-devel
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(systemd)
BuildRequires: polkit-devel
BuildRequires: systemd
%{?systemd_requires}
# for the integration test (optional)
%if 0%{?fedora} || 0%{?rhel} > 8
BuildRequires: pygobject3-devel
BuildRequires: python3-dbus
BuildRequires: python3-dbusmock
BuildRequires: umockdev-devel
%endif
%description
bolt is a system daemon to manage Thunderbolt devices via a D-BUS
API. Thunderbolt 3 introduced different security modes that require
devices to be authorized before they can be used. The D-Bus API can be
used to list devices, enroll them (authorize and store them in the
local database) and forget them again (remove previously enrolled
devices). It also emits signals if new devices are connected (or
removed). During enrollment devices can be set to be automatically
authorized as soon as they are connected. A command line tool, called
boltctl, can be used to control the daemon and perform all the above
mentioned tasks.
%prep
%autosetup -p1
%build
%meson -Ddb-name=boltd
%meson_build
%check
%meson_test
%install
%meson_install
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%license COPYING
%doc README.md CHANGELOG.md
%{_bindir}/boltctl
%{_libexecdir}/boltd
%{_unitdir}/%{name}.service
%{_udevrulesdir}/*-%{name}.rules
%{_datadir}/dbus-1/system.d/org.freedesktop.bolt.conf
%{_datadir}/dbus-1/interfaces/org.freedesktop.bolt.xml
%{_datadir}/polkit-1/actions/org.freedesktop.bolt.policy
%{_datadir}/polkit-1/rules.d/org.freedesktop.bolt.rules
%{_datadir}/dbus-1/system-services/org.freedesktop.bolt.service
%{_mandir}/man1/boltctl.1*
%{_mandir}/man8/boltd.8*
%ghost %dir %{_localstatedir}/lib/boltd
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0.9.8-3
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 0.9.8-2
- Bump release for June 2024 mass rebuild
* Wed May 22 2024 Kate Hsuan <hpa@redhat.com> - 0.9.8-1
- A new NHI for REMBRANDT.
- systemd configuration improvement.
- Resolve: RHEL-34699
* Tue Mar 26 2024 Kate Hsuan <hpa@redhat.com> - 0.9.7-1
- Update to upstream release 0.9.7
- Support 'nopcie' security level
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Sep 13 2023 Kate Hsuan <hpa@redhat.com> - 0.9.6-1
- Update 0.9.6 release
- Fixing for compiler warning and log message issues
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Feb 14 2023 Kate hsuan <hpa@redhat.com> - 0.9.5-1
- Updated to upstream version
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Aug 23 2022 Simon Steinbeiss <simon.steinbeiss@redhat.com> - 0.9.3-1
- New upstream release
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 27 2022 Christian Kellner <ckellner@redhat.com> - 0.9.2-1
- bolt 0.9.2 release
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.1-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 1 2020 Christian Kellner <ckellner@redhat.com> - 0.9.1-1
- bolt 0.9.1 release
- Update description with less emphasis on Thunderbolt version
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 15 2020 Christian Kellner <ckellner@redhat.com> - 0.9-1
- bolt 0.9 release
Drop all patches (all merged upstream).
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 23 2020 Christian Kellner <christian@kellner.me> - 0.8-3
- Add patch to ignore uevents from wakeup devices. See upstream issue
https://gitlab.freedesktop.org/bolt/bolt/issues/156
- Add patch to fix BoltError not being a typedef.
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jun 13 2019 Christian Kellner <ckellner@redhat.com> - 0.8-1
- bolt 0.8 release
D-Bus Configuration moved from sysconfdir to datadir.
Package new CHNAGELOG.md.
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jan 1 2019 Christian Kellner <gicmo@redhat.com> - 0.7-1
- bolt 0.7 release
* Wed Nov 28 2018 Christian Kellner <ckellner@redhat.com> - 0.6-1
- bolt 0.6 release
* Fri Sep 21 2018 Christian Kellner <ckellner@redhat.com> - 0.5-1
- bolt 0.5 release
- Remove forge macros again and use gitlab as authorative source
- Testing depedencies are now only pulled in on Fedora
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon May 28 2018 Christian Kellner <ckellner@redhat.com> - 0.4-1
- bolt 0.4 upstream release
* Tue Apr 10 2018 Christian Kellner <ckellner@redhat.com> - 0.3-1
- bolt 0.3 upstream release
- Update BuildRequires to include gcc
- Use forge macros
* Tue Mar 6 2018 Christian Kellner <ckellner@redhat.com> - 0.2-1
- bolt 0.2 upstream release
- Update BuildRequires dependencies.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Dec 17 2017 Christian Kellner <ckellner@redhat.com> - 0.1-2
- Set database path to /var/lib/boltd, create it during
installation, which is needed for the service file to work.
* Thu Dec 14 2017 Christian Kellner <ckellner@redhat.com> - 0.1-1
- Initial upstream release

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (bolt-0.9.8.tar.gz) = ca3f1859b01f1370f508696192050231f5ced9a3c10eaa8d508b130f9202cc9161eb50e6884a8818c284f23bdc9d7cb6662442cd04d9d7eb8aeca1a1c0d5c060

51
tests/run-it.sh Executable file
View File

@ -0,0 +1,51 @@
#!/usr/bin/bash
set -u
# helper functions
vcmp_lt () {
# argument $1 is less than $2
MV=$(echo "$@" | tr " " "\n" | sort -rV | head -n1)
test "$1" != "$MV"
}
# main script
IT="${1:-source/tests/test-integration}"
# check if we need to install additional packages
# which is the case if we are on RHEL 8
source /etc/os-release || exit 1
if [[ "$ID" = *"rhel"* ]] && [[ "$VERSION_ID" == *"8"* ]]; then
dnf config-manager -y --add-repo umockdev.repo
dnf install -y umockdev-devel python3-gobject-base
pip3 install python-dbusmock
fi
BOLT_VERSION=$(boltctl --version | cut -d " " -f2)
# check if we can even discover the tests
"$IT" list-tests > /dev/null || exit 1
# The format of "list-tests" changed with 0.6
if vcmp_lt $BOLT_VERSION 0.6; then
echo "Old style integration test names"
DELIM=" "
else
DELIM=$'\n'
fi
# discover all the tests
declare -a TESTS=()
while IFS= read -r -d "$DELIM" line; do
TESTS+=( "${line% *}" )
done < <( $IT list-tests )
# execute all the tests, one by one
RESULT=0
for test in ${TESTS[@]}; do
echo "$test"
umockdev-wrapper "$IT" "$test"
((RESULT += $?))
done
exit $RESULT

23
tests/tests.yml Normal file
View File

@ -0,0 +1,23 @@
---
- hosts: localhost
roles:
- role: standard-test-source
tags:
- always
- role: standard-test-basic
tags:
- atomic
- classic
required_packages:
- bolt
- pygobject3-devel
- python3-dbus
- python3-dbusmock
- umockdev-devel
tests:
- smoke:
dir: smoke
run: boltctl --version
- integration:
dir: .
run: ./run-it.sh source/tests/test-integration