diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index a5c3b29..72f3671 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,36 @@ /0.15.1.tar.gz /0.15.3.tar.gz /0.15.4.tar.gz +/umockdev-0.15.5.tar.xz +/umockdev-0.16.0.tar.xz +/umockdev-0.16.1.tar.xz +/umockdev-0.16.2.tar.xz +/umockdev-0.16.3.tar.xz +/umockdev-0.17.0.tar.xz +/umockdev-0.17.1.tar.xz +/umockdev-0.17.2.tar.xz +/umockdev-0.17.5.tar.xz +/umockdev-0.17.6.tar.xz +/umockdev-0.17.7.tar.xz +/umockdev-0.17.8.tar.xz +/umockdev-0.17.9.tar.xz +/umockdev-0.17.10.tar.xz +/umockdev-0.17.12.tar.xz +/umockdev-0.17.13.tar.xz +/umockdev-0.17.15.tar.xz +/umockdev-0.17.16.tar.xz +/umockdev-0.17.17.tar.xz +/umockdev-0.17.18.tar.xz +/umockdev-0.18.0.tar.xz +/umockdev-0.18.1.tar.xz +/umockdev-0.18.2.tar.xz +/umockdev-0.18.3.tar.xz +/umockdev-0.18.4.tar.xz +/umockdev-0.19.0.tar.xz +/umockdev-0.19.1.tar.xz +/umockdev-0.19.2.tar.xz +/umockdev-0.19.3.tar.xz +/umockdev-0.19.4.tar.xz +/umockdev-0.19.5.tar.xz +/umockdev-0.19.6.tar.xz +/umockdev-0.19.8.tar.xz diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..dd0af79 --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 1.16.1. diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..5a2cf7d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,14 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - rhel-8 + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/packit.yaml b/packit.yaml new file mode 100644 index 0000000..f90dd72 --- /dev/null +++ b/packit.yaml @@ -0,0 +1,89 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ +upstream_project_url: https://github.com/martinpitt/umockdev +issue_repository: https://github.com/martinpitt/umockdev +copy_upstream_release_description: true +upstream_package_name: umockdev +downstream_package_name: umockdev + +actions: + create-archive: + - meson tmp/dist + # ignore local spec changes from packit + - meson dist -C tmp/dist --no-tests --allow-dirty + - sh -ec 'mv tmp/dist/meson-dist/umockdev-*.tar.xz packaging/; ls packaging/umockdev-*.tar.xz' + +srpm_build_deps: + - meson + - gcc + - vala + - libpcap-devel + - glib2-devel + - systemd-devel + +packages: + umockdev-fedora: + specfile_path: packaging/umockdev.spec + umockdev-centos: + specfile_path: packaging/umockdev.spec + pkg_tool: centpkg + +jobs: + - job: copr_build + trigger: pull_request + packages: [umockdev-fedora] + targets: + - fedora-development-x86_64 + - fedora-development-i386 + - fedora-development-aarch64 + - fedora-development-ppc64le + - fedora-development-s390x + # needed for tests + - fedora-latest + + - job: copr_build + trigger: pull_request + packages: [umockdev-centos] + targets: + - centos-stream-9-x86_64 + - centos-stream-10-x86_64 + + - job: tests + trigger: pull_request + packages: [umockdev-fedora] + targets: + - fedora-latest + + - job: tests + trigger: pull_request + packages: [umockdev-centos] + targets: + - centos-stream-9-x86_64 + - centos-stream-10-x86_64 + + - job: propose_downstream + trigger: release + packages: [umockdev-fedora] + dist_git_branches: + - fedora-development + - fedora-stable + + - job: propose_downstream + trigger: release + packages: [umockdev-centos] + dist_git_branches: + - c9s + - c10s + + - job: koji_build + trigger: commit + packages: [umockdev-fedora] + dist_git_branches: + - fedora-all + + - job: bodhi_update + trigger: commit + packages: [umockdev-fedora] + dist_git_branches: + # rawhide updates are created automatically + - fedora-branched diff --git a/plans/upstream.fmf b/plans/upstream.fmf new file mode 100644 index 0000000..33cf4ee --- /dev/null +++ b/plans/upstream.fmf @@ -0,0 +1,7 @@ +discover: + how: fmf + dist-git-source: true + # tmt 1.32 now runs `rpmbuild -bp` + dist-git-install-builddeps: true +execute: + how: tmt diff --git a/sources b/sources index a601067..2114801 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (0.15.4.tar.gz) = dc04a14cdce8caba180c53e3403e312f05b946968161dfc02ba3edfb52e5ff45b7a4923e0ccb16abff32754965fce581eabdb32d139ce2af12ca6bef2e39d9bd +SHA512 (umockdev-0.19.8.tar.xz) = 165517e36324ad0a10e5cc63b6bfd85c7d62853e0d970c06568d9aff49642f0ff6a66830d43c1b9deb10a49b53b1cc89eb8cbe70b2400b1db6019bc4aaa3ded4 diff --git a/umockdev.spec b/umockdev.spec index d600252..860e5d0 100644 --- a/umockdev.spec +++ b/umockdev.spec @@ -1,11 +1,11 @@ Name: umockdev -Version: 0.15.4 +Version: 0.19.8 Release: 2%{?dist} Summary: Mock hardware devices -License: LGPLv2+ +License: LGPL-2.1-or-later URL: https://github.com/martinpitt/%{name} -Source0: https://github.com/martinpitt/%{name}/archive/%{version}.tar.gz +Source0: https://github.com/martinpitt/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz BuildRequires: git BuildRequires: meson @@ -13,11 +13,10 @@ BuildRequires: gtk-doc BuildRequires: gobject-introspection-devel BuildRequires: glib2-devel BuildRequires: libgudev1-devel systemd-devel +BuildRequires: libpcap-devel BuildRequires: vala BuildRequires: chrpath -# Required for tests -BuildRequires: gphoto2 -BuildRequires: python3 +BuildRequires: systemd-udev %description With this program and libraries you can easily create mock udev objects. @@ -39,8 +38,13 @@ using %{name}. %meson -Dgtk_doc=true %meson_build -%install +%check +# don't be too picky about timing; upstream CI and local developer tests +# are strict, but many koji arches are emulated and utterly slow +export SLOW_TESTBED_FACTOR=10 +%meson_test +%install %meson_install # Remove rpath @@ -51,17 +55,11 @@ chrpath --delete %{buildroot}%{_libdir}/libumockdev-preload.so.* rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/umockdev -%check - -# Disabled for now, as the Xorg tests don't pass -# https://github.com/martinpitt/umockdev/issues/47 -# make check - %ldconfig_scriptlets %files %license COPYING -%doc README.rst +%doc README.md %{_bindir}/umockdev-* %{_libdir}/libumockdev.so.* %{_libdir}/libumockdev-preload.so* @@ -77,6 +75,212 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/umockdev %{_datadir}/vala/vapi/umockdev-1.0.vapi %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.19.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Mon Jul 06 2026 Packit - 0.19.8-1 +- preload: Fix libc name on alpha architecture (Thanks Michael Cree!) +- preload: Check dlopen(libc) failure +- ioctl: Fix array.resize(0) to work with gcc 16 static analyzer +- tests: Fix Gentoo tests, re-enable them in CI + +* Sun Mar 22 2026 Packit - 0.19.6-1 +- preload: Reinitialize mutexes after forking. (Thanks Daniel van Vugt) (LP: #2144723) + + +* Sat Feb 21 2026 Packit - 0.19.5-1 +- ioctl: Forward standard termios calls to real pty (fixes tests with Rust coreutils) +- ioctl: Implement POSIX-compliant errno handling + + +* Sat Jan 17 2026 Fedora Release Engineering - 0.19.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sun Oct 12 2025 Packit - 0.19.4-1 +- preload: Hide sticky bit from emulated block dev stat +- preload: Wrap listxattr() +- uevent-sender: Retry udev_device_new_from_syspath() on failure +- uevent_sender: Retry sendmsg() on EAGAIN +- tests: Adjust for evtest 1.36 + + +* Fri Aug 01 2025 Packit - 0.19.3-1 +- preload: Wrap __fstat64_time64() + +* Wed Jul 30 2025 Packit - 0.19.2-1 +- preload: Trap dirfd access to /dev, fstat(), and open_tree() + +* Fri Jul 25 2025 Fedora Release Engineering - 0.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 0.19.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 02 2025 Packit - 0.19.1-1 +- preload: Restore errno in ioctl_emulate_open() +- preload: Only emulate ioctls on emulated devices +- Fix ioctl_tree_execute() ret type and initialization (thanks Helge Deller) +- tests: Disable spidev on big-endian 32-bit platforms (thanks Helge Deller) + +* Fri Dec 27 2024 Packit - 0.19.0-1 +- API: Add UMockdev.Testbed.wait_script() to sync to scripts/evemu replays +- API: UMockdev.Testbed.load_script_from_string() +- API: UMockdev.Testbed.load_evemu_events_from_string() +- Make uevent synthesis thread-safe (thanks Bob Henz) +- Handle "connection refused" when sending a uevent (thanks Bob Henz) + +* Wed Sep 04 2024 Packit - 0.18.4-1 +- Add ioctls for Chromium OS EC devices (thanks Abhinav Baid) +- Generate "remove" uevent in umockdev_testbed_remove_device() (thanks Bob Henz) +- Recursively remove children with uevents (thanks Bob Henz) +- preload: Fix sigmask block and restore race (thanks barath) + +* Sat Jul 20 2024 Fedora Release Engineering - 0.18.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu May 23 2024 Packit - 0.18.3-1 +- preload: Re-fix time64 redirects for glibc < 2.39.9 + +* Tue May 21 2024 Packit - 0.18.2-1 +- preload: Fix time64 redirect for glibc 2.39.9 + +* Sun Mar 24 2024 Packit - 0.18.1-1 +- preload: Provide wrappers for functions specific to 64-bit time_t (thanks Steve Langasek) +- preload: Fix building with _FILE_OFFSET_BITS (thanks Zixing Liu and Steve Langasek) + +* Sun Mar 03 2024 Packit - 0.18.0-1 +- Record and restore SELinux context for mocked /dev nodes +- preload: wrap fstatfs() and statfs() on musl +- Fix build with meson 1.4 + +* Sat Jan 27 2024 Fedora Release Engineering - 0.17.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 26 2023 Packit - 0.17.18-1 +- preload: Don't read udev cache data from system (thanks Bastien Nocera) +- spec: Update License: to SPDX format +- Various test fixes + +* Sat Jul 22 2023 Fedora Release Engineering - 0.17.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Apr 16 2023 Packit - 0.17.17-1 +- Fix race with worker thread accessing $UMOCKDEV_DIR +- Disable -Wincompatible-function-pointer-types for clang + +* Sun Jan 29 2023 Packit - 0.17.16-1 + + + +
    +
  • preload: Wrap __getcwd_chk()
  • +
  • uevent_sender: Fix fd leak in sendmsg_one
  • +
  • Fix gcc -fanalyzer complaints
  • +
