Compare commits

..

No commits in common. "rawhide" and "python-lxml-1_0-1_fc6" have entirely different histories.

12 changed files with 80 additions and 1852 deletions

1
.cvsignore Normal file
View file

@ -0,0 +1 @@
lxml-1.0.tgz

View file

@ -1 +0,0 @@
1

75
.gitignore vendored
View file

@ -1,75 +0,0 @@
lxml-2.2.7.tar.gz
lxml-2.2.7.tar.gz.asc
/lxml-2.2.8.tar.gz
/lxml-2.2.8.tar.gz.asc
/lxml-2.3.tar.gz
/lxml-2.3.tar.gz.asc
/lxml-2.3.1.tar.gz
/lxml-2.3.1.tar.gz.asc
/lxml-2.3.2.tar.gz
/lxml-2.3.2.tar.gz.asc
/lxml-2.3.3.tar.gz
/lxml-2.3.3.tar.gz.asc
/lxml-2.3.5.tar.gz
/lxml-2.3.5.tar.gz.asc
/lxml-3.0.tar.gz
/lxml-3.0.tar.gz.asc
/lxml-3.0.tgz
/lxml-3.0.tgz.asc
/lxml-3.0.1.tgz
/lxml-3.0.1.tgz.asc
/lxml-3.1.0.tgz
/lxml-3.1.0.tgz.asc
/lxml-3.2.0.tgz
/lxml-3.2.0.tgz.asc
/lxml-3.2.1.tgz
/lxml-3.2.1.tgz.asc
/lxml-3.2.3.tgz
/lxml-3.2.3.tgz.asc
/lxml-3.2.4.tgz
/lxml-3.2.4.tgz.asc
/lxml-3.3.0.tgz
/lxml-3.3.0.tgz.asc
/lxml-3.3.2.tgz
/lxml-3.3.2.tgz.asc
/lxml-3.3.3.tgz
/lxml-3.3.3.tgz.asc
/lxml-3.3.5.tgz
/lxml-3.3.5.tgz.asc
/lxml-3.3.6.tgz
/lxml-3.3.6.tgz.asc
/lxml-3.4.4.tgz
/lxml-3.4.4.tgz.asc
/lxml-3.6.4.tar.gz
/lxml-3.7.0.tar.gz
/lxml-3.7.1.tgz
/lxml-3.7.2.tgz
/lxml-3.8.0.tgz
/lxml-4.0.0.tgz
/lxml-4.1.1.tgz
/lxml-4.2.1.tgz
/lxml-4.2.3.tgz
/lxml-4.2.4.tgz
/lxml-4.2.5.tgz
/lxml-4.4.0.tgz
/lxml-4.4.1.tgz
/lxml-4.5.1.tgz
/lxml-4.6.2.tar.gz
/lxml-4.6.3.tar.gz
/lxml-4.7.1.tar.gz
/lxml-4.9.1.tar.gz
/lxml-4.9.2.tar.gz
/lxml-4.9.2-no-isoschematron.tar.gz
/lxml-4.9.2-no-isoschematron-rng.tar.gz
/lxml-4.9.3-no-isoschematron-rng.tar.gz
/lxml-4.9.4-no-isoschematron-rng.tar.gz
/lxml-5.1.0-no-isoschematron-rng.tar.gz
/lxml-5.2.0-no-isoschematron-rng.tar.gz
/lxml-5.2.1-no-isoschematron-rng.tar.gz
/lxml-5.3.0-no-isoschematron-rng.tar.gz
/lxml-5.3.1-no-isoschematron-rng.tar.gz
/lxml-5.3.2-no-isoschematron-rng.tar.gz
/lxml-5.4.0-no-isoschematron-rng.tar.gz
/lxml-6.0.0-no-isoschematron-rng.tar.gz
/lxml-6.0.1-no-isoschematron-rng.tar.gz
/lxml-6.0.2-no-isoschematron-rng.tar.gz

21
Makefile Normal file
View file

