Bug#877470: Question about strip-nondeterminism in bsh

jathan jathanblackred at openmailbox.org
Mon Oct 16 18:56:53 UTC 2017


On 09/10/17 10:47, Chris Lamb wrote:
> [Adding 877470 at bugs.debian.org to CC]
> 
> Hi jathan,
> 
>> Also I want to ask you what does it mean you actually use
>> /usr/share/dpkg/pkg-info.mk for SOURCE_DATE_EPOCH
> 
> See, for example:
> 
>   https://github.com/lamby/pkg-python-daiquiri/blob/debian/sid/debian/rules#L3
> 
> If you take a look at the /usr/share/dpkg/pkg-info.mk file itself,
> it should be fairly clear what it exports to the outside environment.
> 
> In the python-daiquiri example, I'm using DEB_VERSION_UPSTREAM for a
> reproducibility-related reason, but you should be able to see how it
> applies to SOURCE_DATE_EPOCH too :)
> 
>> Thanks a lot and sorry for my delay to reply,
> 
> No worries about the delay. Note that I've added 877470 at bugs.debian.org to
> the CC; generally when a question pertains to a specific bug, it's a great
> idea to ensure that the conversation is archived there. Keeps everyone sane
> too as it's easy to "load" context after a few days/weeks. :)
> 
> 
> Best wishes,
> 
Hi Lamby!,

Thanks a lot for sharing your pkg-python-daiquiri example. I have
executed "less /usr/share/dpkg/pkg-info.mk" on my local machine with
Debian Stretch and I have the next content:

# Makefile snippet defining the following variables:
#
# DEB_SOURCE: the source package name
# DEB_VERSION: the full version of the package (epoch + upstream vers. +
revision)
# DEB_VERSION_EPOCH_UPSTREAM: the package's version without the Debian
revision
# DEB_VERSION_UPSTREAM_REVISION: the package's version without the
Debian epoch
# DEB_VERSION_UPSTREAM: the package's upstream version
# DEB_DISTRIBUTION: the distribution(s) listed in the current entry of
debian/changelog
#
# SOURCE_DATE_EPOCH: the source release date as seconds since the epoch, as
#   specified by <https://reproducible-builds.org/specs/source-date-epoch/>

dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1)
:= $(shell $(2)))$(value DPKG_CACHE_$(1)))

DEB_SOURCE = $(call dpkg_late_eval,DEB_SOURCE,dpkg-parsechangelog -SSource)
DEB_VERSION = $(call dpkg_late_eval,DEB_VERSION,dpkg-parsechangelog
-SVersion)
DEB_VERSION_EPOCH_UPSTREAM = $(call
dpkg_late_eval,DEB_VERSION_EPOCH_UPSTREAM,echo '$(DEB_VERSION)' | sed -e
's/-[^-]*$$//')
DEB_VERSION_UPSTREAM_REVISION = $(call
dpkg_late_eval,DEB_VERSION_UPSTREAM_REVISION,echo '$(DEB_VERSION)' | sed
-e 's/^[0-9]*://')
DEB_VERSION_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM,echo
'$(DEB_VERSION_EPOCH_UPSTREAM)' | sed -e 's/^[0-9]*://')
DEB_DISTRIBUTION = $(call
dpkg_late_eval,DEB_DISTRIBUTION,dpkg-parsechangelog -SDistribution)

SOURCE_DATE_EPOCH ?= $(call
dpkg_late_eval,SOURCE_DATE_EPOCH,dpkg-parsechangelog -STimestamp)

export SOURCE_DATE_EPOCH



How can I see the /usr/share/dpkg/pkg-info.mk you have used for
pkg-python-daiquiri to make a comparison of contents and understand
deeper how you did it please? Thinking about these two lines of your code:

include /usr/share/dpkg/pkg-info.mk

export PBR_VERSION = $(DEB_VERSION_UPSTREAM)


And also considering the /usr/share/dpkg/pkg-info.mk file suggestion, I
would apply SOURCE_DATE_EPOCH in the next way:

include /usr/share/dpkg/pkg-info.mk

export SOURCE_DATE_EPOCH = $(call
dpkg_late_eval,SOURCE_DATE_EPOCH,dpkg-parsechangelog -STimestamp)
or
export SOURCE_DATE_EPOCH = $(shell dpkg-parsechangelog -STimestamp)
(based on
https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Examples)

Would it be right for me to use either of these two options or am I
wrong in both? Best regards.

Jathan

-- 
Por favor evita enviarme adjuntos en formato de word o powerpoint, si
quieres saber porque lee esto:
http://www.gnu.org/philosophy/no-word-attachments.es.html
¡Cámbiate a GNU/Linux! http://getgnulinux.org/es

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 878 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-java-maintainers/attachments/20171016/a4d84363/attachment-0001.sig>


More information about the pkg-java-maintainers mailing list