Merge pull request #436 from Conan-Kudo/rpmspec

New RPM packaging
This commit is contained in:
koverstreet 2025-09-28 22:37:26 -04:00 committed by GitHub
commit 1d004a131e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 179 additions and 346 deletions

View File

@ -210,7 +210,7 @@ deb: all
.PHONY: rpm
rpm: clean
rpmbuild --build-in-place -bb --define "_version $(subst -,_,$(VERSION))" packaging/bcachefs-tools.spec
rpmbuild --build-in-place -bb --define "_version $(subst -,_,$(VERSION))" bcachefs-tools.spec
bcachefs-principles-of-operation.pdf: doc/bcachefs-principles-of-operation.tex
pdflatex doc/bcachefs-principles-of-operation.tex

178
bcachefs-tools.spec Normal file
View File

@ -0,0 +1,178 @@
%global kmodname bcachefs
# Ensure that the build script shell is bash
%global _buildshell /bin/bash
%global dkmsname dkms-%{kmodname}
# SUSE Linux does not define the dist tag, so we must define it manually
%if "%{_vendor}" == "suse"
%global dist .suse%{?suse_version}
%endif
# Disable LTO for now until more testing can be done.
%global _lto_cflags %{nil}
%global make_opts VERSION="%{version}" BCACHEFS_FUSE=1 BUILD_VERBOSE=1 PREFIX=%{_prefix} ROOT_SBINDIR=%{_sbindir}
Name: bcachefs-tools
# define with i.e. --define '_version 1.0'
Version: %{_version}
Release: 0%{?dist}
Summary: Userspace tools for bcachefs
# --- rust ---
# Apache-2.0
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# MIT
# MIT OR Apache-2.0
# MPL-2.0
# Unlicense OR MIT
# --- misc ---
# GPL-2.0-only
# GPL-2.0-or-later
# LGPL-2.1-only
# BSD-3-Clause
License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-only AND BSD-3-Clause AND (Apache-2.0 AND (Apache-2.0 OR MIT) AND (Apache-2.0 with LLVM-exception OR Apache-2.0 OR MIT) AND MIT AND MPL-2.0 AND (Unlicense OR MIT))
URL: https://bcachefs.org/
Source: https://evilpiepirate.org/%{name}/%{name}-vendored-%{version}.tar.zst
BuildRequires: findutils
BuildRequires: gcc
BuildRequires: jq
BuildRequires: make
BuildRequires: tar
BuildRequires: zstd
BuildRequires: cargo
%if 0%{?suse_version}
BuildRequires: rust
%else
BuildRequires: rustc
%endif
BuildRequires: libaio-devel
BuildRequires: libattr-devel
BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(fuse3) >= 3.7
BuildRequires: pkgconfig(libkeyutils)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(libsodium)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(liburcu)
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(zlib)
BuildRequires: clang-devel
BuildRequires: llvm-devel
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
# Rust parts FTBFS on 32-bit arches
ExcludeArch: %{ix86} %{arm32}
%description
The bcachefs-tools package provides all the userspace programs needed to create,
check, modify and correct any inconsistencies in the bcachefs filesystem.
%files
%license COPYING
%doc doc/bcachefs-principles-of-operation.tex
%doc doc/bcachefs.5.rst.tmpl
%{_sbindir}/bcachefs
%{_sbindir}/mount.bcachefs
%{_sbindir}/fsck.bcachefs
%{_sbindir}/mkfs.bcachefs
%{_mandir}/man8/bcachefs.8*
%{_udevrulesdir}/64-bcachefs.rules
# ----------------------------------------------------------------------------
%package -n fuse-bcachefs
Summary: FUSE implementation of bcachefs
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n fuse-bcachefs
This package is an experimental implementation of bcachefs leveraging FUSE to
mount, create, check, modify and correct any inconsistencies in the bcachefs filesystem.
%files -n fuse-bcachefs
%license COPYING
%{_sbindir}/mount.fuse.bcachefs
%{_sbindir}/fsck.fuse.bcachefs
%{_sbindir}/mkfs.fuse.bcachefs
# ----------------------------------------------------------------------------
%package -n %{dkmsname}
Summary: Bcachefs kernel module managed by DKMS
Requires: diffutils
Requires: dkms >= 3.2.1
Requires: gcc
Requires: make
Requires: perl
Requires: python3
Requires: %{name} = %{version}-%{release}
# For Fedora/RHEL systems
%if 0%{?fedora} || 0%{?rhel}
Supplements: (bcachefs-tools and kernel-core)
%endif
# For SUSE systems
%if 0%{?suse_version}
Supplements: (bcachefs-tools and kernel-default)
%endif
BuildArch: noarch
%description -n %{dkmsname}
This package is an implementation of bcachefs built using DKMS to offer the kernel
module to mount, create, check, modify and correct any inconsistencies in the bcachefs
filesystem.
%preun -n %{dkmsname}
if [ "$(dkms status -m %{kmodname} -v %{version})" ]; then
dkms remove -m %{kmodname} -v %{version} --all --rpm_safe_upgrade
fi
%post -n %{dkmsname}
if [ "$1" -ge "1" ]; then
if [ -f /usr/lib/dkms/common.postinst ]; then
/usr/lib/dkms/common.postinst %{kmodname} %{version}
exit $?
fi
fi
%files -n %{dkmsname}
%license COPYING
%{_usrsrc}/%{kmodname}-%{version}/
# ----------------------------------------------------------------------------
%prep
%autosetup
%build
%set_build_flags
%make_build %{make_opts}
%install
%set_build_flags
%make_install %{make_opts}
# Purge unneeded debian stuff
rm -rfv %{buildroot}/%{_datadir}/initramfs-tools
%changelog
* Sat Sep 27 2025 Neal Gompa <neal@gompa.dev>
- Initial package based on Fedora package

