Skip to content

Commit

Permalink
alvistack/1.7.4
Browse files Browse the repository at this point in the history
    git clean -xdf
    tar zcvf ../python-passlib_1.7.4.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-passlib.spec ../python-passlib_1.7.4-1.spec
    cp ../python*-passlib*1.7.4*.{gz,xz,spec,dsc} /osc/home\:alvistack/python-libs-passlib-1.7.4/
    rm -rf ../python*-passlib*1.7.4*.*

See https://foss.heptapod.net/python-libs/passlib/-/issues/190
See pyca/bcrypt#684

Signed-off-by: Wong Hoi Sing Edison <[email protected]>
  • Loading branch information
hswong3i committed Feb 24, 2024
1 parent fab9623 commit d76cbe3
Show file tree
Hide file tree
Showing 14 changed files with 226 additions and 2 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.egg-info
*.orig
*.rej
.pybuild/
__pycache__
6 changes: 6 additions & 0 deletions debian/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.substvars
*debhelper*
.debhelper
files
python3-passlib
tmp
5 changes: 5 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
python-passlib (100:1.7.4-1) UNRELEASED; urgency=medium

* https://github.com/python-libs/passlib/releases/tag/1.7.4

-- Wong Hoi Sing Edison <[email protected]> Sun, 07 Jan 2024 12:24:45 +0800
30 changes: 30 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Source: python-passlib
Section: python
Priority: optional
Standards-Version: 4.5.0
Maintainer: Wong Hoi Sing Edison <[email protected]>
Homepage: https://foss.heptapod.net/python-libs/passlib/-/tags
Vcs-Browser: https://github.com/alvistack/python-libs-passlib
Vcs-Git: https://github.com/alvistack/python-libs-passlib.git
Build-Depends:
debhelper,
debhelper-compat (= 10),
dh-python,
fdupes,
python3-dev,
python3-setuptools,

Package: python3-passlib
Architecture: all
Description: Comprehensive password hashing framework
Passlib is a password hashing library for Python 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. It's
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user application.
Depends:
${misc:Depends},
${shlibs:Depends},
${python3:Depends},
python3,
21 changes: 21 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

Files: debian/*
Copyright: 2024 Wong Hoi Sing Edison <[email protected]>
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".
1 change: 1 addition & 0 deletions debian/python3-passlib.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/python*/*-packages/*
4 changes: 4 additions & 0 deletions debian/python3-passlib.lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
python3-passlib: copyright-without-copyright-notice
python3-passlib: initial-upload-closes-no-bugs
python3-passlib: no-manual-page
python3-passlib: zero-byte-file-in-doc-directory
15 changes: 15 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions debian/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (quilt)
5 changes: 5 additions & 0 deletions debian/source/lintian-overrides
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
python-passlib source: file-without-copyright-information
python-passlib source: no-debian-changes
python-passlib source: source-contains-prebuilt-windows-binary
python-passlib source: source-is-missing
python-passlib source: source-package-encodes-python-version
2 changes: 1 addition & 1 deletion passlib/handlers/bcrypt.py
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,7 @@ def _load_backend_mixin(mixin_cls, name, dryrun):
except ImportError: # pragma: no cover
return False
try:
version = _bcrypt.__about__.__version__
version = getattr(getattr(_bcrypt, '__about__', _bcrypt), '__version__', '<unknown>')
except:
log.warning("(trapped) error reading bcrypt version", exc_info=True)
version = '<unknown>'
Expand Down
127 changes: 127 additions & 0 deletions python-passlib.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Copyright 2024 Wong Hoi Sing Edison <[email protected]>
#
# 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}

%global source_date_epoch_from_changelog 0

Name: python-passlib
Epoch: 100
Version: 1.7.4
Release: 1%{?dist}
BuildArch: noarch
Summary: Comprehensive password hashing framework
License: BSD-3-Clause
URL: https://foss.heptapod.net/python-libs/passlib/-/tags
Source0: %{name}_%{version}.orig.tar.gz
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-devel
BuildRequires: python3-setuptools

%description
Passlib is a password hashing library for Python 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. It's
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user application.

%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_sitelib} -type f -name '*.pyc' -exec rm -rf {} \;
fdupes -qnrps %{buildroot}%{python3_sitelib}

%check

%if 0%{?suse_version} > 1500
%package -n python%{python3_version_nodots}-passlib
Summary: Comprehensive password hashing framework
Requires: python3
Provides: python3-passlib = %{epoch}:%{version}-%{release}
Provides: python3dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(passlib) = %{epoch}:%{version}-%{release}

%description -n python%{python3_version_nodots}-passlib
Passlib is a password hashing library for Python 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. It's
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user application.

%files -n python%{python3_version_nodots}-passlib
%license LICENSE
%{python3_sitelib}/*
%endif

%if 0%{?sle_version} > 150000
%package -n python3-passlib
Summary: Comprehensive password hashing framework
Requires: python3
Provides: python3-passlib = %{epoch}:%{version}-%{release}
Provides: python3dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(passlib) = %{epoch}:%{version}-%{release}

%description -n python3-passlib
Passlib is a password hashing library for Python 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. It's
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user application.

%files -n python3-passlib
%license LICENSE
%{python3_sitelib}/*
%endif

%if !(0%{?suse_version} > 1500) && !(0%{?sle_version} > 150000)
%package -n python3-passlib
Summary: Comprehensive password hashing framework
Requires: python3
Provides: python3-passlib = %{epoch}:%{version}-%{release}
Provides: python3dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(passlib) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-passlib = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(passlib) = %{epoch}:%{version}-%{release}

%description -n python3-passlib
Passlib is a password hashing library for Python 3, which provides
cross-platform implementations of over 30 password hashing algorithms,
as well as a framework for managing existing password hashes. It's
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user application.

%files -n python3-passlib
%license LICENSE
%{python3_sitelib}/*
%endif

%changelog
4 changes: 4 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ upload_dir = build/sphinx/html
[bdist_wheel]
universal = 1

[egg_info]
tag_build =
tag_date = 0

2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@
from passlib import __version__ as version

# append hg revision to builds
stamp_build = True # NOTE: modified by stamp_distutils_output()
stamp_build = False
if stamp_build:
from passlib._setup.stamp import (
as_bool, append_hg_revision, stamp_distutils_output,
Expand Down

0 comments on commit d76cbe3

Please sign in to comment.