From 9c9eb719f507b677a0f5eaab069c2022fd905962 Mon Sep 17 00:00:00 2001 From: Wong Hoi Sing Edison Date: Wed, 13 Dec 2023 08:37:15 +0800 Subject: [PATCH] alvistack/4.1.1 git clean -xdf mkdir -p .cargo cargo vendor --manifest-path ./src/_bcrypt/Cargo.toml > .cargo/config.toml tar zcvf ../python-bcrypt_4.1.1.orig.tar.gz --exclude=.git . debuild -uc -us cp python-bcrypt.spec ../python-bcrypt_4.1.1-1.spec cp ../python*-bcrypt*4.1.1*.{gz,xz,spec,dsc} /osc/home\:alvistack/pyca-bcrypt-4.1.1/ rm -rf ../python*-bcrypt*4.1.1*.* See https://github.com/pyca/bcrypt/pull/695 Signed-off-by: Wong Hoi Sing Edison --- .gitignore | 4 ++ debian/.gitignore | 6 ++ debian/changelog | 5 ++ debian/control | 30 ++++++++ debian/copyright | 21 ++++++ debian/python3-bcrypt.install | 1 + debian/python3-bcrypt.lintian-overrides | 4 ++ debian/rules | 15 ++++ debian/source/format | 1 + debian/source/lintian-overrides | 5 ++ python-bcrypt.spec | 91 +++++++++++++++++++++++++ setup.cfg | 4 ++ setup.py | 2 +- src/_bcrypt/Cargo.toml | 2 +- 14 files changed, 189 insertions(+), 2 deletions(-) create mode 100644 debian/.gitignore create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/python3-bcrypt.install create mode 100644 debian/python3-bcrypt.lintian-overrides create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/source/lintian-overrides create mode 100644 python-bcrypt.spec create mode 100644 setup.cfg diff --git a/.gitignore b/.gitignore index 048903d6..3d779c37 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ pip-log.txt #Translations *.mo + +.cargo/ +vendor/ +.pybuild/ diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 00000000..59720fda --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,6 @@ +*.substvars +*debhelper* +.debhelper +files +python3-bcrypt +tmp diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..92b6c5c6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +python-bcrypt (100:4.1.1-1) UNRELEASED; urgency=medium + + * https://github.com/pyca/bcrypt/releases/tag/4.1.1 + + -- Wong Hoi Sing Edison Thu, 30 Nov 2023 17:30:40 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..ea5676d1 --- /dev/null +++ b/debian/control @@ -0,0 +1,30 @@ +Source: python-bcrypt +Section: python +Priority: optional +Standards-Version: 4.5.0 +Maintainer: Wong Hoi Sing Edison +Homepage: https://github.com/pyca/bcrypt/tags +Vcs-Browser: https://github.com/alvistack/pyca-bcrypt +Vcs-Git: https://github.com/alvistack/pyca-bcrypt.git +Build-Depends: + cargo, + cython3, + debhelper, + debhelper-compat (= 10), + dh-python, + fdupes, + python3-dev, + python3-pycparser, + python3-setuptools (>= 42.0.0), + python3-setuptools-rust (>= 0.11.4), + rustc (>= 1.64.0), + +Package: python3-bcrypt +Architecture: amd64 +Description: Modern(-ish) password hashing for your software and your servers + Good password hashing for your software and your servers. +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + ${python3:Depends}, + python3, diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000..dcb9a244 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,21 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: debian/* +Copyright: 2023 Wong Hoi Sing Edison +License: Apache-2.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + The complete text of the Apache version 2.0 license + can be found in "/usr/share/common-licenses/Apache-2.0". diff --git a/debian/python3-bcrypt.install b/debian/python3-bcrypt.install new file mode 100644 index 00000000..e3da3e75 --- /dev/null +++ b/debian/python3-bcrypt.install @@ -0,0 +1 @@ +usr/lib/python*/*-packages/* diff --git a/debian/python3-bcrypt.lintian-overrides b/debian/python3-bcrypt.lintian-overrides new file mode 100644 index 00000000..1b0a6375 --- /dev/null +++ b/debian/python3-bcrypt.lintian-overrides @@ -0,0 +1,4 @@ +python3-bcrypt: copyright-without-copyright-notice +python3-bcrypt: initial-upload-closes-no-bugs +python3-bcrypt: no-manual-page +python3-bcrypt: zero-byte-file-in-doc-directory diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..fcaa45ef --- /dev/null +++ b/debian/rules @@ -0,0 +1,15 @@ +#!/usr/bin/make -f + +SHELL := /bin/bash + +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + find debian/tmp/usr/lib/python*/*-packages -type f -name '*.pyc' -exec rm -rf {} \; + fdupes -qnrps debian/tmp/usr/lib/python*/*-packages + +override_dh_auto_test: + +override_dh_auto_clean: + +%: + dh $@ --buildsystem=pybuild --with python3 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 00000000..52ff17b1 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,5 @@ +python-bcrypt source: file-without-copyright-information +python-bcrypt source: no-debian-changes +python-bcrypt source: source-contains-prebuilt-windows-binary +python-bcrypt source: source-package-encodes-python-version +python-bcrypt source: unpack-message-for-orig diff --git a/python-bcrypt.spec b/python-bcrypt.spec new file mode 100644 index 00000000..d7a728f7 --- /dev/null +++ b/python-bcrypt.spec @@ -0,0 +1,91 @@ +# Copyright 2023 Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +%global debug_package %{nil} + +Name: python-bcrypt +Epoch: 100 +Version: 4.1.1 +Release: 1%{?dist} +Summary: Modern(-ish) password hashing for your software and your servers +License: Apache-2.0 +URL: https://github.com/pyca/bcrypt/tags +Source0: %{name}_%{version}.orig.tar.gz +BuildRequires: cargo +BuildRequires: fdupes +BuildRequires: gcc +BuildRequires: python-rpm-macros +BuildRequires: python3-cython +BuildRequires: python3-devel +BuildRequires: python3-pycparser +BuildRequires: python3-setuptools >= 42.0.0 +BuildRequires: python3-setuptools-rust >= 0.11.4 +BuildRequires: rust >= 1.64.0 + +%description +Good password hashing for your software and your servers. + +%prep +%autosetup -T -c -n %{name}_%{version}-%{release} +tar -zx -f %{S:0} --strip-components=1 -C . + +%build +%py3_build + +%install +%py3_install +find %{buildroot}%{python3_sitearch} -type f -name '*.pyc' -exec rm -rf {} \; +fdupes -qnrps %{buildroot}%{python3_sitearch} + +%check + +%if 0%{?suse_version} > 1500 +%package -n python%{python3_version_nodots}-bcrypt +Summary: Modern(-ish) password hashing for your software and your servers +Requires: python3 +Provides: python3-bcrypt = %{epoch}:%{version}-%{release} +Provides: python3dist(bcrypt) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-bcrypt = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(bcrypt) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-bcrypt = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(bcrypt) = %{epoch}:%{version}-%{release} + +%description -n python%{python3_version_nodots}-bcrypt +Good password hashing for your software and your servers. + +%files -n python%{python3_version_nodots}-bcrypt +%license LICENSE +%{python3_sitearch}/* +%endif + +%if !(0%{?suse_version} > 1500) +%package -n python3-bcrypt +Summary: Modern(-ish) password hashing for your software and your servers +Requires: python3 +Provides: python3-bcrypt = %{epoch}:%{version}-%{release} +Provides: python3dist(bcrypt) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-bcrypt = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(bcrypt) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-bcrypt = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(bcrypt) = %{epoch}:%{version}-%{release} + +%description -n python3-bcrypt +Good password hashing for your software and your servers. + +%files -n python3-bcrypt +%license LICENSE +%{python3_sitearch}/* +%endif + +%changelog diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..8bfd5a12 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,4 @@ +[egg_info] +tag_build = +tag_date = 0 + diff --git a/setup.py b/setup.py index 449aa1c2..13694c48 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ RustExtension( "bcrypt._bcrypt", "src/_bcrypt/Cargo.toml", - py_limited_api=True, + py_limited_api="auto", rust_version=( ">=1.64.0" if os.environ.get("BCRYPT_ALLOW_RUST_163", "0") != "0" diff --git a/src/_bcrypt/Cargo.toml b/src/_bcrypt/Cargo.toml index 6c8f72ad..a9c7f7c6 100644 --- a/src/_bcrypt/Cargo.toml +++ b/src/_bcrypt/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" publish = false [dependencies] -pyo3 = { version = "0.20.0", features = ["abi3-py37"] } +pyo3 = { version = "0.20.0", features = ["abi3"] } bcrypt = "0.15" bcrypt-pbkdf = "0.10.0" base64 = "0.21.5"