Compare commits

..

1 Commits
c9 ... i10ce

@ -0,0 +1,29 @@
.TH CHARDETECT "1" "June 2022" "" "User Commands"
.SH NAME
.B chardetect
\(en takes one or more file paths and reports their detected encodings
.SH SYNOPSIS
.B chardetect
.RB [ \-h ]
.RB [ \-\-version ]
.RI [ input \ ...]
.SH OPTIONS
.SS "POSITIONAL ARGUMENTS"
.TP
.I input
File whose encoding we would like to determine.
(default:
.IR stdin )
.SS "OPTIONAL ARGUMENTS"
.TP
.B \-h\fR, \fB\-\-help
show a help message and exit
.TP
.B \-\-minimal
Print only the encoding to standard output
.TP
.B \-l\fR, \fB\-\-legacy
Rename legacy encodings to more modern ones.
.TP
.B \-\-version
show program\(cqs version number and exit

@ -0,0 +1,48 @@
#!/bin/sh
set -o errexit
set -o nounset
if [ "$#" != '1' ]
then
cat 1>&2 <<EOF
Usage: $0 VERSION
Downloads the requested version and creates a filtered source tarball.
EOF
exit 1
fi
VERSION="${1}"
OUTDIR="${PWD}"
TMPDIR="$(mktemp -d)"
trap "rm -rf '${TMPDIR}'" INT TERM EXIT
cd "${TMPDIR}"
URL="$(rpm -E "%{pypi_source chardet ${VERSION}}")"
echo "--> Downloading: ${URL}" 1>&2
curl -L -O "${URL}"
ARCHIVE="$(find . -mindepth 1 -maxdepth 1 -type f -name '*.tar.gz' -print -quit)"
echo "--> Extracting: $(basename "${ARCHIVE}")" 1>&2
tar -xzf "${ARCHIVE}"
echo '--> Removing tests due to licensing issues' 1>&2
TARDIR="$(basename "${ARCHIVE}" '.tar.gz')"
MTIME="$(stat -c '%Y' "${TARDIR}")"
rm -rvf "${TARDIR}/tests/"
# Restore the original mtime even though we modified the base directory by
# removing the tests.
touch -d @"${MTIME}" "${TARDIR}"
FILTERED="$(basename "${ARCHIVE}" .tar.gz)-filtered.tar.zst"
echo "--> Re-archiving: ${FILTERED}" 1>&2
# https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html
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' \
"${TARDIR}/" |
zstdmt --ultra -22 > "${FILTERED}"
mv -v "${FILTERED}" "${OUTDIR}"
echo 'Done.' 1>&2

@ -1,45 +1,80 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 15;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
Name: python-chardet
Version: 4.0.0
Release: 5%{?dist}
Summary: Character encoding auto-detection in Python
License: LGPLv2
Version: 5.2.0
Release: %autorelease
Summary: Python character encoding detector
# The entire source, after tests/ are filtered, is LGPL-2.0-or-later. See the
# comment above Source0 for more details on tests/.
License: LGPL-2.0-or-later
URL: https://github.com/chardet/chardet
Source0: %{pypi_source chardet}
# A filtered source tarball, obtained by (see Source1):
#
# ./get_source %%{version}
#
# is required because the contents of tests/ are under various undocumented
# licenses and are, for the most part, not freely redistributable. See:
#
# problematic licensing of /tests?
# https://github.com/chardet/chardet/issues/231
Source0: chardet-%{version}-filtered.tar.zst
Source1: get_source
# Hand-written for Fedora in groff_man(7) format based on --help output
Source2: chardetect.1
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
# Circular dependency on pytest
%bcond_without tests
%if %{with tests}
BuildRequires: python3-pytest
%endif
%global common_description %{expand:
Chardet: The Universal Character Encoding Detector
Detects:
%global _description\
Character encoding auto-detection in Python. As\
smart as your browser. Open source.
• ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)
• Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified
Chinese)
• EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese)
• EUC-KR, ISO-2022-KR, Johab (Korean)
• KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic)
• ISO-8859-5, windows-1251 (Bulgarian)
• ISO-8859-1, windows-1252 (Western European languages)
• ISO-8859-7, windows-1253 (Greek)
• ISO-8859-8, windows-1255 (Visual and Logical Hebrew)
• TIS-620 (Thai)
%description %_description
ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily
disabled.}
%description
%{common_description}
%package -n python3-chardet
Summary: %{summary}
%description -n python3-chardet %_description
# Removed in F41:
Obsoletes: python-chardet-doc < 5.2.0-12
%description -n python3-chardet
%{common_description}
%prep
%autosetup -p1 -n chardet-%{version}
# Remove useless shebangs
# https://github.com/chardet/chardet/commit/1e94b33329
grep -lr "^#\!/usr/bin/env python" chardet/ | xargs sed -i "1d"
%prep
%autosetup -n chardet-%{version}
%generate_buildrequires
%pyproject_buildrequires -r
%pyproject_buildrequires
%build
@ -48,37 +83,134 @@ grep -lr "^#\!/usr/bin/env python" chardet/ | xargs sed -i "1d"
%install
%pyproject_install
%pyproject_save_files chardet
%pyproject_save_files -l chardet
install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 '%{SOURCE2}'
%if %{with tests}
%check
%pytest -v
%endif
# We cannot run the upstream tests because they would require data files with
# problematic license status.
%pyproject_check_import
%files -n python3-chardet -f %{pyproject_files}
%license LICENSE
%doc README.rst
%{_bindir}/chardetect
%{_mandir}/man1/chardetect.1*
%changelog
* Mon Feb 21 2022 Tomas Orsava <torsava@redhat.com> - 4.0.0-5
- Add gating configuration and a simple smoke test
- Related: rhbz#1950291
* Tue Dec 17 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 5.2.0-15
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
* Mon Jul 29 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-14
- Fix source archive, which was xz-compressed despite the .zst extension
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jul 05 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-12
- F41+: Stop building PDF documentation; drop -doc subpackage
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 5.2.0-10
- Rebuilt for Python 3.13
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 5.2.0-9
- Bootstrap for Python 3.13
* Fri Apr 05 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-8
- Use zstd instead of xz for filtered source archive compression
* Fri Apr 05 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-7
- Make the filtered source archive more reproducible
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Dec 17 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-2
- Assert that %%pyproject_files contains a license file
* Wed Aug 02 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 5.2.0-1
- Update to 5.2.0 (close RHBZ#2228250)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 5.1.0-7
- When PDF docs are disabled, omit the -doc subpackage
* Fri Jul 07 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 5.1.0-6
- Use new (rpm 4.17.1+) bcond style
* Tue Feb 08 2022 Tomas Orsava <torsava@redhat.com> - 4.0.0-4
- Add automatically generated Obsoletes tag with the python39- prefix
for smoother upgrade from RHEL8
- Related: rhbz#1990421
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 5.1.0-5
- Rebuilt for Python 3.12
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.0.0-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 5.1.0-4
- Bootstrap for Python 3.12
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.0.0-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri Mar 17 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 5.1.0-3
- Dont assume %%_smp_mflags is -j%%_smp_build_ncpus
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 01 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 5.1.0-1
- Update to 5.1.0 (close RHBZ#2150154)
* Fri Oct 21 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 5.0.0-3
- Update License to SPDX
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 5.0.0-1
- Update to 5.0.0 (close RHBZ#2101067)
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-19
- Fix get_source_script
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-18
- Drop test data with problematic license status
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-17
- BR python3dist(hypothesis) to enable more tests
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-16
- Package Sphinx-generated PDF in a -doc subpackage
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-15
- Drop explicit pyproject-rpm-macros BR
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-14
- Update summary and description from upstream
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-13
- Add a man page for the chardetect command
* Sat Jun 25 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 4.0.0-12
- Correct License from LGPLv2 to LGPLv2+
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.0.0-7
- Rebuilt for Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.0.0-6
- Bootstrap for Python 3.11
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 4.0.0-3
- Rebuilt for Python 3.10
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 4.0.0-2
- Bootstrap for Python 3.10
* Fri Feb 05 2021 Miro Hrončok <mhroncok@redhat.com> - 4.0.0-1
- Update to 4.0.0
@ -205,3 +337,5 @@ grep -lr "^#\!/usr/bin/env python" chardet/ | xargs sed -i "1d"
* Mon Aug 04 2008 Kushal Das <kushal@fedoraproject.org> 1.0.1-1
- Initial release
## END: Generated by rpmautospec

Loading…
Cancel
Save