From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout10.t-online.de (mailout10.t-online.de [194.25.134.21]) by sourceware.org (Postfix) with ESMTPS id 8564A3858D33 for ; Mon, 28 Aug 2023 15:12:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8564A3858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=t-online.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=t-online.de Received: from fwd82.aul.t-online.de (fwd82.aul.t-online.de [10.223.144.108]) by mailout10.t-online.de (Postfix) with SMTP id 0D6251D4BF for ; Mon, 28 Aug 2023 17:12:20 +0200 (CEST) Received: from [192.168.2.101] ([79.230.164.114]) by fwd82.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1qadua-1w2Og40; Mon, 28 Aug 2023 17:12:17 +0200 Subject: Re: [PATCH cygport] Add initial support for SOURCE_DATE_EPOCH To: cygwin-apps@cygwin.com References: From: Christian Franke Message-ID: <000a4c2b-e6eb-4a16-e3c4-c5cedab1867b@t-online.de> Date: Mon, 28 Aug 2023 17:12:16 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 SeaMonkey/2.53.16 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------5F4661F1B65696D5CF7B2FA8" X-TOI-EXPURGATEID: 150726::1693235537-2B7E4D37-BF3942B6/0/0 CLEAN NORMAL X-TOI-MSGID: f124cf52-b630-4475-bad2-c38f6e4e4c8a X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------5F4661F1B65696D5CF7B2FA8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Christian Franke wrote: > A small step towards reproducible packaging... > > Currently only tested with upcoming smartmontools package - contains > only exe, man, doc files (no dll, lib, ...). Multiple cygport runs > produce binary identical distribution tarballs if SOURCE_DATE_EPOCH > (from the past) is specified in the cygport file. > A slightly enhanced patch is attached. For .gz files, 'gzip -n' is now used as suggested. Result from a test with the cygwin-3.4.8-1 source package: These two lines were added to cygwin.cygport:  VERSION="3.4.8"  RELEASE="1" +export SOURCE_DATE_EPOCH=$(date -d '2023-08-18 UTC' +%s) +export TZ=UTC (TZ=UTC is a workaround for a minor bug in SOURCE_DATE_EPOCH handling of gropdf) These distribution files are always identical: - cygwin-3.4.8-1-src.tar.xz - cygwin-doc-3.4.8-1.tar.xz These individual files differ if the build-path of multiple test-builds is always the same: - usr/bin/cygwin1.dll: -- Contains a build timestamp not based on '__DATE__ __TIME__'. Could be easily addressed in scripts/mkvers.sh. -- The PE Export Tables header contains a timestamp independent from the PE header. There is possibly no easy way to fix this without an extra tool (or further enhancing peflags). - usr/lib/lib*.a: -- Object file time timestamps differ. Could be addressed by adding 'ar' option 'D' (deterministic) in Makefiles and scripts/speclib. - usr/lib/debug/usr/bin/cygwin1.dll.dbg: As expected, because cygwin1.dll differ. If the build-path changes, more files differ (cygcheck.exe, ldd.exe, cygserver.exe) because __FILE__ is used and expands to an absolute path name. -- Regards, Christian --------------5F4661F1B65696D5CF7B2FA8 Content-Type: text/plain; charset=UTF-8; name="0001-Add-initial-support-for-SOURCE_DATE_EPOCH.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Add-initial-support-for-SOURCE_DATE_EPOCH.patch" RnJvbSA3M2RkZTRkMmRhYmI3NGI3YjllZTQwNjU1MjA0Zjg0ZTFkNDA4NmQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RpYW4gRnJhbmtlIDxjaHJpc3RpYW4uZnJh bmtlQHQtb25saW5lLmRlPgpEYXRlOiBNb24sIDI4IEF1ZyAyMDIzIDE2OjI0OjM2ICswMjAw ClN1YmplY3Q6IFtQQVRDSF0gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgU09VUkNFX0RBVEVf RVBPQ0gKCklmIHNwZWNpZmllZCwgc2V0IHRoZSBoZWFkZXIgdGltZXN0YW1wcyBvZiBleGVj dXRhYmxlcyBhbmQKcGF0Y2ggZmlsZXMgdG8gU09VUkNFX0RBVEVfRVBPQ0guClN1cHByZXNz IHRoZSBoZWFkZXIgdGltZXN0YW1wIG9mIC5neiBmaWxlcy4KSW5zdHJ1Y3QgdGFyIHRvIGF2 b2lkIG1vcmUgcmVjZW50IG1vZGlmaWNhdGlvbiB0aW1lcyBhbmQKdG8gc29ydCBhbGwgZW50 cmllcyBieSBuYW1lLgotLS0KIGJpbi9jeWdwb3J0LmluICAgICAgICAgICB8IDE3ICsrKysr KysrKysrKysrKy0tCiBsaWIvcGtnX3BrZy5jeWdwYXJ0ICAgICAgfCAyMCArKysrKysrKysr KysrKysrKystLQogbGliL3NyY19wb3N0aW5zdC5jeWdwYXJ0IHwgMjIgKysrKysrKysrKysr KysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Jpbi9jeWdwb3J0LmluIGIvYmluL2N5Z3BvcnQuaW4K aW5kZXggM2Y4OWFjNjcuLmUyZmUxNzg1IDEwMDc1NQotLS0gYS9iaW4vY3lncG9ydC5pbgor KysgYi9iaW4vY3lncG9ydC5pbgpAQCAtMjMxLDggKzIzMSw5IEBAIHNvdXJjZSAke19wcml2 bGliZGlyfS9jaGVja19mdW5jcy5jeWdwYXJ0CiAjIyMKIAogIyBjaGVjayBub3cgZm9yIGFs bCBtYW5kYXRvcnkgcHJvZ3JhbXMKLWZvciBfbXlwcm9nIGluIGJ6aXAyIGNhdCBjaG1vZCBj cCBkaWZmIGRpZmZzdGF0IGRvczJ1bml4IGZpbGUgZmluZCBnYXdrIGdyZXAgZ3ppcCBcCi0g ICAgICAgICAgICAgICBpbnN0YWxsIGxuIG1rZGlyIG12IHBhdGNoIHJtIHJzeW5jIHNlZCBz b3J0IHRhciB4YXJncyB3aGljaCB4egorZm9yIF9teXByb2cgaW4gYnppcDIgY2F0IGNobW9k IGNwIGRhdGUgZGlmZiBkaWZmc3RhdCBkb3MydW5peCBmaWxlIGZpbmQgZ2F3ayBncmVwIFwK KyAgICAgICAgICAgICAgIGd6aXAgaW5zdGFsbCBsbiBta2RpciBtdiBwYXRjaCBybSByc3lu YyBzZWQgc29ydCB0YXIgdG91Y2ggd2hpY2ggXAorICAgICAgICAgICAgICAgeGFyZ3MgeHoK IGRvCiAJaWYgISBjaGVja19wcm9nICR7X215cHJvZ30KIAl0aGVuCkBAIC00OTAsNiArNDkx LDE4IEBAIGRvCiBkb25lCiB1bnNldCByZXN0cmljdAogCitpZiBbICIke1NPVVJDRV9EQVRF X0VQT0NIK3l9IiA9ICJ5IiBdCit0aGVuCisJaWYgWyAtbiAiJChlY2hvICIke1NPVVJDRV9E QVRFX0VQT0NIfSIgfCBzZWQgLWUgJ3MvXiQvWC8nIC1lICdzL1swLTldLy9nJykiIF0KKwl0 aGVuCisJCWVycm9yICJNYWxmb3JtZWQgU09VUkNFX0RBVEVfRVBPQ0g6ICcke1NPVVJDRV9E QVRFX0VQT0NIfSciCisJZmkKKwljYXNlICQocGVmbGFncyAtLXZlcnNpb24gMj4vZGV2L251 bGwgfCBzZWQgLW4gJzFzL14uKiAvL3AnKSBpbgorCQk0LjYuWzYtOV18NC5bNy05XSp8WzUt OV0qKSA7OworCQkqKSBlcnJvciAiU09VUkNFX0RBVEVfRVBPQ0ggcmVxdWlyZXMgcGVmbGFn cyA0LjYuNiBvciBsYXRlciIKKwllc2FjCitmaQorCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCiAjCmRpZmYgLS1naXQgYS9saWIvcGtnX3BrZy5jeWdwYXJ0IGIvbGliL3BrZ19w a2cuY3lncGFydAppbmRleCAyYTJiYjY2My4uNGU2YTdjZDIgMTAwNjQ0Ci0tLSBhL2xpYi9w a2dfcGtnLmN5Z3BhcnQKKysrIGIvbGliL3BrZ19wa2cuY3lncGFydApAQCAtNDIsNyArNDIs NyBAQCBUQVJfQ09NUFJFU1NJT05fRVhUPSIke1RBUl9DT01QUkVTU0lPTl9FWFQ6LXh6fSIK ICMqKioqCiAKIF9fdGFyKCkgewotCWxvY2FsIFRBUl9DT01QUkVTU0lPTl9PUFQ7CisJbG9j YWwgVEFSX0NPTVBSRVNTSU9OX09QVCBUQVJfU09VUkNFX0RBVEVfT1BUUzsKIAogCSMgV2Ug Y291bGQgdXNlIC0tYXV0by1jb21wcmVzcywgYnV0IHRoaXMgYWxzbyBjb25zdHJhaW5zIHRo ZSBleHRlbnNpb24KIAkjIHRvIHRoZSBjdXJyZW50bHkgdmFsaWQgc2V0LiBXZSBjb3VsZCBw cm9iZSBpZiB0YXIgc3VwcG9ydHMgdGhlCkBAIC02NSw3ICs2NSwxNCBAQCBfX3RhcigpIHsK IAkJCWVycm9yICJ0YXIgb3B0aW9uIGZvciBUQVJfQ09NUFJFU1NJT05fRVhUPScke1RBUl9D T01QUkVTU0lPTl9FWFR9JyB1bmtub3duIgogCQkJOzsKIAllc2FjCi0JdGFyICR7VEFSX0NP TVBSRVNTSU9OX09QVH0gLS1vd25lcj1HdWVzdDo1MDEgLS1ncm91cD1Ob25lOjUxMyAtY3Zm ICIkQCIKKworCWlmIFsgLW4gIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdCisJdGhlbgorCQkj IEVuc3VyZSByZXByb2R1Y2libGUgc29ydCBvcmRlciBhbmQgbGFzdCBtb2RpZmljYXRpb24g dGltZXMgPD0gU09VUkNFX0RBVEVfRVBPQ0gKKwkJVEFSX1NPVVJDRV9EQVRFX09QVFM9Ii0t c29ydD1uYW1lIC0tbXRpbWU9QCR7U09VUkNFX0RBVEVfRVBPQ0h9IC0tY2xhbXAtbXRpbWUi CisJZmkKKworCXRhciAke1RBUl9DT01QUkVTU0lPTl9PUFR9ICR7VEFSX1NPVVJDRV9EQVRF X09QVFN9IC0tb3duZXI9R3Vlc3Q6NTAxIC0tZ3JvdXA9Tm9uZTo1MTMgLWN2ZiAiJEAiCiB9 CiAKIF9fcGtnX2JpbnBrZygpIHsKQEAgLTMxOSw2ICszMjYsNyBAQCBfX3BrZ19kaWZmKCkg ewogCWxvY2FsIGRpZmZsZXZlbDsKIAlsb2NhbCBleGNsdWRlOwogCWxvY2FsIG9wdGlvbmFs X3BhdGNoZmlsZXM7CisJbG9jYWwgc291cmNlX2RhdGU7CiAKIAlkZWZhdWx0X2V4Y2x1ZGVz PSJDWUdXSU4tUEFUQ0hFUyBhY2xvY2FsLm00fiBhY2xvY2FsLm00dCBhdXRvbTR0ZS5jYWNo ZQogCQljb25maWcuY2FjaGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5sb2cgY29uZmlnLnN0YXR1 cyBjb25maWcuc3ViCkBAIC00OTgsNiArNTA2LDE0IEBAIF9fcGtnX2RpZmYoKSB7CiAKIAlz ZWQgLWIgLWUgJy9eZGlmZiAtdS9kJyAtaSAke29wdGlvbmFsX3BhdGNoZmlsZXN9ICR7cGF0 Y2hkaXJ9LyR7c3JjX3BhdGNoZmlsZX07CiAKKwlpZiBbIC1uICIke1NPVVJDRV9EQVRFX0VQ T0NIfSIgXQorCXRoZW4KKwkJIyBFbnN1cmUgdGhhdCB0aGUgdGltZXN0YW1wIGNvbW1lbnQg b2YgdGhlIG5ldyBmaWxlIGlzIHJlcHJvZHVjaWJsZQorCQlzb3VyY2VfZGF0ZT0kKGRhdGUg LWQgQCIke1NPVVJDRV9EQVRFX0VQT0NIfSIgLXUgKyclWS0lbS0lZCAlSDolTTolUy4wMDAw MDAwMDAgKzAwMDAnKQorCQlzZWQgLWIgLWUgICJzfF5cKCsrKyBbXlx0XSpcdFwpLipcJHxc MSR7c291cmNlX2RhdGV9fCIgXAorCQkJLWkgJHtvcHRpb25hbF9wYXRjaGZpbGVzfSAke3Bh dGNoZGlyfS8ke3NyY19wYXRjaGZpbGV9CisJZmkKKwogCWRpZmZzdGF0IC1wJHtkaWZmbGV2 ZWx9ICR7b3B0aW9uYWxfcGF0Y2hmaWxlc30gJHtwYXRjaGRpcn0vJHtzcmNfcGF0Y2hmaWxl fTsKIH0KIApkaWZmIC0tZ2l0IGEvbGliL3NyY19wb3N0aW5zdC5jeWdwYXJ0IGIvbGliL3Ny Y19wb3N0aW5zdC5jeWdwYXJ0CmluZGV4IGRkOTQ3MzExLi41M2VhYTcxYSAxMDA2NDQKLS0t IGEvbGliL3NyY19wb3N0aW5zdC5jeWdwYXJ0CisrKyBiL2xpYi9zcmNfcG9zdGluc3QuY3ln cGFydApAQCAtNDEsNyArNDEsNyBAQCBfX3ByZXBfZm9udHNfZGlyKCkgewogCWZvciBjYXRh bG9ndWUgaW4gJHtEfSR7Y2F0YWxvZ3VlZGlyfS8qCiAJZG8KIAkJZm9udGRpcj0kKHJlYWRs aW5rIC1mICR7Y2F0YWxvZ3VlfSkKLQkJZmluZCAke0R9JHtmb250ZGlyfSAtbmFtZSAnKi5w Y2YnIC1leGVjIGd6aXAgLXEgJ3t9JyArCisJCWZpbmQgJHtEfSR7Zm9udGRpcn0gLW5hbWUg JyoucGNmJyAtZXhlYyBnemlwIC1xICR7U09VUkNFX0RBVEVfRVBPQ0g6Ky1ufSAne30nICsK IAkJbWtmb250c2NhbGUgJHtEfSR7Zm9udGRpcn0KIAkJbWtmb250ZGlyICR7RH0ke2ZvbnRk aXJ9CiAJZG9uZQpAQCAtNzc1LDcgKzc3NSw3IEBAIF9fcHJlcG1hbigpIHsKIAkJd2hpbGUg cmVhZCAtZCAkJ1wwJyBtYW5wYWdlCiAJCWRvCiAJCQllY2hvICIgICAgICAgICR7bWFucGFn ZSMjKi99IjsKLQkJCWd6aXAgLXEgIiR7bWFucGFnZX0iOworCQkJZ3ppcCAtcSAke1NPVVJD RV9EQVRFX0VQT0NIOistbn0gIiR7bWFucGFnZX0iOwogCQlkb25lCiAJZmkKIH0KQEAgLTgx OSw3ICs4MTksNyBAQCBfX3ByZXBpbmZvKCkgewogCQl3aGlsZSByZWFkIC1kICQnXDAnIGlu Zm9wYWdlCiAJCWRvCiAJCQllY2hvICIgICAgICAgICR7aW5mb3BhZ2UjIyovfSI7Ci0JCQln emlwIC1xICIke2luZm9wYWdlfSI7CisJCQlnemlwIC1xICR7U09VUkNFX0RBVEVfRVBPQ0g6 Ky1ufSAiJHtpbmZvcGFnZX0iOwogCQlkb25lCiAJZmkKIH0KQEAgLTk4OSw2ICs5ODksMTIg QEAgX19wcmVwc3RyaXBfb25lKCkgewogCiAJb2JqZHVtcD0ke29iamNvcHkvY29weS9kdW1w fQogCisJaWYgWyAtbiAiJHtTT1VSQ0VfREFURV9FUE9DSH0iIF0KKwl0aGVuCisJCSMgTGV0 IG9iamNvcHkgcHJlc2VydmUgdGhlIHRpbWVzdGFtcHMKKwkJb2JqY29weSs9IiAtLWVuYWJs ZS1kZXRlcm1pbmlzdGljLWFyY2hpdmVzIC0tcHJlc2VydmUtZGF0ZXMiCisJZmkKKwogCSMg U3RhdGljIGxpYnJhcmllcyBzaG91bGQgbm90IGJlIGZ1bGx5IHN0cmlwcGVkLCBidXQgd2Ug Y2FuCiAJIyBzdGlsbCBwcm92aWRlIHNwbGl0IGRlYnVnaW5mbyBpZiBkZXNpcmVkCiAJY2Fz ZSAiJHtleGV9IiBpbgpAQCAtMTA3NCw2ICsxMDgwLDE2IEBAIF9fcHJlcHN0cmlwX29uZSgp IHsKIAkjIGtlZXAgc3RpY2t5IGJpdCBpZiBwcmVzZW50CiAJY2htb2QgdSt3LGEreCAiJHtl eGV9IjsKIAorCWlmIFsgLW4gIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdCisJdGhlbgorCQlj YXNlICIke2V4ZX0iIGluCisJCSouZXhlfCouZGxsfCouc298Ki5zby4qfCoub2N0fCoubWV4 fCouY214cykKKwkJCSMgRW5zdXJlIFBFIGhlYWRlciB0aW1lc3RhbXAgaXMgcmVwcm9kdWNp YmxlIGFuZCBjaGVja3N1bSBpcyBjb3JyZWN0CisJCQkjIG9iamNvcHkgbGF0ZXIgaW5oZXJp dHMgdGhlIHRpbWVzdGFtcCB0byBkZWJ1ZyBpbmZvIGFuZCBzdHJpcHBlZCBmaWxlCisJCQlw ZWZsYWdzIC0tY2hlY2tzdW09MSAtLXRpbWVzdGFtcD0ke1NPVVJDRV9EQVRFX0VQT0NIfSAk e2V4ZX0gPi9kZXYvbnVsbCA7OworCQllc2FjCisJZmkKKwogCWlmIGRlZmluZWQgX0NZR1BP UlRfUkVTVFJJQ1RfZGVidWdpbmZvXwogCXRoZW4KIAkJJHtvYmpjb3B5fSAtLXN0cmlwLWFs bCAiJHtleGV9IjsKLS0gCjIuMzkuMAoK --------------5F4661F1B65696D5CF7B2FA8--