Compare commits

...
Sign in to create a new pull request.

21 commits

Author SHA1 Message Date
Python Maint
f78cfa9db2 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:07:14 +02:00
Python Maint
9057ef303e Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:32:07 +02:00
Fedora Release Engineering
b7c7666321 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 09:41:20 +00:00
Python Maint
9d25fc900d Rebuilt for Python 3.14 2025-06-03 21:16:17 +02:00
Benjamin A. Beasley
a7154955f9 F41+: Use the provisional pyproject declarative buildsystem 2025-05-06 14:58:14 -04:00
Fedora Release Engineering
10664e9197 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 17:53:48 +00:00
Benjamin A. Beasley
07249b40dd Update to 0.6.1 (close RHBZ#2322960) 2024-10-31 14:27:26 -04:00
Fedora Release Engineering
d965b58314 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 14:36:00 +00:00
Benjamin A. Beasley
278ccd0ab8 Update to 0.6.0 (close RHBZ#2295552) 2024-07-03 12:13:44 -04:00
Python Maint
5f86ea8d9b Rebuilt for Python 3.13 2024-06-08 20:58:47 +02:00
Benjamin A. Beasley
d772e286e7 Compress test data with zstd instead of xz
The result is a moderate size increase (~8%), but also tremendously
faster decompression, which results in a modest but noticeable
improvement in overall build time.

The real basis for the change is the relative upstream healths of the
two projects.
2024-04-05 11:03:07 -04:00
Benjamin A. Beasley
e6b918c6f5 Add an rpmlintrc file
[skip changelog]
2024-04-01 22:07:41 -04:00
Benjamin A. Beasley
f2f44d0e41 Update to 0.5.7 (close RHBZ#2262160) 2024-01-31 20:07:19 -05:00
Fedora Release Engineering
d82aa4072a Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 08:47:13 +00:00
Fedora Release Engineering
7d8bc655ba Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 05:42:40 +00:00
Benjamin A. Beasley
e99ed75cef Assert that %pyproject_files contains a license file 2023-12-18 14:43:23 -05:00
Benjamin A. Beasley
1d65d50d52 Update to 0.5.6 (close RHBZ#2243258) 2023-10-11 13:12:11 -04:00
Benjamin A. Beasley
7af0207616 Make the test data source archive mostly-reproducible
This should keep us from having to upload a fresh archive to the
lookaside cache for a new version when the data hasn’t actually
changed.
2023-10-11 13:04:52 -04:00
Benjamin A. Beasley
182093c796 Update to 0.5.5 (close RHBZ#2243111) 2023-10-10 19:42:31 -04:00
Benjamin A. Beasley
d9ad1a0d3c Add mandatory ExcludeArch bug link 2023-07-25 09:01:27 -04:00
Benjamin A. Beasley
c603006c36 Drop versioneer conditionals and let the dist-git branches diverge 2023-07-24 10:50:32 -04:00
5 changed files with 62 additions and 59 deletions

9
.gitignore vendored
View file

@ -2,3 +2,12 @@
/pyMapVBVD-0.5.3.tar.gz /pyMapVBVD-0.5.3.tar.gz
/pyMapVBVD-0.5.4.tar.gz /pyMapVBVD-0.5.4.tar.gz
/pyMapVBVD-0.5.4-test-data.tar.xz /pyMapVBVD-0.5.4-test-data.tar.xz
/pyMapVBVD-0.5.5.tar.gz
/pyMapVBVD-0.5.5-test-data.tar.xz
/pyMapVBVD-test-data.tar.xz
/pyMapVBVD-0.5.6.tar.gz
/pyMapVBVD-0.5.7.tar.gz
/pyMapVBVD-test-data.tar.zst
/pymapvbvd-0.6.0.tar.gz
/pymapvbvd-test-data.tar.zst
/pymapvbvd-0.6.1.tar.gz

View file

@ -11,8 +11,13 @@ Usage: $1 VERSION
Generate a source archive containing the test data files for pyMapVBVD that are Generate a source archive containing the test data files for pyMapVBVD that are
tracked in git LFS and are not included in the default source archive. The tracked in git LFS and are not included in the default source archive. The
result will be named pyMapVBVD-\${VERSION}-test-data.tar.xz and will be written result will be named pymapvbvd-test-data.tar.zst and will be written
into the current working directory. into the current working directory.
The script attempts to produce a reproducible archive to avoid uploading
near-duplicate archives to the lookaside cache when the test data does not
change from one version to the next. Accordingly, the top-level directory
pymapvbvd-\${VERSION}/ is omitted from the archived paths.
EOF EOF
} }
@ -40,8 +45,8 @@ GITDIR="$(echo "${FORGEURL}" | sed -r 's@.*/@@')"
#SOURCE0="${FORGEURL}/archive/${VERSION}/pdfminer.six-${VERSION}.tar.gz" #SOURCE0="${FORGEURL}/archive/${VERSION}/pdfminer.six-${VERSION}.tar.gz"
#TARNAME="$(basename "${SOURCE0}")" #TARNAME="$(basename "${SOURCE0}")"
TARDIR="pyMapVBVD-${VERSION}" TARDIR="pymapvbvd-${VERSION}"
NEWTAR="${TARDIR}-test-data.tar.xz" NEWTAR='pymapvbvd-test-data.tar.zst'
SAVEDIR="${PWD}" SAVEDIR="${PWD}"
XDIR="$(mktemp -d)" XDIR="$(mktemp -d)"
@ -61,8 +66,20 @@ git lfs ls-files -n |
ln "${fn}" "${DESTDIR}/$(basename "${fn}")" ln "${fn}" "${DESTDIR}/$(basename "${fn}")"
done done
cd "${XDIR}" cd "${XDIR}/${TARDIR}"
tar -cv "${TARDIR}/" | xz -9e > "${NEWTAR}" # https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html
# We discard mtimes entirely, since git doesnt store mtimes and they are just
# the time we did the git clone.
TZ=UTC LC_ALL=C tar \
--create --verbose \
--sort=name \
--format=posix \
--numeric-owner --owner=0 --group=0 \
--mode=go+u,go-w \
--pax-option='delete=atime,delete=ctime' \
--clamp-mtime --mtime='@0' \
. |
zstdmt --ultra -22 > "${XDIR}/${NEWTAR}"
cd "${SAVEDIR}" cd "${SAVEDIR}"
mv -v "${XDIR}/${NEWTAR}" . mv -v "${XDIR}/${NEWTAR}" .

View file

@ -0,0 +1,9 @@
# Not real spelling errors.
# - "dat" is from the extension ".dat"
# - "twix" is a data format
addFilter(r" spelling-error \('(dat|twix)',")
# This source cannot be a URL because we must use a script to download its
# contents from git-lfs.
addFilter(r" invalid-url Source[0-9]+: pymapvbvd-test-data\.tar\.zst$")
# Bogus; it is a perfectly fine zstandard file.
addFilter(r" inconsistent-file-extension pymapvbvd-test-data\.tar\.zst$")

View file

@ -1,40 +1,27 @@
# In the releases mentioned in the expression, the system versioneer is too old
# for the generated _version.py to have the get_version() function, and too old
# for the License tag to be accurate. We must use the bundled, amalgamated
# versioneer.py to generate _version.py.
#
# Otherwise, we can use the system versioneer to generate _version.py, and can
# remove the bundled, amaglamated versioneer.py to indicate we arent using it.
%bcond bundled_versioneer %{expr:0%{?fc37} || 0%{?fc38} || 0%{?el9}}
Name: python-pymapvbvd Name: python-pymapvbvd
Version: 0.5.4 Version: 0.6.1
Release: %autorelease Release: %autorelease
Summary: Python twix file reader Summary: Python twix file reader
# The entire source is MIT, except: # The entire source is MIT, except:
# - The script versioneer.py and the file pymapvbvd/_version.py, which was # - The file pymapvbvd/_version.py, which is generated by python-versioneer,
# generated by it, are both Unlicense. # shares its license (Unlicense, for recent versions of Versioneer); see
# also versioneer.py (which is removed in %%prep)
License: MIT AND Unlicense License: MIT AND Unlicense
URL: https://github.com/wtclarke/pymapvbvd URL: https://github.com/wtclarke/pymapvbvd
Source0: %{pypi_source pyMapVBVD} Source0: %{pypi_source pymapvbvd}
# Generated with Source2: ./get_test_data.sh %%{version} # Generated with Source2: ./get_test_data.sh %%{version}
Source1: pyMapVBVD-%{version}-test-data.tar.xz Source1: pymapvbvd-test-data.tar.zst
Source2: get_test_data.sh Source2: get_test_data.sh
BuildArch: noarch BuildSystem: pyproject
# The library assumes that the host and the file format are both little-endian. BuildOption(generate_buildrequires): -x tests
# The necessary patch would not be trivial. Queried upstream: BuildOption(install): -l mapvbvd
#
# Big-endian host support?
# https://github.com/wtclarke/pymapvbvd/issues/35
#
# A bug will be filed blocking F-ExcludeArch-s390x, per
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures,
# once the package is imported.
ExcludeArch: s390x
BuildRequires: python3-devel BuildArch: noarch
# PyMapVBVD assumes the platform is little-endian
# https://bugzilla.redhat.com/show_bug.cgi?id=2225518
ExcludeArch: s390x
%global common_description %{expand: %global common_description %{expand:
Python port of the Matlab mapVBVD tool for reading Siemens raw data 'twix' Python port of the Matlab mapVBVD tool for reading Siemens raw data 'twix'
@ -52,50 +39,31 @@ Summary: %{summary}
# The generated _version.py has the same license as python3dist(versioneer), # The generated _version.py has the same license as python3dist(versioneer),
# but we do not consider it to be bundled from Versioneer. # but we do not consider it to be bundled from Versioneer.
%if %{with bundled_versioneer}
# While versioneer.py is a bundled copy of python3dist(versioneer) = 0.28, it
# is not included in the binary RPMs, so we still do not treat it as bundled,
# and there is no corresponding virtual Provides.
%endif
%description -n python3-pymapvbvd %{common_description} %description -n python3-pymapvbvd %{common_description}
%prep %prep
%autosetup -n pyMapVBVD-%{version} -p1 %autosetup -n pymapvbvd-%{version} -p1
%setup -q -T -D -b 1 -n pyMapVBVD-%{version} %setup -q -T -D -a 1 -c -n pymapvbvd-%{version}
%if %{without bundled_versioneer} # We can use the system versioneer to generate _version.py, and can remove the
# bundled, amaglamated versioneer.py to indicate we arent using it.
rm -v versioneer.py rm -v versioneer.py
%endif
%generate_buildrequires %generate_buildrequires -p
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
%if %{with bundled_versioneer}
export PYTHONPATH="${PWD}"
%endif
%pyproject_buildrequires -x tests
%build %build -p
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
%if %{with bundled_versioneer}
export PYTHONPATH="${PWD}"
%endif
%pyproject_wheel
%install %check -a
%pyproject_install
%pyproject_save_files mapvbvd
%check
%pytest -v %pytest -v
%files -n python3-pymapvbvd -f %{pyproject_files} %files -n python3-pymapvbvd -f %{pyproject_files}
# pyproject_files handles LICENSE; verify with “rpm -qL -p …”
%doc README.md %doc README.md

View file

@ -1,2 +1,2 @@
SHA512 (pyMapVBVD-0.5.4.tar.gz) = 1512db1aa15dcac460b87f100ecd9539a274f6b740f4024aee283cbc7fe3a0f466accd01e76bc393492c0088a797adaa0ae158c58ee36310ff6b0bac1666fb30 SHA512 (pymapvbvd-0.6.1.tar.gz) = b1c12e8f4c261522858feea9c66b5c174b37203a73a54aac8e2bbfb3ab7b1933ba44c9c172aa9cf7a97dba0c4554d99042c042fef9b42f73e912f747ceac1d55
SHA512 (pyMapVBVD-0.5.4-test-data.tar.xz) = c29bcd449fb39d2449a1c3e555d4d61f80bc09102156d2103366bad610fe70e3c0152e417899db4e51879faec61a6d087576332c16f82bb30eedc2296026bef6 SHA512 (pymapvbvd-test-data.tar.zst) = 638be0a8ad0e0876b13948d657bcf921e18938e964215c0c61b9deb6eb5f3abee449a0391238e8e60ffef55c4ca3b9c2906f4c4fd3655e23eed3567279e72323