Compare commits
136 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
010e823bf0 | ||
|
|
af8fbf5a50 | ||
|
|
6e75527416 | ||
|
|
f5a75df400 | ||
|
|
f8b6ae0ff5 | ||
|
|
6eaa83f886 | ||
|
|
afa261551b | ||
|
|
cfc9435230 | ||
|
|
42f0442c76 | ||
|
|
a540c7b432 | ||
|
|
4bace50fd1 | ||
|
|
d830fc9808 | ||
|
|
226ede080b | ||
|
|
e10017f376 | ||
|
|
7ccc70d06b | ||
|
|
36f16d6703 | ||
|
|
e9706a7124 | ||
|
|
32537c977f | ||
|
|
c1fa90d775 | ||
|
|
62ab60b959 | ||
|
|
8f47f1dde7 | ||
|
|
fc4e1a8529 | ||
|
|
0ee1026718 | ||
|
|
d37efc8796 | ||
|
|
e3c64593c6 | ||
|
|
b76b7df037 | ||
|
|
c950fe5f28 | ||
|
|
a6ab2577d8 | ||
|
|
80bd16a715 | ||
|
|
74d27c1f25 | ||
|
|
9ca4681979 | ||
|
|
e1a1e8841f | ||
|
|
ee730faf27 | ||
|
|
db577ef350 | ||
|
|
8d2c47ae1c | ||
|
|
804560ae46 |
||
|
|
eb7bb8b343 | ||
|
|
20de387ada | ||
|
|
99369c4f67 | ||
|
|
126554fe2a | ||
|
|
60cbba5ee8 | ||
|
|
c6ef39964e | ||
|
|
266ea5b3cf | ||
|
|
c8a7f0ad3e | ||
|
|
04960e2a1e | ||
|
|
d369cfa3c5 | ||
|
|
9537e3e84a | ||
|
|
17d784aa7f | ||
|
|
00ee8c1bd2 | ||
|
|
3a6c7c6f8e | ||
|
|
8049d4672f | ||
|
|
421e6526f6 | ||
|
|
fbb64262ce | ||
|
|
b2f4dd907c | ||
|
|
95fb81b412 | ||
|
|
63039122dd | ||
|
|
b31f85ac26 | ||
|
|
731228e5f9 | ||
|
|
790a1dc624 | ||
|
|
c01e369f7e | ||
|
|
88778300c5 | ||
|
|
a19342ade3 | ||
|
|
c327b607fe | ||
|
|
40e854a10a | ||
|
|
e2f2093885 | ||
|
|
651216ed6a | ||
|
|
5d5ebcb425 | ||
|
|
7d940d6bd5 | ||
|
|
76f23150c1 | ||
|
|
a3db74c795 | ||
|
|
b557b0f646 | ||
|
|
a9f94b0fd5 | ||
|
|
4378ae0980 | ||
|
|
db4dc6b746 | ||
|
|
4cd2a32be9 | ||
|
|
157df5df7d | ||
|
|
f95d0a67cc | ||
|
|
de968c0e8c | ||
|
|
bbce189d61 | ||
|
|
d295f18b54 | ||
|
|
0a96e398ab | ||
|
|
702f380fa3 | ||
|
|
9e7d28d253 | ||
|
|
413d274654 | ||
|
|
635d3473dc | ||
|
|
5c01a0ad21 | ||
|
|
0e6c2c5e66 | ||
|
|
9e4b69ab08 | ||
|
|
90fbaa7a9d | ||
|
|
18f5b7e6e1 | ||
|
|
99ea430f9d | ||
|
|
dc1e2176c5 | ||
|
|
8579281e34 | ||
|
|
bcbdabcaa4 | ||
|
|
44d4734254 | ||
|
|
ac257c3d7b | ||
|
|
70a39d44f8 | ||
|
|
7b3b0cf9d9 | ||
|
|
4653be1d64 | ||
|
|
3fb2f8386a | ||
|
|
854d454495 | ||
|
|
fc57c16ec9 | ||
|
|
20c2ae43f9 | ||
|
|
86a94835f6 | ||
|
|
66641de0f9 | ||
|
|
cc79a1927d | ||
|
|
1812d33a51 | ||
|
|
5f5f0e1228 | ||
|
|
2f00308a6f | ||
|
|
6e89b7444e | ||
|
|
ef64c79098 | ||
|
|
e4d966d2d1 | ||
|
|
7a3ac27c45 | ||
|
|
44a227cacd | ||
|
|
a4b87b0273 | ||
|
|
aab46dbd3c | ||
|
|
51a54a90f9 | ||
|
|
e9af3e6989 | ||
|
|
9f61a23fdb | ||
|
|
18673315e8 | ||
|
|
70cb8d0903 | ||
|
|
93bccb1ebf | ||
|
|
bad87612ec | ||
|
|
19bf08d4a5 | ||
|
|
944747f65f | ||
|
|
079fbbe44a | ||
|
|
1211aa83a7 | ||
|
|
5c88a9978a | ||
|
|
c118e69cb7 | ||
|
|
c49cc7d045 | ||
|
|
691fcae6b7 | ||
|
|
afcf52a35d | ||
|
|
9d194bf41b | ||
|
|
10c502701a | ||
|
|
cf3545504e | ||
|
|
787bbac49a |
15 changed files with 4557 additions and 20 deletions
62
.gitignore
vendored
62
.gitignore
vendored
|
|
@ -1 +1,63 @@
|
|||
/thin-provisioning-tools-v0.1.4.tar.bz2
|
||||
/thin-provisioning-tools-v0.2.1.tar.bz2
|
||||
/thin-provisioning-tools-v0.2.2.tar.bz2
|
||||
/thin-provisioning-tools-v0.2.3.tar.bz2
|
||||
/thin-provisioning-tools-v0.2.8.tar.bz2
|
||||
/thin-provisioning-tools-v0.3.0.tar.bz2
|
||||
/thin-provisioning-tools-v0.3.2.tar.bz2
|
||||
/thin-provisioning-tools-0.5.0.tar.gz
|
||||
/thin-provisioning-tools-0.5.1.tar.gz
|
||||
/thin-provisioning-tools-0.5.2.tar.gz
|
||||
/thin-provisioning-tools-0.5.3.tar.gz
|
||||
/thin-provisioning-tools-0.5.4.tar.gz
|
||||
/thin-provisioning-tools-0.5.5.tar.gz
|
||||
/thin-provisioning-tools-0.5.6.tar.gz
|
||||
/thin-provisioning-tools-0.6.0.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc3.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc4.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc5.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc6.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc7.tar.gz
|
||||
/thin-provisioning-tools-0.6.2-rc8.tar.gz
|
||||
/thin-provisioning-tools-0.6.2.tar.gz
|
||||
/thin-provisioning-tools-0.6.3.tar.gz
|
||||
/thin-provisioning-tools-0.7.0-rc2.tar.gz
|
||||
/thin-provisioning-tools-0.7.0-rc3.tar.gz
|
||||
/thin-provisioning-tools-0.7.0-rc4.tar.gz
|
||||
/thin-provisioning-tools-0.7.0-rc5.tar.gz
|
||||
/thin-provisioning-tools-0.7.0-rc6.tar.gz
|
||||
/v0.7.2.tar.gz
|
||||
/v0.7.3.tar.gz
|
||||
/v0.7.5.tar.gz
|
||||
/v0.7.6.tar.gz
|
||||
/v0.8.0.tar.gz
|
||||
/v0.8.1.tar.gz
|
||||
/v0.8.5.tar.gz
|
||||
/v0.9.0-rc2.tar.gz
|
||||
/device-mapper-persistent-data-0.9.0-rc2-vendor.tar.gz
|
||||
/v0.9.0.tar.gz
|
||||
/dmpd090-vendor.tar.gz
|
||||
/dmpd090-vendor2.tar.gz
|
||||
/dmpd090-vendor3.tar.gz
|
||||
/v1.0.2.tar.gz
|
||||
/dmpd102-vendor.tar.gz
|
||||
/v1.0.4.tar.gz
|
||||
/dmpd104-vendor.tar.gz
|
||||
/v1.0.5.tar.gz
|
||||
/dmpd105-vendor.tar.gz
|
||||
/v1.0.6.tar.gz
|
||||
/dmpd106-vendor.tar.gz
|
||||
/v1.0.9.tar.gz
|
||||
/dmpd109-vendor.tar.gz
|
||||
/v1.0.11.tar.gz
|
||||
/dmpd1011-vendor.tar.gz
|
||||
/v1.0.12.tar.gz
|
||||
/dmpd1012-vendor.tar.gz
|
||||
/v1.1.0.tar.gz
|
||||
/dmpd110-vendor.tar.gz
|
||||
/v1.2.1.tar.gz
|
||||
/dmpd121-vendor.tar.gz
|
||||
/v1.3.0.tar.gz
|
||||
/dmpd130-vendor.tar.gz
|
||||
/v1.3.1.tar.gz
|
||||
/dmpd131-vendor.tar.gz
|
||||
|
|
|
|||
54
README.md
Normal file
54
README.md
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Packaging device-mapper-persitent-data (AKA dmpd)
|
||||
|
||||
This is rust package using *vendor* file for dependencies. (Vendor file is an archive of dependencies' sources.)
|
||||
|
||||
For most of simple fixes, there is nothing special,
|
||||
to add a patches simply add them to dist-git,
|
||||
add a corresponding `PatchN: 000N-...` lines,
|
||||
increase `Release:` or `release_suffix` for Z-stream (or for test build use suffix like `.bzNNNNNN`),
|
||||
add to `%changelog`,
|
||||
commit,
|
||||
push,
|
||||
and build the package using `fedpkg build`.
|
||||
|
||||
Alternatively before committing anything use `fedpkg srpm` and `fedpkg scratch-build --srpm $SRPM [--arches x86_64]` to create a scratch build.
|
||||
|
||||
However when building a new version of dmpd or when updating a dependency is
|
||||
needed (e.g. because of CVE in the dependency) vendor file
|
||||
has to be regenerated.
|
||||
|
||||
## Updating vendor file
|
||||
|
||||
To build a new version of the package following tooling is needed:
|
||||
|
||||
- `rust >= 1.35`
|
||||
- `cargo` providing vendor subcommand (now upstream, included in latest Fedora and RHEL8+)
|
||||
|
||||
To create the vendor file:
|
||||
|
||||
In the upstream directory:
|
||||
|
||||
1. Run `cargo vendor` in the directory with upstream sources to create *vendor*
|
||||
directory with sources.
|
||||
- TODO: There is a *cargo-vendor-filterer* project used by *stratisd* to
|
||||
filter out unnecessary dependencies for other operating systems.
|
||||
2. Run `tar czf device-mapper-persistent-data-vendor-$VERSION.tar.gz ./vendor` to create a tarball.
|
||||
3. Copy the vendor file to dist git directory.
|
||||
|
||||
In the dist-git directory:
|
||||
|
||||
1. Get the upstream tarball `wget https://github.com/jthornber/thin-provisioning-tools/archive/v$VERSION.tar.gz`
|
||||
- NOTE: Migration to `https://github.com/device-mapper-utils/thin-provisioning-tools` is coming.
|
||||
2. Update *Source0* and *Source1* to correct values.
|
||||
3. Add the tarballs to koji/brew lookaside:
|
||||
- `fedpkg new-sources v$VERSION.tar.gz device-mapper-persistent-data-vendor-$VERSION.tar.gz`
|
||||
|
||||
## TODO/NOTES
|
||||
|
||||
Some of the dependencies are already packaged by Fedora. Can we instruct *cargo vendor* to include only those which are not provided by Fedora?
|
||||
It would be possible to include these as submodules, and the rest could be used from Fedora.
|
||||
For RHEL and CentOS Stream using vendor file is the recommended way.
|
||||
|
||||
*%cargo_install* installs by default in */usr/bin* but the package expects */usr/sbin*. For now I run *make install-rust-tools*.
|
||||
Now Fedora unified the */usr/sbin* and */usr/bin* directories, to this can be "fixed" in Fedora and later in CentOS Stream.
|
||||
|
||||
15
device-mapper-persistent-data-avoid-strip.patch
Normal file
15
device-mapper-persistent-data-avoid-strip.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Makefile.in | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 0aa9401..0f4f7cb 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -262,7 +262,6 @@ MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS))
|
||||
install: bin/pdata_tools $(MANPAGES)
|
||||
$(INSTALL_DIR) $(BINDIR)
|
||||
$(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
|
||||
- $(STRIP) $(BINDIR)/pdata_tools
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_check
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_dump
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_metadata_size
|
||||
|
|
@ -1,43 +1,487 @@
|
|||
#
|
||||
# Copyright (C) 2011-2012 Red Hat, Inc
|
||||
# Copyright (C) 2011-2017 Red Hat, Inc
|
||||
#
|
||||
Summary: Device-mapper thin provisioning tools
|
||||
%bcond_without check
|
||||
#%%global debug_package %%{nil}
|
||||
|
||||
#%%global version_suffix -rc2
|
||||
#%%global release_suffix .test3
|
||||
|
||||
Summary: Device-mapper Persistent Data Tools
|
||||
Name: device-mapper-persistent-data
|
||||
Version: 0.1.4
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3+
|
||||
Group: System Environment/Base
|
||||
Version: 1.3.1
|
||||
Release: 1%{?dist}%{?release_suffix}
|
||||
License: GPL-3.0-only AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
|
||||
#ExcludeArch: %%{ix86}
|
||||
URL: https://github.com/jthornber/thin-provisioning-tools
|
||||
Source0: https://github.com/downloads/jthornber/thin-provisioning-tools/thin-provisioning-tools-v%{version}.tar.bz2
|
||||
BuildRequires: expat-devel, libstdc++-devel, boost-devel
|
||||
Requires: expat
|
||||
#Source0: https://github.com/jthornber/thin-provisioning-tools/archive/thin-provisioning-tools-%%{version}.tar.gz
|
||||
Source0: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}%{?version_suffix}.tar.gz
|
||||
Source1: dmpd131-vendor.tar.gz
|
||||
|
||||
%if %{defined rhel}
|
||||
BuildRequires: rust-toolset
|
||||
%else
|
||||
BuildRequires: rust-packaging
|
||||
BuildRequires: rust >= 1.35
|
||||
BuildRequires: cargo
|
||||
%endif
|
||||
BuildRequires: make
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: clang-libs
|
||||
BuildRequires: glibc-static
|
||||
BuildRequires: device-mapper-devel
|
||||
BuildRequires: clang
|
||||
#BuildRequires: gcc
|
||||
|
||||
%description
|
||||
thin-provisioning-tools contains dump,restore and repair tools to
|
||||
manage device-mapper thin provisioning target metadata devices.
|
||||
thin-provisioning-tools contains check,dump,restore,repair,rmap
|
||||
and metadata_size tools to manage device-mapper thin provisioning
|
||||
target metadata devices; cache check,dump,metadata_size,restore
|
||||
and repair tools to manage device-mapper cache metadata devices
|
||||
are included and era check, dump, restore and invalidate to manage
|
||||
snapshot eras
|
||||
|
||||
%prep
|
||||
%setup -q -n thin-provisioning-tools-v%{version}
|
||||
%autosetup -p1 -n thin-provisioning-tools-%{version}%{?version_suffix} -a1
|
||||
%cargo_prep -v vendor
|
||||
|
||||
# NOTE: Following could replace Cargo.toml patching, but some macros are not working well with it
|
||||
# Notably at least one of cargo_license_summary, cargo_license_summary, or cargo_vendor_manifest
|
||||
#cat >> .cargo/config.toml << EOF
|
||||
#
|
||||
#[source."git+https://github.com/jthornber/rio?branch=master"]
|
||||
#git = "https://github.com/jthornber/rio"
|
||||
#branch = "master"
|
||||
#replace-with = "vendored-sources"
|
||||
#
|
||||
#EOF
|
||||
|
||||
echo %{version}-%{release} > VERSION
|
||||
|
||||
%generate_buildrequires
|
||||
|
||||
%build
|
||||
%configure --enable-debug --enable-testing
|
||||
make %{?_smp_mflags}
|
||||
#make %{?_smp_mflags} V=
|
||||
%cargo_build
|
||||
%cargo_license_summary
|
||||
%{cargo_license} > LICENSE.dependencies
|
||||
%cargo_vendor_manifest
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} MANDIR=%{_mandir} install
|
||||
# TODO: Check that MANDIR is unused and remove
|
||||
%make_install STRIP=true MANDIR=%{_mandir} BINDIR=%{buildroot}%{_sbindir}
|
||||
|
||||
%clean
|
||||
%if %{with check}
|
||||
%check
|
||||
%cargo_test
|
||||
#cargo test --test thin_shrink -- --nocapture --test-threads=1
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc COPYING README
|
||||
%{_mandir}/man8/thin_dump.8.gz
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
%license LICENSE.dependencies
|
||||
%license cargo-vendor.txt
|
||||
%{_mandir}/man8/cache_check.8.gz
|
||||
%{_mandir}/man8/cache_dump.8.gz
|
||||
%{_mandir}/man8/cache_metadata_size.8.gz
|
||||
%{_mandir}/man8/cache_repair.8.gz
|
||||
%{_mandir}/man8/cache_restore.8.gz
|
||||
%{_mandir}/man8/cache_writeback.8.gz
|
||||
%{_mandir}/man8/era_check.8.gz
|
||||
%{_mandir}/man8/era_dump.8.gz
|
||||
%{_mandir}/man8/era_invalidate.8.gz
|
||||
%{_mandir}/man8/era_restore.8.gz
|
||||
%{_mandir}/man8/thin_check.8.gz
|
||||
%{_mandir}/man8/thin_delta.8.gz
|
||||
%{_mandir}/man8/thin_dump.8.gz
|
||||
%{_mandir}/man8/thin_ls.8.gz
|
||||
%{_mandir}/man8/thin_metadata_size.8.gz
|
||||
%{_mandir}/man8/thin_migrate.8.gz
|
||||
%{_mandir}/man8/thin_repair.8.gz
|
||||
%{_mandir}/man8/thin_restore.8.gz
|
||||
%{_sbindir}/thin_dump
|
||||
%{_mandir}/man8/thin_rmap.8.gz
|
||||
%{_mandir}/man8/thin_trim.8.gz
|
||||
%{_mandir}/man8/thin_metadata_pack.8.gz
|
||||
%{_mandir}/man8/thin_metadata_unpack.8.gz
|
||||
%{_sbindir}/pdata_tools
|
||||
%{_sbindir}/cache_check
|
||||
%{_sbindir}/cache_dump
|
||||
%{_sbindir}/cache_metadata_size
|
||||
%{_sbindir}/cache_repair
|
||||
%{_sbindir}/cache_restore
|
||||
%{_sbindir}/cache_writeback
|
||||
%{_sbindir}/era_check
|
||||
%{_sbindir}/era_dump
|
||||
%{_sbindir}/era_invalidate
|
||||
%{_sbindir}/era_restore
|
||||
%{_sbindir}/thin_check
|
||||
%{_sbindir}/thin_delta
|
||||
%{_sbindir}/thin_dump
|
||||
%{_sbindir}/thin_ls
|
||||
%{_sbindir}/thin_metadata_size
|
||||
%{_sbindir}/thin_migrate
|
||||
%{_sbindir}/thin_repair
|
||||
%{_sbindir}/thin_restore
|
||||
%{_sbindir}/thin_rmap
|
||||
%{_sbindir}/thin_trim
|
||||
%{_sbindir}/thin_metadata_pack
|
||||
%{_sbindir}/thin_metadata_unpack
|
||||
#% {_sbindir}/thin_show_duplicates
|
||||
|
||||
%changelog
|
||||
* Tue Dec 02 2025 Marian Csontos <mcsontos@redhat.com> - 1.3.1-1
|
||||
- Update to latest upstream release 1.3.1.
|
||||
|
||||
* Wed Oct 22 2025 Marian Csontos <mcsontos@redhat.com> - 1.3.0-1
|
||||
- Update to latest upstream release 1.3.0.
|
||||
|
||||
* Thu Sep 04 2025 Marian Csontos <mcsontos@redhat.com> - 1.2.1-1
|
||||
- Update to latest upstream release 1.2.1.
|
||||
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.0-2
|
||||
- Rebuilt for the bin-sbin merge (2nd attempt)
|
||||
|
||||
* Mon Sep 02 2024 Marian Csontos <mcsontos@redhat.com> - 1.1.0-1
|
||||
- Update to latest upstream release 1.1.0.
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.12-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.12-2
|
||||
- Rebuilt for the bin-sbin merge
|
||||
|
||||
* Tue Feb 27 2024 Marian Csontos <mcsontos@redhat.com> - 1.0.12-1
|
||||
- Update to latest upstream release 1.0.12.
|
||||
|
||||
* Tue Feb 13 2024 Marian Csontos <mcsontos@redhat.com> - 1.0.11-4
|
||||
- Add licenses for statically linked libraries.
|
||||
|
||||
* Tue Feb 13 2024 Marian Csontos <mcsontos@redhat.com> - 1.0.11-3
|
||||
- SPDX migration
|
||||
|
||||
* Thu Feb 08 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.0.11-2
|
||||
- Update Rust macro usage
|
||||
|
||||
* Thu Feb 08 2024 Marian Csontos <mcsontos@redhat.com> - 1.0.11-1
|
||||
- Update to latest upstream release 1.0.11.
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Dec 11 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.9-1
|
||||
- Update to latest upstream release 1.0.9.
|
||||
|
||||
* Thu Aug 31 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.6-2
|
||||
- Fix broken installation on ppc64le caused by incorrect ioctl call.
|
||||
|
||||
* Wed Aug 09 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.6-1
|
||||
- Update to latest upstream release 1.0.6.
|
||||
|
||||
* Thu Jul 27 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.5-1
|
||||
- Update to latest upstream release 1.0.5.
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue May 30 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.0.4-2
|
||||
- Use rust-toolset in RHEL builds
|
||||
|
||||
* Fri Apr 28 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.4-1
|
||||
- Update to latest upstream release 1.0.4.
|
||||
|
||||
* Wed Mar 22 2023 Marian Csontos <mcsontos@redhat.com> - 1.0.3-1
|
||||
- Update to latest upstream release 1.0.3.
|
||||
|
||||
* Sun Feb 05 2023 Fabio Valentini <decathorpe@gmail.com> - 0.9.0-10
|
||||
- Rebuild for fixed frame pointer compiler flags in Rust RPM macros.
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Marian Csontos <mcsontos@redhat.com> - 0.9.0-6
|
||||
- Fix rust-1.53 compilation issues.
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jun 10 2021 Marian Csontos <mcsontos@redhat.com> - 0.9.0-4
|
||||
- Fix gating test syntax.
|
||||
- Fix important issues found by static analysis.
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Sep 21 2020 Marian Csontos <mcsontos@redhat.com> - 0.9.0-2
|
||||
- Update crc32c to version 0.5 supporting non x86 architectures
|
||||
|
||||
* Thu Sep 17 2020 Marian Csontos <mcsontos@redhat.com> - 0.9.0-1
|
||||
- Update to latest upstream version
|
||||
- New tools thin_metadata_pack and thin_metadata_unpack
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.5-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Jun 04 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.5-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Sat May 04 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.1-1
|
||||
- Fix thin_repair should not require --repair option.
|
||||
|
||||
* Mon Apr 29 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.0-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jan 25 2019 Jonathan Wakely <jwakely@redhat.com> - 0.7.6-3
|
||||
- Rebuilt for Boost 1.69
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Apr 24 2018 Marian Csontos <mcsontos@redhat.com> - 0.7.6-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 0.7.5-2
|
||||
- Rebuilt for Boost 1.66
|
||||
|
||||
* Tue Nov 14 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.5-1
|
||||
- Fix version 2 metadata corruption in cache_restore.
|
||||
|
||||
* Fri Oct 06 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.3-1
|
||||
- Update to latest bugfix and documentation update release.
|
||||
- *_restore tools wipe superblock as a last resort.
|
||||
- Add thin_check --override-mapping-root.
|
||||
|
||||
* Fri Sep 22 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.2-1
|
||||
- Update to latest upstream release including various bug fixes and new features.
|
||||
- Fix segfault when dump tools are given a tiny metadata file.
|
||||
- Fix -V exiting with 1.
|
||||
- Fix thin_check when running on XML dump instead of binary data.
|
||||
- Speed up free block searching.
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-0.6.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-0.5.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 0.7.0-0.4.rc6
|
||||
- Rebuilt for Boost 1.64
|
||||
|
||||
* Tue May 23 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.0-0.3.rc6
|
||||
- Rebuilt for mass rebuild incorrectly tagging master to .fc26
|
||||
|
||||
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-0.2.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
|
||||
|
||||
* Mon Mar 27 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc6
|
||||
- Don't open devices as writeable if --clear-needs-check-flag is not set.
|
||||
- Fix cache metadata format version 2 superblock packing.
|
||||
|
||||
* Wed Mar 22 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc5
|
||||
- Switch to a faster implementation of crc32 used for checksums.
|
||||
|
||||
* Tue Mar 21 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc4
|
||||
- Add support for cache metadata format version 2 in cache tools.
|
||||
|
||||
* Thu Mar 16 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc3
|
||||
- Fix compilation warnings and further code cleanup.
|
||||
|
||||
* Thu Mar 09 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc2
|
||||
- Update to latest upstream release including various bug fixes and new features.
|
||||
- New thin_show_duplicates command.
|
||||
- Add '--skip-mappings' and '--format custom' options to thin_dump.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 0.6.3-2
|
||||
- Rebuilt for Boost 1.63
|
||||
|
||||
* Thu Sep 22 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.3-1
|
||||
- Preallocate output file for thin_repair and thin_restore.
|
||||
|
||||
* Mon Jul 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-1
|
||||
- Fixes providing proper use of compiler flags.
|
||||
|
||||
* Mon Apr 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc8
|
||||
- Fixes for thin_trim.
|
||||
|
||||
* Tue Mar 22 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc7
|
||||
- Fixes for thin_repair.
|
||||
|
||||
* Wed Mar 09 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc6
|
||||
- Add new fields to thin_ls: MAPPED_BYTES, EXCLUSIVE_BYTES and SHARED_BYTES.
|
||||
|
||||
* Thu Feb 18 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc5
|
||||
- Fixes for thin_delta.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc4
|
||||
- Fix bug in mapping comparison while using thin_delta.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc3
|
||||
- Fix recent regression in thin_repair.
|
||||
- Force g++-98 dialect.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc1
|
||||
- Fix bug in thin_dump when using metadata snaps.
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jan 20 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.0-1
|
||||
- New thin_ls command.
|
||||
|
||||
* Wed Jan 20 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.5.6-1
|
||||
- era_invalidate may be run on live metadata if the --metadata-snap
|
||||
option is given.
|
||||
|
||||
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 0.5.5-3
|
||||
- Rebuilt for Boost 1.60
|
||||
|
||||
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 0.5.5-2
|
||||
- Rebuilt for Boost 1.59
|
||||
|
||||
* Thu Aug 13 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.5-1
|
||||
- Support thin_delta's --metadata_snap option without specifying snap location.
|
||||
- Update man pages to make it clearer that tools shoulnd't be run on live metadata.
|
||||
- Fix bugs in the metadata reference counting for thin_check.
|
||||
|
||||
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
|
||||
|
||||
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.5.4-2
|
||||
- rebuild for Boost 1.58
|
||||
|
||||
* Fri Jul 17 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.4-1
|
||||
- Fix cache_check with --clear-needs-check-flag option to
|
||||
make sure metadata device is not open already by the tool
|
||||
when open with O_EXCL mode is requested.
|
||||
|
||||
* Fri Jul 03 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.3-1
|
||||
- Tools now open the metadata device in O_EXCL mode to stop
|
||||
running the tools on active metadata.
|
||||
|
||||
* Fri Jul 03 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.2-1
|
||||
- Fix bug in damage reporting in thin_dump and thin_check.
|
||||
|
||||
* Thu Jun 25 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.1-1
|
||||
- Fix crash if tools are given a very large metadata device to restore to.
|
||||
|
||||
* Mon Jun 22 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.0-1
|
||||
- Add space map checking for thin_check.
|
||||
- Add --clear-needs-check option for cache_check.
|
||||
- Update to latest upstream release.
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Jun 08 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.4.2-1
|
||||
- New thin_delta and thin_trim commands.
|
||||
- Update to latest upstream release.
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.4.1-4
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 0.4.1-3
|
||||
- Rebuild for boost 1.57.0
|
||||
|
||||
* Wed Oct 29 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-2
|
||||
- Resolves: bz#1159466
|
||||
|
||||
* Wed Oct 29 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-1
|
||||
- New upstream version
|
||||
- Manual header additions/fixes
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu May 22 2014 Petr Machata <pmachata@redhat.com> - 0.3.2-2
|
||||
- Rebuild for boost 1.55.0
|
||||
|
||||
* Fri Apr 11 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.3.2-1
|
||||
- New upstream version 0.3.2 fixing needs_check flag processing
|
||||
|
||||
* Thu Mar 27 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.3.0-1
|
||||
- New upstream version 0.3.0 introducing era_{check,dump,invalidate}
|
||||
|
||||
* Fri Oct 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.8-1
|
||||
- New upstream version 0.2.8 introducing cache_{check,dump,repair,restore}
|
||||
|
||||
* Tue Sep 17 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.7-1
|
||||
- New upstream version 0.2.7
|
||||
|
||||
* Wed Jul 31 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.3-1
|
||||
- New upstream version
|
||||
|
||||
* Tue Jul 30 2013 Dennis Gilmore <dennis@ausil.us> - 0.2.2-2
|
||||
- rebuild against boost 1.54.0
|
||||
|
||||
* Tue Jul 30 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.2-1
|
||||
- New upstream version
|
||||
- manual header fixes
|
||||
|
||||
* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 0.2.1-6
|
||||
- Rebuild for boost 1.54.0
|
||||
|
||||
* Thu Jul 25 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-5
|
||||
- enhance manual pages and fix typos
|
||||
|
||||
* Thu Jul 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-4
|
||||
- Update thin_metadata_size manual page
|
||||
- thin_dump: support dumping default metadata snapshot
|
||||
|
||||
* Thu Jul 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-3
|
||||
- New thin_metadata_size tool to estimate amount of metadata space
|
||||
based on block size, pool size and maximum amount of thin devs and snapshots
|
||||
- support metadata snapshots in thin_dump tool
|
||||
- New man pages for thin_metadata_size, thin_repair and thin_rmap and man page fixes
|
||||
|
||||
* Tue Jul 16 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-2
|
||||
- Build with nostrip fix from Ville Skyttä
|
||||
|
||||
* Mon Jul 15 2013 Ville Skyttä <ville.skytta@iki.fi> - 0.2.1-2
|
||||
- Let rpmbuild strip binaries, don't override optflags, build more verbose.
|
||||
|
||||
* Fri Jul 12 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-1
|
||||
- New upstream version.
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Thu Apr 19 2012 Milan Broz <mbroz@redhat.com> - 0.1.4-1
|
||||
- Fix thin_check man page (add -q option).
|
||||
- Install utilities in /usr/sbin.
|
||||
|
|
|
|||
3
sources
3
sources
|
|
@ -1 +1,2 @@
|
|||
df5b067d5e4aa82a0cdf9f16783d16b8 thin-provisioning-tools-v0.1.4.tar.bz2
|
||||
SHA512 (v1.3.1.tar.gz) = ff0758b21b50702568cad88522ee4c2b6b4433cec0a5f5074c9d1791c13e630e5c516601d7a68c51ac34e036091fc82fe831dbe51e6776737571d90ed266878e
|
||||
SHA512 (dmpd131-vendor.tar.gz) = 0e1b8e501e330b64415c9097c94dfc1f1b43d2900a66258e40b6c8f28c51fd61247d60495f594f14550fb349ed4ad435f8959a8808fea1d363a206c5ead7db1e
|
||||
|
|
|
|||
75
tests/functions_test/Makefile
Normal file
75
tests/functions_test/Makefile
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Author: Jakub Krysl <jkrysl@redhat.com>
|
||||
|
||||
# The toplevel namespace within which the test lives.
|
||||
TOPLEVEL_NAMESPACE=kernel
|
||||
|
||||
# The name of the package under test:
|
||||
PACKAGE_NAME=storage
|
||||
|
||||
# The path of the test below the package:
|
||||
RELATIVE_PATH=lvm/device-mapper-persistent-data/thin
|
||||
|
||||
# Version of the Test. Used with make tag.
|
||||
export TESTVERSION=1.0
|
||||
|
||||
# The combined namespace of the test.
|
||||
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
|
||||
# A phony target is one that is not really the name of a file.
|
||||
# It is just a name for some commands to be executed when you
|
||||
# make an explicit request. There are two reasons to use a
|
||||
# phony target: to avoid a conflict with a file of the same
|
||||
# name, and to improve performance.
|
||||
.PHONY: all install download clean
|
||||
|
||||
# executables to be built should be added here, they will be generated on the system under test.
|
||||
BUILT_FILES=
|
||||
|
||||
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||
FILES=$(METADATA) runtest.sh PURPOSE testinfo.desc dmpd_functions.py dmpd_library.py Makefile
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ *.rpm $(BUILT_FILES)
|
||||
|
||||
# You may need to add other targets e.g. to build executables from source code
|
||||
# Add them here:
|
||||
|
||||
|
||||
# Include Common Makefile
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
# Generate the testinfo.desc here:
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
# Change to the test owner's name
|
||||
@echo "Owner: Filip Suba <fsuba@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "License: GPL" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: Testing thin tools provided by device-mapper-persistent-data">> $(METADATA)
|
||||
@echo "TestTime: 1h" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
30
tests/functions_test/PURPOSE
Normal file
30
tests/functions_test/PURPOSE
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#===========================================================================
|
||||
#
|
||||
# PURPOSE file for:
|
||||
# /kernel/storage/lvm/device-mapper-persistent-data/thin
|
||||
#
|
||||
# Description:
|
||||
# Testing thin tools provided by device-mapper-persistent-data
|
||||
#
|
||||
# Bugs related:
|
||||
#
|
||||
#
|
||||
# Author(s):
|
||||
# Jakub Krysl
|
||||
# <jkrysl@redhat.com>
|
||||
#
|
||||
#===========================================================================
|
||||
# Note:
|
||||
# As with some of Storage tests, at the end of the test it will check
|
||||
# for errors on the logs.
|
||||
# This check if implemented on /kernel/storage/include/python_modules
|
||||
# LogChecker.py module
|
||||
#
|
||||
# To avoid Storage tests reporting error that were caused before the test
|
||||
# started to run is recommended to run /kernel/storage/misc/log_checker
|
||||
# just before running this test
|
||||
#===========================================================================
|
||||
# This task takes optional parameters:
|
||||
#
|
||||
#===========================================================================
|
||||
# EndFile
|
||||
1238
tests/functions_test/dmpd_functions.py
Executable file
1238
tests/functions_test/dmpd_functions.py
Executable file
File diff suppressed because it is too large
Load diff
2373
tests/functions_test/dmpd_library.py
Executable file
2373
tests/functions_test/dmpd_library.py
Executable file
File diff suppressed because it is too large
Load diff
18
tests/functions_test/runtest.sh
Executable file
18
tests/functions_test/runtest.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
# Copyright (c) 2017 Red Hat, Inc. All rights reserved. This copyrighted
|
||||
# material is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
#
|
||||
# Author: Jakub Krysl <jkrysl@redhat.com>
|
||||
rhts-run-simple-test functions_test ./dmpd_functions.py
|
||||
26
tests/tests.yml
Normal file
26
tests/tests.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
# Tests suitable to run in classic environment
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
tests:
|
||||
- tools_not_linked_usr
|
||||
- functions_test
|
||||
required_packages:
|
||||
- findutils # beakerlib needs find command
|
||||
- which # tools_not_linked_usr needs which command
|
||||
|
||||
# Tests suitable to run in container and atomic environments
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- container
|
||||
- atomic
|
||||
tests:
|
||||
- tools_not_linked_usr
|
||||
required_packages:
|
||||
- findutils # beakerlib needs find command
|
||||
- which # tools_not_linked_usr needs which command
|
||||
75
tests/tools_not_linked_usr/Makefile
Normal file
75
tests/tools_not_linked_usr/Makefile
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# Author: Bruno Goncalves <bgoncalv@redhat.com>
|
||||
|
||||
# The toplevel namespace within which the test lives.
|
||||
TOPLEVEL_NAMESPACE=kernel
|
||||
|
||||
# The name of the package under test:
|
||||
PACKAGE_NAME=storage
|
||||
|
||||
# The path of the test below the package:
|
||||
RELATIVE_PATH=lvm/device-mapper-persistent-data/tools_not_linked_usr
|
||||
|
||||
# Version of the Test. Used with make tag.
|
||||
export TESTVERSION=1.0
|
||||
|
||||
# The combined namespace of the test.
|
||||
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
|
||||
# A phony target is one that is not really the name of a file.
|
||||
# It is just a name for some commands to be executed when you
|
||||
# make an explicit request. There are two reasons to use a
|
||||
# phony target: to avoid a conflict with a file of the same
|
||||
# name, and to improve performance.
|
||||
.PHONY: all install download clean
|
||||
|
||||
# executables to be built should be added here, they will be generated on the system under test.
|
||||
BUILT_FILES=
|
||||
|
||||
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||
FILES=$(METADATA) runtest.sh PURPOSE tools_not_linked_usr.py
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
chmod a+x ./tools_not_linked_usr.py
|
||||
|
||||
clean:
|
||||
rm -f *~ *.rpm $(BUILT_FILES)
|
||||
|
||||
# You may need to add other targets e.g. to build executables from source code
|
||||
# Add them here:
|
||||
|
||||
|
||||
# Include Common Makefile
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
# Generate the testinfo.desc here:
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
# Change to the test owner's name
|
||||
@echo "Owner: Bruno Goncalves <bgoncalv@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "License: GPL" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: Make sure tools are not linked to lib under /usr.">> $(METADATA)
|
||||
@echo "TestTime: 1h" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
13
tests/tools_not_linked_usr/PURPOSE
Normal file
13
tests/tools_not_linked_usr/PURPOSE
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#===========================================================================
|
||||
#
|
||||
# Description:
|
||||
# Make sure tools are not using any library that is linked to /usr
|
||||
#
|
||||
# Bugs related:
|
||||
#
|
||||
# Author(s):
|
||||
# Bruno Goncalves
|
||||
# <bgoncalv@redhat.com>
|
||||
#
|
||||
#===========================================================================
|
||||
# EndFile
|
||||
18
tests/tools_not_linked_usr/runtest.sh
Executable file
18
tests/tools_not_linked_usr/runtest.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted
|
||||
# material is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
#
|
||||
# Author: Bruno Goncalves <bgoncalv@redhat.com>
|
||||
rhts-run-simple-test tools_not_linked_usr ./tools_not_linked_usr.py
|
||||
95
tests/tools_not_linked_usr/tools_not_linked_usr.py
Executable file
95
tests/tools_not_linked_usr/tools_not_linked_usr.py
Executable file
|
|
@ -0,0 +1,95 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# Author: Bruno Goncalves <bgoncalv@redhat.com>
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
import re
|
||||
|
||||
def run(cmd):
|
||||
print("INFO: Running '%s'..." % cmd)
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
|
||||
stdout, stderr = p.communicate()
|
||||
|
||||
retcode = p.returncode
|
||||
output = stdout.decode('ascii', 'ignore') + stderr.decode('ascii', 'ignore')
|
||||
|
||||
# remove new line from last line
|
||||
output = output.rstrip()
|
||||
print(output)
|
||||
return retcode, output
|
||||
|
||||
def start_test():
|
||||
|
||||
#if uses any library linked to /usr this my affect the tools during boot
|
||||
print("INFO: Making sure tools provided by device-mapper-persistent-data "
|
||||
"are not linked to /usr")
|
||||
|
||||
#Paths where we should have no libraries linked from
|
||||
lib_paths = ["/usr/"]
|
||||
|
||||
package = "device-mapper-persistent-data"
|
||||
run("yum install -y %s" % package)
|
||||
#Get all tools that we need to check
|
||||
ret, output = run("rpm -ql %s | grep \"sbin/\"" % package)
|
||||
if ret != 0:
|
||||
print("FAIL: Could not get the tools shipped from %s" % package)
|
||||
return False
|
||||
tools = output.split("\n")
|
||||
|
||||
error = False
|
||||
for tool in tools:
|
||||
if not tool:
|
||||
#skip any blank line
|
||||
continue
|
||||
tool_error = 0
|
||||
for lib_path in lib_paths:
|
||||
print("INFO: Checking if %s is not linked to libraries at %s" % (tool, lib_path))
|
||||
ret, linked_lib = run("ldd %s" % tool)
|
||||
if ret != 0:
|
||||
print("FAIL: Could not list dynamically libraries for %s" % (tool))
|
||||
tool_error += 1
|
||||
else:
|
||||
#The command executed sucessfuly
|
||||
#check if any library linked is from lib_path
|
||||
links = linked_lib.split("\n")
|
||||
for link in links:
|
||||
if re.match(".*%s.*" % lib_path, link):
|
||||
print("FAIL: %s is linked to %s" % (tool, link))
|
||||
tool_error += 1
|
||||
|
||||
if tool_error == 0:
|
||||
print("%s is not linked to %s" % (tool, lib_path))
|
||||
else:
|
||||
#found some error in at least 1 tool
|
||||
error = True
|
||||
|
||||
if error:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
if not start_test():
|
||||
print("FAIL: test failed")
|
||||
sys.exit(1)
|
||||
|
||||
print("PASS: Test pass")
|
||||
sys.exit(0)
|
||||
|
||||
main()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue