Compare commits
12 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac509e05b7 | ||
|
|
0f5bdf42e8 | ||
|
|
6fad78eded | ||
|
|
3dee69c2e3 | ||
|
|
c964eb3eb5 | ||
|
|
811b27d1ae | ||
|
|
59c310354d | ||
|
|
80fff89bb5 | ||
|
|
ab2171eee6 | ||
|
|
e8bd5959af | ||
|
|
6f1aceb033 | ||
|
|
ea9f076778 |
17 changed files with 172 additions and 4381 deletions
47
.gitignore
vendored
47
.gitignore
vendored
|
|
@ -11,53 +11,6 @@
|
|||
/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
54
README.md
|
|
@ -1,54 +0,0 @@
|
|||
# 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.
|
||||
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
--- thin-provisioning-tools-0.4.1/man8/era_restore.8.orig 2014-10-28 14:24:43.356272471 +0100
|
||||
+++ thin-provisioning-tools-0.4.1/man8/era_restore.8 2014-10-28 14:28:56.358133852 +0100
|
||||
@@ -0,0 +1,63 @@
|
||||
+.TH ERA_RESTORE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
|
||||
+.SH NAME
|
||||
+era_restore \- restore era metadata file to device or file
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B era_restore
|
||||
+.RB [ options ]
|
||||
+.RB -i
|
||||
+.I {device|file}
|
||||
+.RB -o
|
||||
+.I {device|file}
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+.B era_restore
|
||||
+restores binary era metadata created by the
|
||||
+respective device-mapper target dumped into an XML formatted (see
|
||||
+.BR era_dump(8) )
|
||||
+.I file
|
||||
+, which optionally can be preprocessed before the restore to another
|
||||
+.I device
|
||||
+or
|
||||
+.I file.
|
||||
+If restored to a metadata
|
||||
+.I device
|
||||
+, the metadata can be processed by the device-mapper target.
|
||||
+
|
||||
+.IP "\fB\-q, \-\-quiet\fP"
|
||||
+Suppress output messages, return only exit code.
|
||||
+
|
||||
+.IP "\fB\-i, \-\-input\fP \fI{device|file}\fP"
|
||||
+Input file or device with metadata.
|
||||
+
|
||||
+.IP "\fB\-o, \-\-output\fP \fI{device|file}\fP"
|
||||
+Output file or device.
|
||||
+
|
||||
+.IP "\fB\-h, \-\-help\fP"
|
||||
+Print help and exit.
|
||||
+
|
||||
+.IP "\fB\-V, \-\-version\fP"
|
||||
+Output version information and exit.
|
||||
+
|
||||
+.SH EXAMPLE
|
||||
+Restores the XML formatted era metadata on file
|
||||
+.B metadata
|
||||
+to logical volume /dev/vg/metadata for further processing by the
|
||||
+respective device-mapper target:
|
||||
+.sp
|
||||
+.B era_restore -i metadata -o /dev/vg/metadata
|
||||
+
|
||||
+.SH DIAGNOSTICS
|
||||
+.B era_restore
|
||||
+returns an exit code of 0 for success or 1 for error.
|
||||
+
|
||||
+.SH SEE ALSO
|
||||
+.B era_check(8)
|
||||
+.B era_dump(8)
|
||||
+.B era_invaidate(8)
|
||||
+.B era_restore(8)
|
||||
+
|
||||
+.SH AUTHOR
|
||||
+Joe Thornber <ejt@redhat.com>
|
||||
+.br
|
||||
+Heinz Mauelshagen <HeinzM@RedHat.com>
|
||||
--- thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8.orig 2014-10-28 14:31:49.116087709 +0100
|
||||
+++ thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8 2014-10-28 14:50:29.337238755 +0100
|
||||
@@ -0,0 +1,47 @@
|
||||
+.TH CACHE_METADATA_SIZE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
|
||||
+.SH NAME
|
||||
+cache_metadata_size \- cache metadata device/file size calculator.
|
||||
+
|
||||
+.SH SYNOPSIS
|
||||
+.B cache_metadata_size
|
||||
+.RB [ options ]
|
||||
+
|
||||
+.SH DESCRIPTION
|
||||
+.B cache_metadata_size
|
||||
+calculates the size of the cache metadata based on the block size
|
||||
+of the cache device and the cache block size.
|
||||
+All relates to the size of the fast device (eg, SSD), rather
|
||||
+than the whole cached (i.e. origin) device.
|
||||
+
|
||||
+.IP "\fB\\-\-block\-size <sectors>\fP
|
||||
+Block size of cache in units of sectors.
|
||||
+
|
||||
+.IP "\fB\\-\-device\-size <sectors>\fP
|
||||
+Device size of the cache device in units of sectors.
|
||||
+
|
||||
+.IP "\fB\\-\-nr\-blocks <natural>\fP
|
||||
+Capacity of the cache in number of blocks.
|
||||
+
|
||||
+.IP "\fB\-h, \-\-help\fP"
|
||||
+Print help and exit.
|
||||
+
|
||||
+.IP "\fB\-V, \-\-version\fP"
|
||||
+Output version information and exit.
|
||||
+
|
||||
+.SH EXAMPLES
|
||||
+Calculates the cache metadata device size for block size 256 sectors.and device size of 2GiB
|
||||
+.sp
|
||||
+.B cache_metadata_size --block-size 256 --device-size $((2*1024*1024))
|
||||
+
|
||||
+.SH DIAGNOSTICS
|
||||
+.B cache_metadata_size
|
||||
+returns an exit code of 0 for success or 1 for error.
|
||||
+
|
||||
+.SH SEE ALSO
|
||||
+.B cache_check(8)
|
||||
+.B cache_dump(8)
|
||||
+.B cache_repair(8)
|
||||
+.B cache_restore(8)
|
||||
+
|
||||
+.SH AUTHOR
|
||||
+Heinz Mauelshagen <HeinzM@RedHat.com>
|
||||
|
|
@ -1,12 +1,8 @@
|
|||
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)
|
||||
diff -purN thin-provisioning-tools-0.6.0.orig/Makefile.in thin-provisioning-tools-0.6.0.new/Makefile.in
|
||||
--- thin-provisioning-tools-0.6.0.orig/Makefile.in 2016-01-20 16:43:21.000000000 +0100
|
||||
+++ thin-provisioning-tools-0.6.0.new/Makefile.in 2016-01-20 17:26:11.943664295 +0100
|
||||
@@ -174,7 +174,6 @@ distclean: clean
|
||||
install: bin/pdata_tools
|
||||
$(INSTALL_DIR) $(BINDIR)
|
||||
$(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
|
||||
- $(STRIP) $(BINDIR)/pdata_tools
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
--- thin-provisioning-tools-0.4.1/man8/thin_check.8.orig 2014-10-28 14:19:02.800420873 +0100
|
||||
+++ thin-provisioning-tools-0.4.1/man8/thin_check.8 2014-10-28 14:19:47.335924554 +0100
|
||||
@@ -25,6 +25,12 @@
|
||||
.IP "\fB\-V, \-\-version\fP"
|
||||
Output version information and exit.
|
||||
|
||||
+.IP "\fB\-\-clear\-needs\-check\-flag\fP"
|
||||
+Clear the needs-check-flag in case the check of the thin pool metadata succeeded.
|
||||
+If the metadata check failed, the flag is not cleared and a thin_repair run is
|
||||
+needed to fix any issues.
|
||||
+After thin_repair succeeded, you may run thin_check again.
|
||||
+
|
||||
.IP "\fB\-\-super\-block\-only\fP"
|
||||
Only check the superblock is present.
|
||||
|
||||
|
|
@ -1,38 +1,22 @@
|
|||
#
|
||||
# Copyright (C) 2011-2017 Red Hat, Inc
|
||||
# Copyright (C) 2011-2016 Red Hat, Inc
|
||||
#
|
||||
%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: 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}
|
||||
Version: 0.6.3
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3+
|
||||
Group: System Environment/Base
|
||||
URL: https://github.com/jthornber/thin-provisioning-tools
|
||||
#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
|
||||
Source0: https://github.com/jthornber/thin-provisioning-tools/archive/thin-provisioning-tools-%{version}.tar.gz
|
||||
# Source1: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}.tar.gz
|
||||
Patch0: device-mapper-persistent-data-document-clear-needs-check-flag.patch
|
||||
Patch1: device-mapper-persistent-data-add-era_restore-and-cache_metadata_size-man-pages.patch
|
||||
Patch2: device-mapper-persistent-data-avoid-strip.patch
|
||||
|
||||
%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
|
||||
BuildRequires: autoconf, expat-devel, libaio-devel, libstdc++-devel, boost-devel
|
||||
Requires: expat
|
||||
|
||||
%description
|
||||
thin-provisioning-tools contains check,dump,restore,repair,rmap
|
||||
|
|
@ -43,348 +27,91 @@ are included and era check, dump, restore and invalidate to manage
|
|||
snapshot eras
|
||||
|
||||
%prep
|
||||
%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
|
||||
|
||||
%setup -q -n thin-provisioning-tools-%{version}
|
||||
%patch0 -p1 -b .clear_needs_check_flag
|
||||
%patch1 -p1 -b .man_pages
|
||||
%patch2 -p1 -b .avoid_strip
|
||||
echo %{version}-%{release} > VERSION
|
||||
|
||||
%generate_buildrequires
|
||||
|
||||
%build
|
||||
#make %{?_smp_mflags} V=
|
||||
%cargo_build
|
||||
%cargo_license_summary
|
||||
%{cargo_license} > LICENSE.dependencies
|
||||
%cargo_vendor_manifest
|
||||
autoconf
|
||||
%configure --with-optimisation=
|
||||
make %{?_smp_mflags} V=
|
||||
|
||||
%install
|
||||
# TODO: Check that MANDIR is unused and remove
|
||||
%make_install STRIP=true MANDIR=%{_mandir} BINDIR=%{buildroot}%{_sbindir}
|
||||
make DESTDIR=%{buildroot} MANDIR=%{_mandir} install
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
%cargo_test
|
||||
#cargo test --test thin_shrink -- --nocapture --test-threads=1
|
||||
%endif
|
||||
%clean
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
%license LICENSE.dependencies
|
||||
%license cargo-vendor.txt
|
||||
%doc COPYING README.md
|
||||
%{_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/cache_repair.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
|
||||
%{_mandir}/man8/thin_repair.8.gz
|
||||
%{_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}/cache_repair
|
||||
%{_sbindir}/era_check
|
||||
%{_sbindir}/era_dump
|
||||
%{_sbindir}/era_invalidate
|
||||
%{_sbindir}/era_restore
|
||||
%{_sbindir}/era_invalidate
|
||||
%{_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_repair
|
||||
%{_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
|
||||
* Tue Mar 08 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc5
|
||||
- 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
|
||||
* Tue Aug 11 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.
|
||||
|
||||
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
|
||||
|
||||
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.5.3-2
|
||||
- rebuild for Boost 1.58
|
||||
|
||||
* 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.
|
||||
|
|
|
|||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
|||
SHA512 (v1.3.1.tar.gz) = ff0758b21b50702568cad88522ee4c2b6b4433cec0a5f5074c9d1791c13e630e5c516601d7a68c51ac34e036091fc82fe831dbe51e6776737571d90ed266878e
|
||||
SHA512 (dmpd131-vendor.tar.gz) = 0e1b8e501e330b64415c9097c94dfc1f1b43d2900a66258e40b6c8f28c51fd61247d60495f594f14550fb349ed4ad435f8959a8808fea1d363a206c5ead7db1e
|
||||
28b352363ea7eb6698ad2efcd7d8c2ae thin-provisioning-tools-0.6.3.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,75 +0,0 @@
|
|||
# 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)
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
#===========================================================================
|
||||
#
|
||||
# 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
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,18 +0,0 @@
|
|||
#!/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
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
---
|
||||
# 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
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
# 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)
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#===========================================================================
|
||||
#
|
||||
# Description:
|
||||
# Make sure tools are not using any library that is linked to /usr
|
||||
#
|
||||
# Bugs related:
|
||||
#
|
||||
# Author(s):
|
||||
# Bruno Goncalves
|
||||
# <bgoncalv@redhat.com>
|
||||
#
|
||||
#===========================================================================
|
||||
# EndFile
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#!/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
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
#!/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