From fa35bb6ce8a2098916126551c93fc23543006bb1c1e22a082c0af2f719caa75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 6 Jan 2020 14:25:11 +0000 Subject: [PATCH] osc copypac from project:devel:languages:python:django package:python-django_compressor revision:12, using expand OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:django/python-django-compressor?expand=0&rev=2 --- .gitattributes | 23 +++ .gitignore | 1 + django_compressor-2.3.tar.gz | 3 + pr_956.patch | 30 +++ python-django_compressor.changes | 330 +++++++++++++++++++++++++++++++ python-django_compressor.spec | 79 ++++++++ 6 files changed, 466 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 django_compressor-2.3.tar.gz create mode 100644 pr_956.patch create mode 100644 python-django_compressor.changes create mode 100644 python-django_compressor.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/django_compressor-2.3.tar.gz b/django_compressor-2.3.tar.gz new file mode 100644 index 0000000..094cb63 --- /dev/null +++ b/django_compressor-2.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47c86347f75c64954a06afbbfc820a750619e10c23a49272b865020a407b7edd +size 110714 diff --git a/pr_956.patch b/pr_956.patch new file mode 100644 index 0000000..89d4cc0 --- /dev/null +++ b/pr_956.patch @@ -0,0 +1,30 @@ +From 87c00d0cd0a19196e2ceae45d850fa053121067a Mon Sep 17 00:00:00 2001 +From: John Vandenberg +Date: Sat, 14 Sep 2019 17:48:14 +0700 +Subject: [PATCH] test_base: Use sys.executable + +--- + compressor/tests/test_base.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/compressor/tests/test_base.py b/compressor/tests/test_base.py +index 7418047a..fcbcf13b 100644 +--- a/compressor/tests/test_base.py ++++ b/compressor/tests/test_base.py +@@ -1,6 +1,7 @@ + from __future__ import with_statement, unicode_literals + import os + import re ++import sys + from tempfile import mkdtemp + from shutil import rmtree, copytree + +@@ -317,7 +318,7 @@ def test_avoid_reordering_css(self): + self.assertEqual(media, [l.get('media', None) for l in links]) + + @override_settings(COMPRESS_PRECOMPILERS=( +- ('text/foobar', 'python %s {infile} {outfile}' % os.path.join(test_dir, 'precompiler.py')), ++ ('text/foobar', '%s %s {infile} {outfile}' % (sys.executable, os.path.join(test_dir, 'precompiler.py'))), + ), COMPRESS_ENABLED=False) + def test_passthough_when_compress_disabled(self): + css = """\ diff --git a/python-django_compressor.changes b/python-django_compressor.changes new file mode 100644 index 0000000..8f68b5c --- /dev/null +++ b/python-django_compressor.changes @@ -0,0 +1,330 @@ +------------------------------------------------------------------- +Sat Sep 14 10:51:15 UTC 2019 - John Vandenberg + +- Add pr_956.patch to fix tests to use sys.executable + +------------------------------------------------------------------- +Mon Jun 3 09:55:50 UTC 2019 - Tomáš Chvátal + +- Update to 2.3 release: + - Drop support for Django 1.8, 1.9 and 1.10 + - Add support for Django 2.1 and 2.2, as well as Python 3.7 + - Update all dependencies. This required minor code changes, you might need to update some optional dependencies if you use any + - Allow the mixed use of JS/CSS in Sekizai's templatetags `{% addtoblock "js" %}` and `{% addtoblock "css" %}` (#891) + - Allow the implementation of new types other than css and js. (#900) + - Update jinja2 extension to behave similar to the django tag (#899) + - Fix crash in offline compression when child nodelist is None, again (#605) + - Support STATIC_URL and COMPRESS_URL being string-like objects + - Improve compress command memory usage (#870) + - Ensure generated file always contains a base name (#775) + - Add BrotliCompressorFileStorage (#867) +- Drop merged patch compressor-django2.patch + +------------------------------------------------------------------- +Fri Jan 4 14:44:11 UTC 2019 - Jan Engelhardt + +- Use noun phrase for summary. + +------------------------------------------------------------------- +Thu Jan 3 11:41:08 UTC 2019 - Tomáš Chvátal + +- Add patch to build with django 2.0: + * compressor-django2.patch + +------------------------------------------------------------------- +Thu Jan 3 07:53:15 UTC 2019 - Tomáš Chvátal + +- Add missing dependencies + +------------------------------------------------------------------- +Tue Dec 11 09:47:19 UTC 2018 - Tomáš Chvátal + +- Enable testsuite (currently failing) + +------------------------------------------------------------------- +Wed Nov 15 17:08:49 UTC 2017 - buschmann23@opensuse.org + +- update to 2.2 + + Switch from MD5 to SHA256 for hashes generation. + + Add Django 1.11 compatibility + + Various compatibility fixes for Python 3.6 and Django 1.8 + + Made OfflineGenerationError easier to debug + + Drop support for Python 3.2 + + Add new CssRelativeFilter which works like CssAbsoluteFilter + but outputs relative URLs. + + Fix URL CssAbsoluteFilter URL detection +- spec file + + convert to single spec file + +------------------------------------------------------------------- +Wed Aug 16 06:45:28 UTC 2017 - dmueller@suse.com + +- update to 2.1.1 + +------------------------------------------------------------------- +Wed Feb 22 18:18:31 CET 2017 - sbrabec@suse.com + +- Update to version 2.1: + * Add Django 1.10 compatibility + * Add support for inheritance using a variable in offline + compression + * Fix recursion error with offline compression when extending + templates with the same name + * Fix UnicodeDecodeError when using CompilerFilter and caching + * Fix CssAbsoluteFilter changing double quotes to single quotes, + breaking SVG + +------------------------------------------------------------------- +Wed Jul 6 16:24:17 UTC 2016 - dmueller@suse.com + +- update to 2.0: + - Add Django 1.9 compatibility + - Remove official support for Django 1.4 and 1.7 + - Add official support for Python 3.5 + - Remove official support for Python 2.6 + - Remove support for coffin and jingo + - Fix Jinja2 compatibility for Django 1.8+ + - Stop bundling vendored versions of rcssmin and rjsmin, make them proper dependencies + - Remove support for CSSTidy + - Remove support for beautifulsoup 3. + - Replace cssmin by csscompressor (cssmin is still available for backwards-compatibility but points to rcssmin) + +------------------------------------------------------------------- +Fri May 20 12:07:14 UTC 2016 - aplanas@suse.com + +- update to 1.6 + - Upgrade rcssmin and rjsmin + - Apply CssAbsoluteFilter to precompiled css even when compression is disabled + - Add optional caching to CompilerFilter to avoid re-compiling unchanged files + - Fix various deprecation warnings on Django 1.7 / 1.8 + - Fix TemplateFilter + - Fix double-rendering bug with sekizai extension + - Fix debug mode using destination directory instead of staticfiles finders first + - Removed some silent exception catching in compress command + + +------------------------------------------------------------------- +Sat Jul 25 19:59:44 UTC 2015 - seife+obs@b1-systems.com + +- fix non-suse build by conditionalizing "Suggests" tags + +------------------------------------------------------------------- +Thu Jul 23 16:45:28 UTC 2015 - dmueller@suse.com + +- update to 1.5: + - Fix compress command and run automated tests for Django 1.8 + - Fix Django 1.8 warnings + - Handle TypeError from import_module + - Fix reading UTF-8 files which have BOM + - Fix incompatibility with Windows (shell_quote is not supported) + - Run automated tests on Django 1.7 + - Ignore non-existent {{ block.super }} in offline compression instead of raising AttributeError + - Support for clean-css + - Fix link markup + - Add support for COMPRESS_CSS_HASHING_METHOD = None + - Remove compatibility with old 'staticfiles' app + - In compress command, use get_template() instead of opening template files manually, fixing compatibility issues + - Fix FilterBase so that does not override self.type for subclasses if filter_type is not specified at init + - Remove unnecessary filename and existence checks in CssAbsoluteFilter + +------------------------------------------------------------------- +Thu Jun 26 09:42:00 UTC 2014 - dmueller@suse.com + +- update to 1.4: + - Added Python 3 compatibility. + - Added compatibility with Django 1.6.x. + - Fixed compatibility with html5lib 1.0. + - Added offline compression for Jinja2 with Jingo and Coffin integration. + - Improved support for template inheritance in offline compression. + - Made offline compression avoid compressing the same block multiple times. + - Added a ``testenv`` target in the Makefile to make it easier to set up the + test environment. + - Allowed data-uri filter to handle external/protocol-relative references. + - Made ``CssCompressor`` class easier to extend. + - Added support for explictly stating the block being ended. + - Added rcssmin and updated rjsmin. + - Removed implicit requirement on BeautifulSoup. + - Made GzipCompressorFileStorage set access and modified times to the same time + as the corresponding base file. + - Defaulted to using django's simplejson, if present. + - Fixed CompilerFilter to always output Unicode strings. + - Fixed windows line endings in offline compression. + +------------------------------------------------------------------- +Thu Oct 24 11:01:47 UTC 2013 - speilicke@suse.com + +- Require python-setuptools instead of distribute (upstreams merged) + +------------------------------------------------------------------- +Mon May 13 08:39:13 UTC 2013 - dmueller@suse.com + +- update to 1.3: +- *Backward incompatible changes* + + - Dropped support for Python 2.5. Removed ``any`` and ``walk`` compatibility + functions in ``compressor.utils``. + + - Removed compatibility with Django 1.2 for default values of some settings: + + - :attr:`~COMPRESS_ROOT` no longer uses ``MEDIA_ROOT`` if ``STATIC_ROOT`` is + not defined. It expects ``STATIC_ROOT`` to be defined instead. + + - :attr:`~COMPRESS_URL` no longer uses ``MEDIA_URL`` if ``STATIC_URL`` is + not defined. It expects ``STATIC_URL`` to be defined instead. + + - :attr:`~COMPRESS_CACHE_BACKEND` no longer uses ``CACHE_BACKEND`` and simply + defaults to ``default``. + +- Added precompiler class support. This enables you to write custom precompilers + with Python logic in them instead of just relying on executables. + +- Made CssAbsoluteFilter smarter: it now handles URLs with hash fragments or + querystring correctly. In addition, it now leaves alone fragment-only URLs. + +- Removed a ``fsync()`` call in ``CompilerFilter`` to improve performance. + We already called ``self.infile.flush()`` so that call was not necessary. + +- Added an extension to provide django-sekizai support. + See :ref:`django-sekizai Support ` for more + information. +- Fixed a ``DeprecationWarning`` regarding the use of ``django.utils.hashcompat`` +- Updated bundled ``rjsmin.py`` to fix some JavaScript compression errors. + +------------------------------------------------------------------- +Wed Nov 28 15:32:11 UTC 2012 - saschpe@suse.de + +- Add suggestions for useful additions: + + python-beautifulsoup + + python-html5lib + + python-lxml + + python-slimit + +------------------------------------------------------------------- +Mon Nov 26 14:47:14 UTC 2012 - cfarrell@suse.com + +- license update: MIT and BSD-3-Clause and Apache-2.0 + + +------------------------------------------------------------------- +Tue Nov 13 22:47:11 UTC 2012 - jfunk@funktronics.ca + +- Update to 1.2: + * Added compatibility with Django 1.4 and dropped support for Django 1.2.X. + * Added contributing docs. Be sure to check them out and start contributing! + * Moved CI to Travis: http://travis-ci.org/jezdez/django_compressor + * Introduced a new compressed context dictionary that is passed to the + templates that are responsible for rendering the compressed snippets. + This is a backwards-incompatible change if you've overridden any of the included templates: + compressor/css_file.html + compressor/css_inline.html + compressor/js_file.html + compressor/js_inline.html + The variables passed to those templates have been namespaced in a + dictionary, so it's easy to fix your own templates. + For example, the old compressor/js_file.html: + + The new compressor/js_file.html: + + * Removed old templates named compressor/css.html and compressor/js.html + that were originally left for backwards compatibility. If you've + overridden them, just rename them to compressor/css_file.html or + compressor/js_file.html and make sure you've accounted for the backwards + incompatible change of the template context mentioned above. + * Reverted an unfortunate change to the YUI filter that prepended + 'java -jar' to the binary name, which doesn't alway work, e.g. if the YUI + compressor is shipped as a script like /usr/bin/yui-compressor. + * Changed the sender parameter of the post_compress() signal to be either + compressor.css.CssCompressor or compressor.js.JsCompressor for easier + customization. + * Correctly handle offline compressing files that are found in {% if %} + template blocks. + * Renamed the second option for the COMPRESS_CSS_HASHING_METHOD setting from + 'hash' to 'content' to better describe what it does. The old name is also + supported, as well as the default being 'mtime'. + * Fixed CssAbsoluteFilter, src attributes in includes now get transformed. + * Added a new hook to allow developers to completely bypass offline + compression in CompressorNode subclasses: is_offline_compression_enabled. + * Dropped versiontools from required dependencies again. + +------------------------------------------------------------------- +Wed Feb 1 13:26:25 UTC 2012 - saschpe@suse.de + +- Spec file cleanup: + * Simplified macro usage + * Removed outdated %clean section + * Buildrequire python-distribute instead of setuptools + +------------------------------------------------------------------- +Fri Jan 20 02:04:02 UTC 2012 - jfunk@funktronics.ca + +- Add missing requirement for django-appconf + +------------------------------------------------------------------- +Thu Jan 12 19:03:33 UTC 2012 - jfunk@funktronics.ca + +- Update to 1.1.2: + * Fixed an installation issue related to versiontools + +------------------------------------------------------------------- +Sat Nov 26 06:01:29 UTC 2011 - jfunk@funktronics.ca + +- Update to 1.1.1: + - Fixed a stupid ImportError bug introduced in 1.1 + - Fixed Jinja2 docs of since JINJA2_EXTENSIONS expects a class, not a module + - Fixed a Windows bug with regard to file resolving with staticfiles finders + - Stopped a potential memory leak when memoizing the rendered output + - Fixed the integration between staticfiles (e.g. in Django <= 1.3.1) and + compressor which prevents the collectstatic management command to work + - Warning - Make sure to remove the path method of your custom remote + storage class! +- 1.1: + - Made offline compression completely independent from cache (by writing a + manifest.json file) + - You can now easily run the compress management command locally and + transfer the COMPRESS_ROOT dir to your server + - Updated installation instructions to properly mention all dependencies, + even those internally used + - Fixed a bug introduced in 1.0 which would prevent the proper deactivation + of the compression in production + - Added a Jinja2 contrib extension + - Made sure the rel attribute of link tags can be mixed case + - Avoid overwriting context variables needed for compressor to work + - Stopped the compress management command to require model validation + - Added missing imports and fixed a few PEP 8 issues +- 1.0.1: + - Fixed regression in compressor.utils.staticfiles compatibility module +- 1.0: + - BACKWARDS-INCOMPATIBLE Stopped swallowing exceptions raised by rendering + the template tag in production (DEBUG = False). This has the potential to + breaking lots of apps but on the other hand will help find bugs + - BACKWARDS-INCOMPATIBLE The default function to create the cache key + stopped containing the server hostname. Instead the cache key now only has + the form 'django_compressor.' + - To revert to the previous way simply set the COMPRESS_CACHE_KEY_FUNCTION + to 'compressor.cache.socket_cachekey' + - BACKWARDS-INCOMPATIBLE Renamed ambigously named COMPRESS_DATA_URI_MAX_SIZE + setting to COMPRESS_DATA_URI_MAX_SIZE. It’s the maximum size the + compressor.filters.datauri.DataUriFilter filter will embed files as data: + URIs + - Added COMPRESS_CSS_HASHING_METHOD setting with the options 'mtime' + (default) and 'hash' for the CssAbsoluteFilter filter. The latter uses the + content of the file to calculate the cache-busting hash + - Added support for {{ block.super }} to compress management command + - Dropped Django 1.1.X support + - Fixed compiler filters on Windows + - Handle new-style cached template loaders in the compress management + command + - Documented included filters + - Added Slim It filter + - Added new CallbackOutputFilter to ease the implementation of Python-based + callback filters that only need to pass the content to a callable + - Make use of django-appconf for settings handling and versiontools for + versions + - Uses the current context when rendering the render templates + - Added post_compress signal + +------------------------------------------------------------------- +Wed Jul 27 21:27:56 UTC 2011 - jfunk@funktronics.ca + +- Initial release + diff --git a/python-django_compressor.spec b/python-django_compressor.spec new file mode 100644 index 0000000..5a74284 --- /dev/null +++ b/python-django_compressor.spec @@ -0,0 +1,79 @@ +# +# spec file for package python-django_compressor +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define mod_name django_compressor +Name: python-%{mod_name} +Version: 2.3 +Release: 0 +Summary: Python module to compress linked/inline JavaScript/CSS to cached files +License: MIT AND BSD-3-Clause AND Apache-2.0 +Group: Development/Languages/Python +URL: https://github.com/django-compressor/django-compressor +Source: https://files.pythonhosted.org/packages/source/d/%{mod_name}/%{mod_name}-%{version}.tar.gz +Patch0: pr_956.patch +BuildRequires: %{python_module Brotli >= 1.0.6} +BuildRequires: %{python_module Django >= 1.11} +BuildRequires: %{python_module Jinja2} +BuildRequires: %{python_module beautifulsoup4} +BuildRequires: %{python_module csscompressor} +BuildRequires: %{python_module django-appconf >= 1.0} +BuildRequires: %{python_module django-sekizai >= 0.9.0} +BuildRequires: %{python_module mock} +BuildRequires: %{python_module rcssmin >= 1.0.6} +BuildRequires: %{python_module rjsmin >= 1.1.0} +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-Django >= 1.11 +Requires: python-Jinja2 +Requires: python-beautifulsoup4 +Requires: python-csscompressor +Requires: python-django-appconf >= 1.0 +Requires: python-rcssmin >= 1.0.6 +Requires: python-rjsmin >= 1.1.0 +Recommends: python-Brotli >= 1.0.6 +Suggests: python-django-sekizai >= 0.9.0 +BuildArch: noarch +%python_subpackages + +%description +Django Compressor combines and compresses linked and inline Javascript or CSS +in a Django templates into cacheable static files by using the "compress" +template tag. + +%prep +%setup -q -n %{mod_name}-%{version} +%patch0 -p1 + +%build +%python_build + +%install +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%python_expand %{_bindir}/django-admin.py-%{$python_bin_suffix} test --settings=compressor.test_settings compressor --pythonpath=`pwd` + +%files %{python_files} +%license LICENSE +%doc AUTHORS README.rst +%{python_sitelib}/* + +%changelog