+ +* Sat Jan 21 2023 Fedora Release Engineering - 0.17.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Nov 24 2022 Packit - 0.17.15-1 + + + +
    +
  • test fixes
  • +
+ + +* Sat Jul 23 2022 Fedora Release Engineering - 0.17.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Packit - 0.17.13-1 +- preload: Wrap fstatfs(), to work with systemd 251 also with Python tests +- Fix tests in Gentoo sandbox build + + +* Thu May 19 2022 Packit - 0.17.12-1 +- Work around packit propose_downstream bug + + +* Tue May 10 2022 Packit - 0.17.10-1 +- Adjust to systemd 251-rc2: Set $SYSTEMD_DEVICE_VERIFY_SYSFS, parse new udevadm format, update tests + + +* Sun Apr 10 2022 Packit - 0.17.9-1 +- preload: Wrap fortified version of readlinkat (thanks Martin Liska) + + +* Wed Mar 23 2022 Packit Service - 0.17.8-1 +- Fix some potential crashes spotted by Coverity +- Enable Fedora builds and bodhi updates via packit + + +* Tue Mar 01 2022 Packit Service - 0.17.7-1 +- Fix uevent race condition in umockdev_testbed_add_from_string() + + +* Fri Jan 21 2022 Packit Service - 0.17.6-1 +- Increase uevent buffer size (#167) +- Skip /umockdev-testbed-vala/detects_running_outside_testbed during normal + builds for the time being, as it is brittle on several architectures (#169) + + +* Tue Jan 18 2022 Packit Service - 0.17.5-1 +- Relax overzealous stat nlink unit test + + +* Mon Jan 10 2022 Packit Service - 0.17.2-1 +- preload: Wrap statx() and fstatat(), to fix `ls` and other tools on + recent glibc versions. (#160) + + +* Tue Dec 14 2021 Packit Service - 0.17.1-1 +- Fix /sys/dev/* symlinks; regression from 0.15.3 (#155) + + +* Sat Dec 11 2021 Packit Service - 0.17.0-1 +- Add ioctls necessary to record/replay hidraw devices (thanks Daiki Ueno) +- meson: Respect includedir option (thanks Florentin Dubois) +- tests: Fix for Fedora koji emulated architectures s390x and arm +- Enable automatic Fedora package updates with packit + + +* Wed Sep 15 2021 Bastien Nocera - 0.16.3-1 ++ umockdev-0.16.3-1 +- Update to 0.16.3 + +* Mon Aug 30 2021 Bastien Nocera - 0.16.2-2 ++ umockdev-0.16.2-2 +- Better build fix patch + +* Wed Aug 25 2021 Bastien Nocera - 0.16.2-1 ++ umockdev-0.16.2-1 +- Update to 0.16.2 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jul 02 2021 Bastien Nocera - 0.16.1-1 ++ umockdev-0.16.1-1 +- Update to 0.16.1 + +* Thu Jul 01 2021 Bastien Nocera - 0.16.0-1 ++ umockdev-0.16.0-1 +- Update to 0.16.0 + +* Thu May 20 2021 Martin Pitt - 0.15.5-2 +- Drop gphoto2 build dependency (rhbz#1962633) + +* Tue May 04 2021 Bastien Nocera - 0.15.5-1 ++ umockdev-0.15.5-1 +- Update to 0.15.5 + * Wed Jan 27 2021 Fedora Release Engineering - 0.15.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild