diff --git a/.gitignore b/.gitignore index 21f69e7..bba3f77 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ /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 diff --git a/get_test_data.sh b/get_test_data.sh index a43c1ee..395006a 100755 --- a/get_test_data.sh +++ b/get_test_data.sh @@ -11,13 +11,13 @@ Usage: $1 VERSION 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 -result will be named pyMapVBVD-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. 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. +pymapvbvd-\${VERSION}/ is omitted from the archived paths. EOF } @@ -45,8 +45,8 @@ GITDIR="$(echo "${FORGEURL}" | sed -r 's@.*/@@')" #SOURCE0="${FORGEURL}/archive/${VERSION}/pdfminer.six-${VERSION}.tar.gz" #TARNAME="$(basename "${SOURCE0}")" -TARDIR="pyMapVBVD-${VERSION}" -NEWTAR='pyMapVBVD-test-data.tar.xz' +TARDIR="pymapvbvd-${VERSION}" +NEWTAR='pymapvbvd-test-data.tar.zst' SAVEDIR="${PWD}" XDIR="$(mktemp -d)" @@ -79,7 +79,7 @@ TZ=UTC LC_ALL=C tar \ --pax-option='delete=atime,delete=ctime' \ --clamp-mtime --mtime='@0' \ . | - xz -9e > "${XDIR}/${NEWTAR}" + zstdmt --ultra -22 > "${XDIR}/${NEWTAR}" cd "${SAVEDIR}" mv -v "${XDIR}/${NEWTAR}" . diff --git a/python-pymapvbvd.rpmlintrc b/python-pymapvbvd.rpmlintrc new file mode 100644 index 0000000..bab460e --- /dev/null +++ b/python-pymapvbvd.rpmlintrc @@ -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$") diff --git a/python-pymapvbvd.spec b/python-pymapvbvd.spec index cfc0fcb..fbb7b36 100644 --- a/python-pymapvbvd.spec +++ b/python-pymapvbvd.spec @@ -1,25 +1,28 @@ Name: python-pymapvbvd -Version: 0.5.7 +Version: 0.6.1 Release: %autorelease Summary: Python twix file reader # The entire source is MIT, except: -# - The script versioneer.py and the file pymapvbvd/_version.py, which was -# generated by it, are both Unlicense. +# - The file pymapvbvd/_version.py, which is generated by python-versioneer, +# shares its license (Unlicense, for recent versions of Versioneer); see +# also versioneer.py (which is removed in %%prep) License: MIT AND Unlicense URL: https://github.com/wtclarke/pymapvbvd -Source0: %{pypi_source pyMapVBVD} +Source0: %{pypi_source pymapvbvd} # Generated with Source2: ./get_test_data.sh %%{version} -Source1: pyMapVBVD-test-data.tar.xz +Source1: pymapvbvd-test-data.tar.zst Source2: get_test_data.sh +BuildSystem: pyproject +BuildOption(generate_buildrequires): -x tests +BuildOption(install): -l mapvbvd + BuildArch: noarch # PyMapVBVD assumes the platform is little-endian # https://bugzilla.redhat.com/show_bug.cgi?id=2225518 ExcludeArch: s390x -BuildRequires: python3-devel - %global common_description %{expand: Python port of the Matlab mapVBVD tool for reading Siemens raw data 'twix' (.dat) files.} @@ -36,41 +39,27 @@ Summary: %{summary} # The generated _version.py has the same license as python3dist(versioneer), # but we do not consider it to be bundled from Versioneer. -# -# 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. -# -# 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. %description -n python3-pymapvbvd %{common_description} %prep -%autosetup -n pyMapVBVD-%{version} -p1 -%setup -q -T -D -a 1 -c -n pyMapVBVD-%{version} +%autosetup -n pymapvbvd-%{version} -p1 +%setup -q -T -D -a 1 -c -n pymapvbvd-%{version} +# We can use the system versioneer to generate _version.py, and can remove the +# bundled, amaglamated versioneer.py to indicate we aren’t using it. +rm -v versioneer.py -%generate_buildrequires +%generate_buildrequires -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' -export PYTHONPATH="${PWD}" -%pyproject_buildrequires -x tests -%build +%build -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' -export PYTHONPATH="${PWD}" -%pyproject_wheel -%install -%pyproject_install -%pyproject_save_files -l mapvbvd - - -%check +%check -a %pytest -v diff --git a/sources b/sources index 2cc74d1..8624192 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pyMapVBVD-0.5.7.tar.gz) = 0efd2d12ec48ae7f825095edf440d14064cf0f1690ab7dee63f247a923d359f633d057086a1d3defd2bd1606dbba0d1fabe2f6360f3658d04c78f347b61771ce -SHA512 (pyMapVBVD-test-data.tar.xz) = e082c5c296c67d62dbfaa631a8507427ac74375902b2038bf5de58aed39f3ce71dd013318cb262d66bc3ab7bb0c560ea7228b52da09ed7361a0396b16e71b974 +SHA512 (pymapvbvd-0.6.1.tar.gz) = b1c12e8f4c261522858feea9c66b5c174b37203a73a54aac8e2bbfb3ab7b1933ba44c9c172aa9cf7a97dba0c4554d99042c042fef9b42f73e912f747ceac1d55 +SHA512 (pymapvbvd-test-data.tar.zst) = 638be0a8ad0e0876b13948d657bcf921e18938e964215c0c61b9deb6eb5f3abee449a0391238e8e60ffef55c4ca3b9c2906f4c4fd3655e23eed3567279e72323