View File

@ -1,32 +0,0 @@
==== liburcu requirement ====
https://liburcu.org/ is needed for this software to work, but older RHEL/CentOS and other
distros might not have a reliable install. You might have to do the following...
1. Make & install the latest liburcu tarball from their site.
2. In the Makefile for bcachefs-tools...
a. Remove liburcu from PKGCONFIG_LIBS
b. Add -lurcu to LDLIBS
3. Add LD_LIBRARY_PATH=/usr/local/lib to /etc/environment
4. Remove "BuildRequires: userspace-rcu-devel" and "Requires: userspace-rcu" from the
spec file here.
==== RHEL-CentOS 7 ====
You need to use https://www.softwarecollections.org/ to install a newer GCC.
As root: yum install devtoolset-8-gcc
Before building: scl enable devtoolset-8 bash
===== RHEL-CentOS (any) ====
1. As root, "yum install rpmdevtools help2man"
2. Make a non-root user to build RPMs with.
3. "su - (non-root user)" and use "rpmdev-setuptree" to create an RPM build structure.
4. Copy the SPEC file from this directory to the "~/rpmbuild/SPECS/" folder.
6. Move the parent directory here to bcachefs-tools-(VERSION), and "cd" to its parent.
7. "tar cjf bcachefs-tools-(VERSION).tar.bz2 (directory of bcachefs-tools-(VERSION))"
8. "rpmbuild -bs ~/rpmbuild/SPECS/bcachefs-tools.spec"
9. "rpmbuild -bb ~/rpmbuild/SPECS/bcachefs-tools.spec"
10. The RPMs will be in "~/rpmbuild/RPMS" and "~/rpmbuild/SRPMS".

View File

