Re: [Python-modules-team] Bug#852289: python-passlib: please make the build reproducible (timestamps)

2017-01-31 Thread Barry Warsaw
On Jan 31, 2017, at 09:43 AM, Eli Collins wrote:

>Passlib 1.7.1 is out, which should fix #852289; I'll try to keep an eye on
>the reproducible build status for a bit in case there's any other hiccups.

Thanks!  I'm working on the new upstream in git right now.  It looks like we
can also drop the 0001-Disable-Django-support.patch since

https://bitbucket.org/ecollins/passlib/issues/68/tests-fail-with-django-19

is resolved upstream.  I'm not a Django expert though so please let me know if
this is not correct.

Cheers,
-Barry


pgpYSMy6g9X1C.pgp
Description: OpenPGP digital signature
___
Python-modules-team mailing list
Python-modules-team@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team

Re: [Python-modules-team] Bug#852289: python-passlib: please make the build reproducible (timestamps)

2017-01-31 Thread Eli Collins
Passlib 1.7.1 is out, which should fix #852289; I'll try to keep an eye on
the reproducible build status for a bit in case there's any other hiccups.

- Eli

On Mon, Jan 23, 2017 at 5:12 PM, Barry Warsaw  wrote:

> On Jan 23, 2017, at 04:40 PM, Eli Collins wrote:
>
> >In case this helps the debian package maintainer decide on this patch /
> >schedule things, the timestamp problem this addresses is due to a bug in
> >the passlib 1.7.0 setup script, which should be fixed in the 1.7.1
> upstream
> >release (due out next weekend).
>
> Thanks for the status Eli.  If the bug is fixed upstream, I think it makes
> sense to just wait until 1.7.1.  Feel free to drop us a ping when that's
> available (though I'll eventually notice it anyway).  If Brian doesn't
> beat me
> to it, I'm happy to update to 1.7.1 once it's available.
>
___
Python-modules-team mailing list
Python-modules-team@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team

[Python-modules-team] Bug#852289: python-passlib: please make the build reproducible (timestamps)

2017-01-23 Thread Eli Collins
Passlib author here -

In case this helps the debian package maintainer decide on this patch /
schedule things, the timestamp problem this addresses is due to a bug in
the passlib 1.7.0 setup script, which should be fixed in the 1.7.1 upstream
release (due out next weekend).

- Eli

On Mon, 23 Jan 2017 01:59:13 -0800 Dhole  wrote:
> Source: python-passlib
> Version: 1.7.0-1
> Severity: wishlist
> Tags: patch
> User: reproducible-bui...@lists.alioth.debian.org
> Usertags: timestamps
> X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
>
> Hi,
>
> While working on the "reproducible builds" effort [1], we have noticed
that
> python-passlib could not be built reproducibly.
>
> The version string of the package includes a timestamp that is generated
at
> build time.
>
> The attached patch fixes this by using SOURCE_DATE_EPOCH as the timestamp
for
> the version string. Once applied, python-passlib can be built
reproducibly in
> our current experimental framework.
>
>  [1]: https://wiki.debian.org/ReproducibleBuilds
>
> Regards,
> --
> Dhole
___
Python-modules-team mailing list
Python-modules-team@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team

[Python-modules-team] Bug#852289: python-passlib: please make the build reproducible (timestamps)

2017-01-23 Thread Dhole
Source: python-passlib
Version: 1.7.0-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

While working on the "reproducible builds" effort [1], we have noticed that
python-passlib could not be built reproducibly.

The version string of the package includes a timestamp that is generated at
build time.

The attached patch fixes this by using SOURCE_DATE_EPOCH as the timestamp for
the version string. Once applied, python-passlib can be built reproducibly in
our current experimental framework.

 [1]: https://wiki.debian.org/ReproducibleBuilds

Regards,
-- 
Dhole
diff -Nru python-passlib-1.7.0/debian/changelog 
python-passlib-1.7.0/debian/changelog
--- python-passlib-1.7.0/debian/changelog   2016-11-28 17:31:28.0 
+0100
+++ python-passlib-1.7.0/debian/changelog   2017-01-23 10:36:30.0 
+0100
@@ -1,3 +1,11 @@
+python-passlib (1.7.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Use date from SOURCE_DATE_EPOCH for version number to make the build
+reproducible. 
+
+ -- red   Mon, 23 Jan 2017 10:36:30 +0100
+
 python-passlib (1.7.0-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru python-passlib-1.7.0/debian/patches/reproducible-version-name.patch 
python-passlib-1.7.0/debian/patches/reproducible-version-name.patch
--- python-passlib-1.7.0/debian/patches/reproducible-version-name.patch 
1970-01-01 01:00:00.0 +0100
+++ python-passlib-1.7.0/debian/patches/reproducible-version-name.patch 
2017-01-23 10:36:30.0 +0100
@@ -0,0 +1,20 @@
+Description: Generate a reproducible version name
+ Use date from SOURCE_DATE_EPOCH for version number to make the build
+ reproducible.
+Author: red 
+
+
+Index: python-passlib-1.7.0/setup.py
+===
+--- python-passlib-1.7.0.orig/setup.py
 python-passlib-1.7.0/setup.py
+@@ -58,7 +58,8 @@ if os.environ.get("PASSLIB_SETUP_TAG_REL
+ stamp = stamp.decode("ascii")
+ except (OSError, subprocess.CalledProcessError):
+ # fallback - just use build date
+-stamp = time.strftime("%Y%m%d%H%M%S")
++build_date = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
++stamp = time.strftime("%Y%m%d%H%M%S", time.gmtime(build_date))
+ 
+ # modify version
+ if version.endswith((".dev0", ".post0")):
diff -Nru python-passlib-1.7.0/debian/patches/series 
python-passlib-1.7.0/debian/patches/series
--- python-passlib-1.7.0/debian/patches/series  2016-11-28 17:31:28.0 
+0100
+++ python-passlib-1.7.0/debian/patches/series  2017-01-23 10:36:30.0 
+0100
@@ -1 +1,2 @@
 0001-Disable-Django-support.patch
+reproducible-version-name.patch
___
Python-modules-team mailing list
Python-modules-team@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team