summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pessimist.spec262
-rw-r--r--sources1
3 files changed, 264 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5356f1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pessimist-0.9.3.tar.gz
diff --git a/python-pessimist.spec b/python-pessimist.spec
new file mode 100644
index 0000000..cf38093
--- /dev/null
+++ b/python-pessimist.spec
@@ -0,0 +1,262 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pessimist
+Version: 0.9.3
+Release: 1
+Summary: Ensures your dependencies work with minimum version
+License: MIT
+URL: https://github.com/python-packaging/pessimist/
+Source0: https://mirrors.aliyun.com/pypi/web/packages/36/9e/50a29c11bcb571c12497a929bf599a5cc264440b584052517652b8beace4/pessimist-0.9.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-volatile
+Requires: python3-toml
+Requires: python3-pep517
+Requires: python3-honesty
+Requires: python3-highlighter
+Requires: python3-setuptools
+Requires: python3-click
+
+%description
+# pessimist
+
+The name "optimist" was already taken?
+
+Given your listed requirements, and how to run your tests, tries various
+versions to ensure the minimums are accurate.
+
+
+## Usage
+
+```
+python -m pessimist [-c 'make test'] [--fast] [--extend=name[,name...]] [--requirements=requirements*.txt] /path/to/repo
+```
+
+* `-c` -- command to run. If you're using a src/ layout you can use `cd src;
+ python -m unittest` or so.
+* `--fast` -- only verify min and max versions
+* `--extend` -- ignore specifiers entirely for the listed canonical names;
+ intended to let you go back past `==` and may be improved to do something more
+ like that in the future. Also allows `*` as a name to mean all names that are
+ "variable"
+* `--requirements` -- comma-separated globs which represented "fixed"
+ requirements.
+* `--verbose` -- show logs as it's working
+
+
+## Fixed and variable
+
+* Fixed requirements are from `requirements*.txt`. If these match more than one
+ version, only the newest is kept.
+* Variable requirements are from your setup.py/setup.cfg/etc that make it into
+ the metadata. These are the ones we're interested in trying.
+* If a name is in both sets, the variable logic is followed.
+
+
+## Strategy
+
+1. Try newest versions of everything. Bail if this fails to pass.
+2. For each dep independently, try progressively older versions.
+3. Try oldest versions of all. Bail if this fails to pass.
+
+I subscribe to the "requirements.txt should be concrete versions you want to
+use in CI" school of thought; the constraints in setup.py/setup.cfg/pyproject.toml
+should be `>=` the minimum version that works, and `<` the next major version
+("compatible", in poetry terms).
+
+My goal in creating this is to have an automated check that we haven't broken
+compatibility with an older version unintentionally. You could have a simpler
+version of this that does `sed -e 's/>=/==/` on your requirements files, but if
+that fails, finding the new minimum is still a research projct that's automated
+by this one.
+
+
+# License
+
+pessimist is copyright [Tim Hatch](https://timhatch.com/), and licensed under
+the MIT license. I am providing code in this repository to you under an open
+source license. This is my personal repository; the license you receive to
+my code is from me and not from my employer. See the `LICENSE` file for details.
+
+
+
+
+%package -n python3-pessimist
+Summary: Ensures your dependencies work with minimum version
+Provides: python-pessimist
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pessimist
+# pessimist
+
+The name "optimist" was already taken?
+
+Given your listed requirements, and how to run your tests, tries various
+versions to ensure the minimums are accurate.
+
+
+## Usage
+
+```
+python -m pessimist [-c 'make test'] [--fast] [--extend=name[,name...]] [--requirements=requirements*.txt] /path/to/repo
+```
+
+* `-c` -- command to run. If you're using a src/ layout you can use `cd src;
+ python -m unittest` or so.
+* `--fast` -- only verify min and max versions
+* `--extend` -- ignore specifiers entirely for the listed canonical names;
+ intended to let you go back past `==` and may be improved to do something more
+ like that in the future. Also allows `*` as a name to mean all names that are
+ "variable"
+* `--requirements` -- comma-separated globs which represented "fixed"
+ requirements.
+* `--verbose` -- show logs as it's working
+
+
+## Fixed and variable
+
+* Fixed requirements are from `requirements*.txt`. If these match more than one
+ version, only the newest is kept.
+* Variable requirements are from your setup.py/setup.cfg/etc that make it into
+ the metadata. These are the ones we're interested in trying.
+* If a name is in both sets, the variable logic is followed.
+
+
+## Strategy
+
+1. Try newest versions of everything. Bail if this fails to pass.
+2. For each dep independently, try progressively older versions.
+3. Try oldest versions of all. Bail if this fails to pass.
+
+I subscribe to the "requirements.txt should be concrete versions you want to
+use in CI" school of thought; the constraints in setup.py/setup.cfg/pyproject.toml
+should be `>=` the minimum version that works, and `<` the next major version
+("compatible", in poetry terms).
+
+My goal in creating this is to have an automated check that we haven't broken
+compatibility with an older version unintentionally. You could have a simpler
+version of this that does `sed -e 's/>=/==/` on your requirements files, but if
+that fails, finding the new minimum is still a research projct that's automated
+by this one.
+
+
+# License
+
+pessimist is copyright [Tim Hatch](https://timhatch.com/), and licensed under
+the MIT license. I am providing code in this repository to you under an open
+source license. This is my personal repository; the license you receive to
+my code is from me and not from my employer. See the `LICENSE` file for details.
+
+
+
+
+%package help
+Summary: Development documents and examples for pessimist
+Provides: python3-pessimist-doc
+%description help
+# pessimist
+
+The name "optimist" was already taken?
+
+Given your listed requirements, and how to run your tests, tries various
+versions to ensure the minimums are accurate.
+
+
+## Usage
+
+```
+python -m pessimist [-c 'make test'] [--fast] [--extend=name[,name...]] [--requirements=requirements*.txt] /path/to/repo
+```
+
+* `-c` -- command to run. If you're using a src/ layout you can use `cd src;
+ python -m unittest` or so.
+* `--fast` -- only verify min and max versions
+* `--extend` -- ignore specifiers entirely for the listed canonical names;
+ intended to let you go back past `==` and may be improved to do something more
+ like that in the future. Also allows `*` as a name to mean all names that are
+ "variable"
+* `--requirements` -- comma-separated globs which represented "fixed"
+ requirements.
+* `--verbose` -- show logs as it's working
+
+
+## Fixed and variable
+
+* Fixed requirements are from `requirements*.txt`. If these match more than one
+ version, only the newest is kept.
+* Variable requirements are from your setup.py/setup.cfg/etc that make it into
+ the metadata. These are the ones we're interested in trying.
+* If a name is in both sets, the variable logic is followed.
+
+
+## Strategy
+
+1. Try newest versions of everything. Bail if this fails to pass.
+2. For each dep independently, try progressively older versions.
+3. Try oldest versions of all. Bail if this fails to pass.
+
+I subscribe to the "requirements.txt should be concrete versions you want to
+use in CI" school of thought; the constraints in setup.py/setup.cfg/pyproject.toml
+should be `>=` the minimum version that works, and `<` the next major version
+("compatible", in poetry terms).
+
+My goal in creating this is to have an automated check that we haven't broken
+compatibility with an older version unintentionally. You could have a simpler
+version of this that does `sed -e 's/>=/==/` on your requirements files, but if
+that fails, finding the new minimum is still a research projct that's automated
+by this one.
+
+
+# License
+
+pessimist is copyright [Tim Hatch](https://timhatch.com/), and licensed under
+the MIT license. I am providing code in this repository to you under an open
+source license. This is my personal repository; the license you receive to
+my code is from me and not from my employer. See the `LICENSE` file for details.
+
+
+
+
+%prep
+%autosetup -n pessimist-0.9.3
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pessimist -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e5e5289
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+12b85091d582830b96a6e5b7a7004471 pessimist-0.9.3.tar.gz