Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121823 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 18370 invoked from network); 28 Nov 2023 18:40:51 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 28 Nov 2023 18:40:51 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 147A7180031 for ; Tue, 28 Nov 2023 10:40:58 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 28 Nov 2023 10:40:57 -0800 (PST) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-67a18556e4aso28370266d6.1 for ; Tue, 28 Nov 2023 10:40:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701196849; x=1701801649; darn=lists.php.net; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xwhd7dwo9mN/wfpqey6azJqnjYRldI8WFM/FbM2cxI8=; b=I4uzRgS3bU4lIT5WwcB6iWNdkMvs77e7YYt6dUGGg9Ve4xboDITgoDBJSSjni5EZTr Uvwza6T3vPdWHHzUYRc1nTG8G1GpvXBeH3uKpcITE0To8R1pfFBhT6YwM78ak6KKnI8z PSomDD4bqvKQY8oX9AjHhtDIq+lb+ofs5VrgJLYIeBYx6aMMjqkSRoz9QYAce44Z2ygI lOmVDsvqMK3MOSxsXLv3yurfdf8syt7BD4GASGRZUjQkarjEhz6pVqqrNKGm7gQRTSDs 5Dj2lOKP94Wc2w38JYQB2+SHTt9+zBhOILyRddiVy1U9S+cFQz5ZmyboaezKUDFjLGJz +hRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701196849; x=1701801649; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xwhd7dwo9mN/wfpqey6azJqnjYRldI8WFM/FbM2cxI8=; b=OXWETgb8rUa8NsXCdS9YwLmqJWEyn3BA5tljPnRidQfFTJ4yewLc9Eo/j2KAPnCLlg EwEFZrwvDj84a52SbJPLkdy2pRplrU4K0VsU0KJ9ZJlCZTrukO1GYzf16K49keGMtOHR coyuolaHnSrfR4oZO6E60U6wGUkEaEbGlTvk/eHNWpU47+cEAaIoaQzL58SO6V7AzTI6 HwYbGntiXTXxu161cb4hsleNR5yVEq5ZFrXMSILLZndhQmK0jir3w27bpH9J8qPLhY+J yENcoFjJJuYMbES3igjJB8a1bYfT+qgzlMdklHaypGk/qX3vYBDzPZeljytsc2WvoteV F+pg== X-Gm-Message-State: AOJu0YxP9AHdsnJEaOWr54hVPx1gLq5FBmvrgS4YUyGNBrj3JUVQS6Uu SiJ4IYUR3I3c8xR/yM7jjt2/6udpNxBgrmSkqLPbP2xEI+2vCFke X-Google-Smtp-Source: AGHT+IHQ6rUVrcpb5mLQtr0xkDnCCY7IwGGMkslYtLd/copKEYUT1dbcn+CEHF09yvBqtRyV/5ZtbnKk+S0rcNMd15U= X-Received: by 2002:a0c:ef06:0:b0:67a:262e:f87 with SMTP id t6-20020a0cef06000000b0067a262e0f87mr13948466qvr.20.1701196849182; Tue, 28 Nov 2023 10:40:49 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 28 Nov 2023 19:40:38 +0100 Message-ID: To: internals@lists.php.net Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Reproducible Builds From: tovilo.ilija@gmail.com (Ilija Tovilo) Hi Sebastian On Tue, Nov 28, 2023 at 6:28=E2=80=AFPM Sebastian Bergmann wrote: > > I recently watched a video [1] that once again brought the topic of > reproducible builds [2] to my attention. > ... > I have not yet checked whether usage of the __DATE__ and __TIME__ macros > is the only thing that makes the compilation of PHP irreproducible, but n= o > longer using them would be a good start on the path towards reproducible > builds. At least for core, enabled-by-default extensions, __DATE__ and __TIME__ seem to be the only variables. I can get reproducible builds by setting SOURCE_DATE_EPOCH. > While we could probably replace __DATE__ and __TIME__ with > SOURCE_DATE_EPOCH [3] [4], ... Both GCC and Clang support SOURCE_DATE_EPOCH out of the box, setting __DATE__ and __TIME__ accordingly. MSVC (shockingly) does not. However, reproducible builds likely don't matter as much for Windows since we provide the binaries for it. That said, I wouldn't object to removing the date either. Ilija