diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39daced --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/chardet-*.tar.gz +/chardet-*/ +/chardet-4.0.0-filtered.tar.xz +/chardet-5.0.0-filtered.tar.xz +/chardet-5.1.0-filtered.tar.xz +/chardet-5.2.0-filtered.tar.xz +/chardet-5.2.0-filtered.tar.zst diff --git a/Makefile b/Makefile deleted file mode 100644 index 6b7cfc1..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-chardet -# $Id$ -NAME := python-chardet -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/changelog b/changelog new file mode 100644 index 0000000..b7f7ac3 --- /dev/null +++ b/changelog @@ -0,0 +1,143 @@ +* Mon Jun 13 2022 Python Maint - 4.0.0-7 +- Rebuilt for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 4.0.0-6 +- Bootstrap for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 4.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 4.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 02 2021 Python Maint - 4.0.0-3 +- Rebuilt for Python 3.10 + +* Wed Jun 02 2021 Python Maint - 4.0.0-2 +- Bootstrap for Python 3.10 + +* Fri Feb 05 2021 Miro Hrončok - 4.0.0-1 +- Update to 4.0.0 +- Fixes: rhbz#1906585 +- Fixes: rhbz#1923076 + +* Wed Jan 27 2021 Fedora Release Engineering - 3.0.4-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 3.0.4-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri May 22 2020 Miro Hrončok - 3.0.4-17 +- Rebuilt for Python 3.9 + +* Fri May 22 2020 Miro Hrončok - 3.0.4-16 +- Bootstrap for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.0.4-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 14 2019 Miro Hrončok - 3.0.4-14 +- Subpackage python2-chardet has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Thu Oct 03 2019 Miro Hrončok - 3.0.4-13 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Thu Aug 15 2019 Miro Hrončok - 3.0.4-12 +- Rebuilt for Python 3.8 + +* Wed Aug 14 2019 Miro Hrončok - 3.0.4-11 +- Bootstrap for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 3.0.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 3.0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Aug 17 2018 Miro Hrončok - 3.0.4-8 +- Only have one /usr/bin/chardetect + +* Fri Jul 13 2018 Fedora Release Engineering - 3.0.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 13 2018 Miro Hrončok - 3.0.4-6 +- Rebuilt for Python 3.7 + +* Sun Feb 11 2018 Iryna Shcherbina - 3.0.4-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 3.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 3.0.4-3 +- Python 2 binary package renamed to python2-chardet + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Jul 27 2017 Fedora Release Engineering - 3.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 20 2017 Jeremy Cline - 3.0.4-1 +- Update to 3.0.4 (#1441436) + +* Sat Feb 11 2017 Fedora Release Engineering - 2.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Dec 09 2016 Charalampos Stratakis - 2.3.0-2 +- Rebuild for Python 3.6 + +* Wed Jul 27 2016 Miro Hrončok - 2.3.0-1 +- Update to 2.3.0 (#1150536) + +* Tue Jul 19 2016 Fedora Release Engineering - 2.2.1-6 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 2.2.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Oct 14 2015 Robert Kuska - 2.2.1-4 +- Rebuilt for Python3.5 rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 2.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jul 31 2014 Tom Callaway - 2.2.1-2 +- fix license handling + +* Wed Jul 02 2014 Miro Hrončok - 2.2.1-1 +- Updated to 2.2.1 +- Introduced Python 3 subpackage (upstream has merged the codebase) +- Removed BuildRoot and python_sitelib definition +- Use python2 macros instead of just python + +* Sat Jun 07 2014 Fedora Release Engineering - 2.0.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 2.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 2.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 2.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 2.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 2.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Wed Jan 13 2010 Kushal Das 2.0.1-1 +- New release + +* Sun Jul 26 2009 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Aug 04 2008 Kushal Das 1.0.1-1 +- Initial release + diff --git a/chardetect.1 b/chardetect.1 new file mode 100644 index 0000000..f6f0ff2 --- /dev/null +++ b/chardetect.1 @@ -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 diff --git a/get_source b/get_source new file mode 100755 index 0000000..a574f7e --- /dev/null +++ b/get_source @@ -0,0 +1,48 @@ +#!/bin/sh +set -o errexit +set -o nounset + +if [ "$#" != '1' ] +then + cat 1>&2 < 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 diff --git a/python-chardet.rpmlintrc b/python-chardet.rpmlintrc new file mode 100644 index 0000000..39210e7 --- /dev/null +++ b/python-chardet.rpmlintrc @@ -0,0 +1,11 @@ +# Not a real spelling error: +addFilter(r" spelling-error \('([Pp]rober)s?',") +# This Source cannot be a URL because we must filter out certain files. +addFilter(r" invalid-url Source[0-9]+: chardet-.*-filtered\.tar\.zst") +# Bogus; it is a perfectly fine zstandard file. +addFilter(r" inconsistent-file-extension chardet-.*-filtered\.tar\.zst$") +# The -doc subpackage was removed without an equivalent replacement. +addFilter(r" obsolete-not-provided python-chardet-doc$") +# Update LGPLv2.1 license text and notices for remote-only FSF +# https://github.com/chardet/chardet/pull/307 +addFilter(r" incorrect-fsf-address ") diff --git a/python-chardet.spec b/python-chardet.spec new file mode 100644 index 0000000..a851737 --- /dev/null +++ b/python-chardet.spec @@ -0,0 +1,78 @@ +Name: python-chardet +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 +# 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 + +BuildSystem: pyproject +BuildOption(install): -l chardet + +BuildArch: noarch + +%global common_description %{expand: +Chardet: The Universal Character Encoding Detector + +Detects: + + • 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) + +ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily +disabled.} + +%description +%{common_description} + + +%package -n python3-chardet +Summary: %{summary} + +# Removed in F41: +Obsoletes: python-chardet-doc < 5.2.0-12 + +%description -n python3-chardet +%{common_description} + + +%install -a +install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 '%{SOURCE2}' + + +# We cannot run the upstream tests because they would require data files with +# problematic license status. + + +%files -n python3-chardet -f %{pyproject_files} +%doc README.rst +%{_bindir}/chardetect +%{_mandir}/man1/chardetect.1* + + +%changelog +%autochangelog diff --git a/sources b/sources index e69de29..3fe621b 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (chardet-5.2.0-filtered.tar.zst) = 410b2d62c54781f9b848ee78c659d4607bbb7f94f6117d7fa7cd5f82a50dfaf10d6e4c6dfaefa9b9a721b846c167aa12eae029debbaa66b0d830875c8ce5749c