@ -0,0 +1,21 @@
# Makefile for source rpm: python-lxml
# $Id$
NAME := python-lxml
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)

1642
changelog

File diff suppressed because it is too large Load diff

1
ci.fmf
View file

@ -1 +0,0 @@
resultsdb-testcase: separate

View file

@ -1,8 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional}

View file

@ -1,28 +0,0 @@
#! /bin/bash -ex
# Download a release of lxml (if missing) and remove the isoschematron module from it
version=$1
if [ -z "${version}" ]; then
echo "Usage: $0 VERSION" >& 2
echo "" >& 2
echo "example: $0 4.9.2" >& 2
exit 1
fi
versionedname=lxml-${version}
orig_archive=${versionedname}.tar.gz
new_archive=${versionedname}-no-isoschematron-rng.tar.gz
if [ ! -e ${orig_archive} ]; then
wget -N https://files.pythonhosted.org/packages/source/l/lxml/${orig_archive}
fi
deleted_directory=lxml-${version}/src/lxml/isoschematron/resources/rng
# tar --delete does not operate on compressed archives, so do
# gz decompression explicitly
gzip --decompress ${orig_archive}
tar -v --delete -f ${orig_archive//.gz} ${deleted_directory}
gzip -cf ${orig_archive//.gz} > ${new_archive}

View file

@ -1,7 +0,0 @@
import lxml.etree as et
s = '<foo><bar baz="xyzzy">a<![CDATA[b]]>c</bar></foo>'
x = et.fromstring(s)
t = x.find('bar').text
print(t)
if t != 'abc':
raise Exception()

View file

@ -1,12 +0,0 @@
summary: Basic smoke test
discover:
how: shell
tests:
- name: /smoke/import-python-module
test: |
python3 -c 'import importlib as il; print(il.import_module("lxml"))'
- name: /smoke/etree-fromstring
test: |
python3 plans/etree-fromstring.py
execute:
how: tmt

View file

@ -1,94 +1,74 @@
Name: python-lxml %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Version: 6.0.2 %{!?python_version: %define python_version %(%{__python} -c "import sys ; print sys.version[:3]")}
Release: %autorelease
Summary: XML processing library combining libxml2/libxslt with the ElementTree API
# The lxml project is licensed under BSD-3-Clause %define srcname lxml
# Some code is derived from ElementTree and cElementTree
# thus using the MIT-CMU elementtree license
# .xsl schematron files are under the MIT license
License: BSD-3-Clause AND MIT-CMU AND MIT
URL: https://github.com/lxml/lxml
# We use the get-lxml-source.sh script to generate the tarball Name: python-%{srcname}
# without the isoschematron RNG validation file under a problematic license. Version: 1.0
# See: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/154 Release: 1%{?dist}
Source0: lxml-%{version}-no-isoschematron-rng.tar.gz Summary: ElementTree-like Python bindings for libxml2 and libxslt
Source1: get-lxml-source.sh
BuildRequires: gcc Group: Development/Libraries
BuildRequires: libxml2-devel License: BSD
BuildRequires: libxslt-devel URL: http://codespeak.net/lxml/
BuildRequires: python3-devel Source0: http://codespeak.net/lxml/%{srcname}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Some of the extras create a build dependency loop. BuildRequires: python-devel libxslt-devel python-setuptools
# - [cssselect] Requires cssselect BuildRequires lxml # Upstream now includes the generated .c file and the Pyrex shipped
# - [html5] Requires html5lib BuildRequires lxml # with FC (0.9.3.1) is broken for gcc >= 4.0
# - [htmlsoup] Requires beautifulsoup4 Requires lxml #BuildRequires: Pyrex >= 0.9.4
# - [html_clean] Requires lxml-html-clean Requires lxml Requires: python-abi = %{python_version}
# Hence we provide a bcond to disable the extras altogether.
# By default, the extras are disabled in RHEL, to avoid dependencies.
%bcond extras %{undefined rhel}
%global _description \ %description
lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It\ lxml provides a Python binding to the libxslt and libxml2 libraries. It
provides safe and convenient access to these libraries using the ElementTree It\ follows the ElementTree API as much as possible in order to provide a more
extends the ElementTree API significantly to offer support for XPath, RelaxNG,\ Pythonic interface to libxml2 and libxslt than the default bindings. In
XML Schema, XSLT, C14N and much more. particular, lxml deals with Python Unicode strings rather than encoded UTF-8
and handles memory management automatically, unlike the default bindings.
%description %{_description}
%package -n python3-lxml
Summary: %{summary}
%if %{with extras}
Suggests: python3-lxml+cssselect
Suggests: python3-lxml+html5
Suggests: python3-lxml+htmlsoup
Suggests: python3-lxml+html_clean
%endif
%description -n python3-lxml %{_description}
Python 3 version.
%if %{with extras}
%pyproject_extras_subpkg -n python3-lxml cssselect html5 htmlsoup html_clean
%endif
%prep %prep
%autosetup -n lxml-%{version} -p1 %setup -q -n %{srcname}-%{version}
# Don't run html5lib tests --without extras
%{!?without_extras:rm src/lxml/html/tests/test_html5parser.py}
# Remove limit for version of Cython
sed -i "s/Cython.*/Cython/" requirements.txt
sed -i 's/"Cython.*",/"Cython",/' pyproject.toml
%generate_buildrequires
%pyproject_buildrequires -x source%{?with_extras:,cssselect,html5,htmlsoup,html_clean}
%build %build
# Remove pregenerated Cython C sources CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
# We need to do this after %%pyproject_buildrequires because setup.py errors
# without Cython and without the .c files.
find -type f -name '*.c' -print -delete >&2
export WITH_CYTHON=true
%pyproject_wheel
%install %install
%pyproject_install rm -rf $RPM_BUILD_ROOT
%pyproject_save_files lxml %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT --single-version-externally-managed
%check
# The tests assume inplace build, so we copy the built library to source-dir.
# If not done that, Python can either import the tests or the extension modules, but not both.
cp -a build/lib.%{python3_platform}-*/* src/
# The options are: verbose, unit, functional
%{python3} test.py -vuf
%files -n python3-lxml -f %{pyproject_files} %clean
%license doc/licenses/BSD.txt doc/licenses/elementtree.txt rm -rf $RPM_BUILD_ROOT
%doc README.rst
%files
%defattr(-,root,root,-)
%doc README.txt LICENSES.txt PKG-INFO CREDITS.txt CHANGES.txt doc/
%{python_sitearch}/lxml-%{version}-py%{python_version}.egg-info/
%dir %{python_sitearch}/lxml
%{python_sitearch}/lxml/*.so
%{python_sitearch}/lxml/*.py
%{python_sitearch}/lxml/*.pyc
%ghost %{python_sitearch}/lxml/*.pyo
%changelog %changelog
%autochangelog * Fri Jun 02 2006 Shahms E. King <shahms@shahms.com> 1.0-1
- Update to new upstream 1.0 release
* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-3
- Add python-setuptools to BuildRequires
- Use dist tag
* Wed Apr 26 2006 Shahms E. King <shahms@shahms.com> 0.9.1-2
- Fix summary and description
* Tue Apr 18 2006 Shahms E. King <shahms@shahms.com> 0.9.1-1
- update the new upstream version
- remove Pyrex build req
* Tue Dec 13 2005 Shahms E. King <shahms@shahms.com> 0.8-1
- Initial package

View file

@ -1 +1 @@
SHA512 (lxml-6.0.2-no-isoschematron-rng.tar.gz) = dc89f75c3a3c828a46bcb2eefbebe8f98ce8072b9fb66f8ef81edbf2babed74e4c54e26392603319d60ab3bfab6a4795eedc85b28efba815797d43d53aae4060 2f1ced6d29eeafea7b82acbac7e787f6 lxml-1.0.tgz