Skip to content

Commit

Permalink
bash: don't rely on patch timestamps in build
Browse files Browse the repository at this point in the history
When, after patching, `configure.ac` is newer than `configure`, the
Makefile will try to regenerate `configure` from `configure.ac`.

While that might usually be desirable, in this case we want to keep
bootstrapping simple and directly use the `configure` from the package
so we can avoid a dependency on automake.

Previously, we used the `-T` parameter to automake to make sure the
timestamps were okay. However, this is brittle when we update: when the
timestamp of the original file changes, and no longer matches the
timestamp of the original file in the patch, `patch` will show a warning
but otherwise continue without updating the timestamp.

This PR changes things so we only patch `configure`, so that will always
have a newer timestamp.

Refs NixOS#115177
  • Loading branch information
raboof committed Mar 21, 2021
1 parent f5e8bdd commit 3f4ad3d
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 31 deletions.
2 changes: 1 addition & 1 deletion pkgs/shells/bash/4.4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
-DSSH_SOURCE_BASHRC
'';

patchFlags = [ "-p0" "-T" ];
patchFlags = [ "-p0" ];

patches = upstreamPatches
++ [ ./pgrp-pipe-4.4.patch ]
Expand Down
2 changes: 1 addition & 1 deletion pkgs/shells/bash/5.1.nix
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
-DSSH_SOURCE_BASHRC
'';

patchFlags = [ "-p0" "-T" ];
patchFlags = [ "-p0" ];

patches = upstreamPatches
++ [ ./pgrp-pipe-5.1.patch ];
Expand Down
14 changes: 0 additions & 14 deletions pkgs/shells/bash/pgrp-pipe-4.4.patch
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,3 @@ diff -u ./configure ../bash-4.4-fixed/configure
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
diff -u ./configure.ac ../bash-4.4-fixed/configure.ac
--- ./configure.ac 2016-09-07 22:56:28.000000000 +0200
+++ ../bash-4.4-fixed/configure.ac 2016-09-07 22:56:28.000000000 +0200
@@ -1092,9 +1092,7 @@
solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
- case "`uname -r`" in
- 2.[[456789]]*|[[34]]*) AC_DEFINE(PGRP_PIPE) ;;
- esac ;;
+ AC_DEFINE(PGRP_PIPE) ;;
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
15 changes: 0 additions & 15 deletions pkgs/shells/bash/pgrp-pipe-5.1.patch
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,3 @@ diff -u ./configure ../bash-5.0-fixed/configure
netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[67]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
diff -u ./configure.ac ../bash-5.0-fixed/configure.ac
--- ./configure.ac 2019-01-02 15:39:11.000000000 +0100
+++ ../bash-5.0-fixed/configure.ac 2019-01-02 15:39:11.000000000 +0100
@@ -1108,10 +1108,7 @@
solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
- case "`uname -r`" in
- 1.*|2.[[0123]]*) : ;;
- *) AC_DEFINE(PGRP_PIPE) ;;
- esac ;;
+ AC_DEFINE(PGRP_PIPE) ;;
netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;

0 comments on commit 3f4ad3d

Please sign in to comment.