@ -1,75 +0,0 @@
Name: bcachefs-tools
# define with i.e. --define '_version 1.0'
Version: %{_version}
Release: 1%{?dist}
Summary: Userspace tools for bcachefs
License: GPLv2
URL: https://github.com/koverstreet/bcachefs-tools
BuildRequires: gcc
BuildRequires: make
BuildRequires: cargo
BuildRequires: clang-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libaio-devel
BuildRequires: libattr-devel
BuildRequires: libblkid-devel
BuildRequires: libsodium-devel
BuildRequires: libuuid-devel
BuildRequires: libzstd-devel
BuildRequires: lz4-devel
BuildRequires: systemd-devel
BuildRequires: systemd-rpm-macros
BuildRequires: udev
BuildRequires: userspace-rcu-devel
BuildRequires: zlib-devel
%description
The bcachefs tool, which has a number of subcommands for formatting and managing bcachefs filesystems. Run bcachefs --help for full list of commands.
%prep
%setup -q
%build
%make_build V=0 --no-print-directory
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
%make_install PREFIX=%{_exec_prefix} ROOT_SBINDIR=%{_sbindir}
# These may be debian-specific, and for unlocking encrypted root fs
rm -f %{buildroot}/%{_datadir}/initramfs-tools/hooks/bcachefs
rm -f %{buildroot}/%{_datadir}/initramfs-tools/scripts/local-premount/bcachefs
# The library is not needed by userspace
rm -f %{buildroot}/usr/lib/libbcachefs.so
%files
%{_sbindir}/bcachefs
%{_sbindir}/mount.bcachefs
%{_sbindir}/fsck.bcachefs
%{_sbindir}/mkfs.bcachefs
%{_sbindir}/mount.fuse.bcachefs
%{_sbindir}/fsck.fuse.bcachefs
%{_sbindir}/mkfs.fuse.bcachefs
%{_mandir}/man8/bcachefs.8.gz
%{_udevrulesdir}/64-bcachefs.rules
%{_unitdir}/bcachefsck*
%{_unitdir}/system-bcachefsck.slice
%{_libexecdir}/bcachefsck*
%changelog
* Tue Nov 15 2022 Eric Sandeen <sandeen@sandeen.net> - 2022.11.15-1
- NOTE: This binary RPM has been built directly from the bcachefs-tools
git tree with "make rpm" from the git hash indicated in the package version.
- Update spec file to allow in-tree rpm builds
- Remove maually added Requires: and unneeded build-requires
* Tue Jan 21 2020 Michael Adams <unquietwiki@gmail.com> - 2020.01.21-1
- Updated RPM package definition to reflect that changes in codebase have occurred.
* Tue Jan 07 2020 Michael Adams <unquietwiki@gmail.com> - 2020.01.07-1
- Initial RPM package definition
- Makefile needs further work to accommodate RPM macros.

View File

