package/coreutils: Prevent overwriting of fakedate
authorConrad Ratschan <conrad.ratschan@collins.com>
Fri, 27 Aug 2021 21:14:26 +0000 (16:14 -0500)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 28 Aug 2021 12:21:15 +0000 (14:21 +0200)
When BR2_REPRODUCIBLE is set and host-coreutils needs to be built, the
fakedate script installed to 'host/bin/date' will be overwritten by
host-coreutils.

Besides, we do not need our host-coreutils for 'date' at all; we really
rely on the host system to provide it.

Unconditionally disable installing the 'date' binary in host-coreutils.

Note that we explicitly request only ln and realpath to be installed,
but the coreutils buildsystem does not strictly obey to that, as was
already noticed in 885e6fdb8a40 (package/coreutils: introduce a host
variant), which added that comment above HOST_COREUTILS_CONF_OPTS:

    # Explicitly install ln and realpath, which we *are* insterested in.
    # A lot of other programs still get installed, however, but disabling
    # them does not gain much at build time, and is a loooong list that is
    # difficult to maintain...

So, we also update that comment to explain why we still anyway disable
installation of 'date'.

Signed-off-by: Conrad Ratschan <conrad.ratschan@collins.com>
[yann.morin.1998@free.fr:
  - unconditionally disable installing date
  - extend comment and commit log to explain why we need
    --enable-no-install-program=date despite the existing
    --enable-install-program=ln,realpath
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/coreutils/coreutils.mk

index 65234a113ed0a38e9688544bd071abd1c8e80f01..3ec3c847c2c30a9005bff648d199be3d97a48649 100644 (file)
@@ -154,7 +154,8 @@ COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_FIX_CHROOT_LOCATION
 # Explicitly install ln and realpath, which we *are* insterested in.
 # A lot of other programs still get installed, however, but disabling
 # them does not gain much at build time, and is a loooong list that is
-# difficult to maintain...
+# difficult to maintain... Just avoid overwriting fakedate when creating
+# a reproducible build
 HOST_COREUTILS_CONF_OPTS = \
        --disable-acl \
        --disable-libcap \
@@ -162,7 +163,8 @@ HOST_COREUTILS_CONF_OPTS = \
        --disable-single-binary \
        --disable-xattr \
        --without-gmp \
-       --enable-install-program=ln,realpath
+       --enable-install-program=ln,realpath \
+       --enable-no-install-program=date
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))