@ -1,238 +0,0 @@
# rpmbuild with QA_RPATHS=$[0x0001]
Name: userspace-rcu
Version: 0.11.1
Release: 2%{?dist}
Summary: liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library.
License: LGPLv2.1
URL: https://liburcu.org/
Source0: https://lttng.org/files/urcu/%{name}-%{version}.tar.bz2
Source1: https://lttng.org/files/urcu/%{name}-%{version}.tar.bz2.asc
# "devel" files are installed with this package, also.
Provides: userspace-rcu-devel
# Recommend using https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/ for this
BuildRequires: bzip2
BuildRequires: gcc
BuildRequires: make
BuildRequires: m4
%description
liburcu provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.
%prep
%setup -q
%configure
%build
make
%install
rm -rf $RPM_BUILD_ROOT
%make_install
%files
%{_datadir}/doc/userspace-rcu/cds-api.md
%{_datadir}/doc/userspace-rcu/examples/hlist/cds_hlist_add_head_rcu.c
%{_datadir}/doc/userspace-rcu/examples/hlist/cds_hlist_del_rcu.c
%{_datadir}/doc/userspace-rcu/examples/hlist/cds_hlist_for_each_entry_rcu.c
%{_datadir}/doc/userspace-rcu/examples/hlist/cds_hlist_for_each_rcu.c
%{_datadir}/doc/userspace-rcu/examples/hlist/Makefile
%{_datadir}/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_add_head_rcu
%{_datadir}/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_del_rcu
%{_datadir}/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_for_each_entry_rcu
%{_datadir}/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_for_each_rcu
%{_datadir}/doc/userspace-rcu/examples/lfstack/cds_lfs_pop_all_blocking.c
%{_datadir}/doc/userspace-rcu/examples/lfstack/cds_lfs_pop_blocking.c
%{_datadir}/doc/userspace-rcu/examples/lfstack/cds_lfs_push.c
%{_datadir}/doc/userspace-rcu/examples/lfstack/Makefile
%{_datadir}/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_pop_all_blocking
%{_datadir}/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_pop_blocking
%{_datadir}/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_push
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_add_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_add_tail_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_del_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_for_each_entry_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_for_each_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/cds_list_replace_rcu.c
%{_datadir}/doc/userspace-rcu/examples/list/Makefile
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_add_rcu
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_add_tail_rcu
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_del_rcu
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_for_each_entry_rcu
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_for_each_rcu
%{_datadir}/doc/userspace-rcu/examples/list/Makefile.cds_list_replace_rcu
%{_datadir}/doc/userspace-rcu/examples/Makefile
%{_datadir}/doc/userspace-rcu/examples/Makefile.examples.template
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_add_replace.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_add_unique.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_add.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_del.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_destroy.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_for_each_entry_duplicate.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/cds_lfht_lookup.c
%{_datadir}/doc/userspace-rcu/examples/rculfhash/jhash.h
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add_replace
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add_unique
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_del
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_destroy
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_for_each_entry_duplicate
%{_datadir}/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_lookup
%{_datadir}/doc/userspace-rcu/examples/rculfqueue/cds_lfq_dequeue.c
%{_datadir}/doc/userspace-rcu/examples/rculfqueue/cds_lfq_enqueue.c
%{_datadir}/doc/userspace-rcu/examples/rculfqueue/Makefile
%{_datadir}/doc/userspace-rcu/examples/rculfqueue/Makefile.cds_lfq_dequeue
%{_datadir}/doc/userspace-rcu/examples/rculfqueue/Makefile.cds_lfq_enqueue
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/bp.c
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile.bp
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile.mb
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile.membarrier
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile.qsbr
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/Makefile.signal
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/mb.c
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/membarrier.c
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/qsbr.c
%{_datadir}/doc/userspace-rcu/examples/urcu-flavors/signal.c
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_dequeue.c
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_enqueue.c
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_splice.c
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/Makefile
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_dequeue
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_enqueue
%{_datadir}/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_splice
%{_datadir}/doc/userspace-rcu/examples/wfstack/cds_wfs_pop_all_blocking.c
%{_datadir}/doc/userspace-rcu/examples/wfstack/cds_wfs_pop.c
%{_datadir}/doc/userspace-rcu/examples/wfstack/cds_wfs_push.c
%{_datadir}/doc/userspace-rcu/examples/wfstack/Makefile
%{_datadir}/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_pop
%{_datadir}/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_pop_all_blocking
%{_datadir}/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_push
%{_datadir}/doc/userspace-rcu/LICENSE
%{_datadir}/doc/userspace-rcu/rcu-api.md
%{_datadir}/doc/userspace-rcu/README.md
%{_datadir}/doc/userspace-rcu/solaris-build.md
%{_datadir}/doc/userspace-rcu/uatomic-api.md
%{_includedir}/urcu-bp.h
%{_includedir}/urcu-call-rcu.h
%{_includedir}/urcu-defer.h
%{_includedir}/urcu-flavor.h
%{_includedir}/urcu-pointer.h
%{_includedir}/urcu-qsbr.h
%{_includedir}/urcu.h
%{_includedir}/urcu/arch.h
%{_includedir}/urcu/arch/generic.h
%{_includedir}/urcu/call-rcu.h
%{_includedir}/urcu/cds.h
%{_includedir}/urcu/compiler.h
%{_includedir}/urcu/config.h
%{_includedir}/urcu/debug.h
%{_includedir}/urcu/defer.h
%{_includedir}/urcu/flavor.h
%{_includedir}/urcu/futex.h
%{_includedir}/urcu/hlist.h
%{_includedir}/urcu/lfstack.h
%{_includedir}/urcu/list.h
%{_includedir}/urcu/map/clear.h
%{_includedir}/urcu/map/urcu-bp.h
%{_includedir}/urcu/map/urcu-mb.h
%{_includedir}/urcu/map/urcu-memb.h
%{_includedir}/urcu/map/urcu-qsbr.h
%{_includedir}/urcu/map/urcu-signal.h
%{_includedir}/urcu/map/urcu.h
%{_includedir}/urcu/pointer.h
%{_includedir}/urcu/rcuhlist.h
%{_includedir}/urcu/rculfhash.h
%{_includedir}/urcu/rculfqueue.h
%{_includedir}/urcu/rculfstack.h
%{_includedir}/urcu/rculist.h
%{_includedir}/urcu/ref.h
%{_includedir}/urcu/static/lfstack.h
%{_includedir}/urcu/static/pointer.h
%{_includedir}/urcu/static/rculfqueue.h
%{_includedir}/urcu/static/rculfstack.h
%{_includedir}/urcu/static/urcu-bp.h
%{_includedir}/urcu/static/urcu-common.h
%{_includedir}/urcu/static/urcu-mb.h
%{_includedir}/urcu/static/urcu-memb.h
%{_includedir}/urcu/static/urcu-qsbr.h
%{_includedir}/urcu/static/urcu-signal.h
%{_includedir}/urcu/static/urcu.h
%{_includedir}/urcu/static/wfcqueue.h
%{_includedir}/urcu/static/wfqueue.h
%{_includedir}/urcu/static/wfstack.h
%{_includedir}/urcu/syscall-compat.h
%{_includedir}/urcu/system.h
%{_includedir}/urcu/tls-compat.h
%{_includedir}/urcu/uatomic_arch.h
%{_includedir}/urcu/uatomic.h
%{_includedir}/urcu/uatomic/generic.h
%{_includedir}/urcu/urcu_ref.h
%{_includedir}/urcu/urcu-bp.h
%{_includedir}/urcu/urcu-futex.h
%{_includedir}/urcu/urcu-mb.h
%{_includedir}/urcu/urcu-memb.h
%{_includedir}/urcu/urcu-qsbr.h
%{_includedir}/urcu/urcu-signal.h
%{_includedir}/urcu/urcu.h
%{_includedir}/urcu/wfcqueue.h
%{_includedir}/urcu/wfqueue.h
%{_includedir}/urcu/wfstack.h
%{_libdir}/liburcu-bp.a
%{_libdir}/liburcu-bp.la
%{_libdir}/liburcu-bp.so
%{_libdir}/liburcu-bp.so.6
%{_libdir}/liburcu-bp.so.6.1.0
%{_libdir}/liburcu-cds.a
%{_libdir}/liburcu-cds.la
%{_libdir}/liburcu-cds.so
%{_libdir}/liburcu-cds.so.6
%{_libdir}/liburcu-cds.so.6.1.0
%{_libdir}/liburcu-common.a
%{_libdir}/liburcu-common.la
%{_libdir}/liburcu-common.so
%{_libdir}/liburcu-common.so.6
%{_libdir}/liburcu-common.so.6.1.0
%{_libdir}/liburcu-mb.a
%{_libdir}/liburcu-mb.la
%{_libdir}/liburcu-mb.so
%{_libdir}/liburcu-mb.so.6
%{_libdir}/liburcu-mb.so.6.1.0
%{_libdir}/liburcu-memb.a
%{_libdir}/liburcu-memb.la
%{_libdir}/liburcu-memb.so
%{_libdir}/liburcu-memb.so.6
%{_libdir}/liburcu-memb.so.6.1.0
%{_libdir}/liburcu-qsbr.a
%{_libdir}/liburcu-qsbr.la
%{_libdir}/liburcu-qsbr.so
%{_libdir}/liburcu-qsbr.so.6
%{_libdir}/liburcu-qsbr.so.6.1.0
%{_libdir}/liburcu-signal.a
%{_libdir}/liburcu-signal.la
%{_libdir}/liburcu-signal.so
%{_libdir}/liburcu-signal.so.6
%{_libdir}/liburcu-signal.so.6.1.0
%{_libdir}/liburcu.a
%{_libdir}/liburcu.la
%{_libdir}/liburcu.so
%{_libdir}/liburcu.so.6
%{_libdir}/liburcu.so.6.1.0
%{_libdir}/pkgconfig/liburcu-bp.pc
%{_libdir}/pkgconfig/liburcu-cds.pc
%{_libdir}/pkgconfig/liburcu-mb.pc
%{_libdir}/pkgconfig/liburcu-qsbr.pc
%{_libdir}/pkgconfig/liburcu-signal.pc
%{_libdir}/pkgconfig/liburcu.pc
%changelog
* Mon Feb 24 2020 Michael Adams <unquietwiki@gmail.com> - 0.11-2
- Try to fix RPM package install warning
* Tue Jan 07 2020 Michael Adams <unquietwiki@gmail.com> - 0.11-1
- Initial RPM package