[hackers] [ubase] [PATCH] install: ignore -s

From: Mattias Andrée <maandree_AT_kth.se>
Date: Sat, 3 Dec 2016 12:51:14 +0100

The -s flag previously called strip(1) on the installed file.
This patch changes install(1)'s behaviour to ignore -s.

Many makefiles use the -s flag, so it has to be recognised for
compatibility, however it does not have to do anything because
symbols do not negatively affect the functionallity of binaries.

Ignoring -s have the added benefit that the user do not need
to edit makefiles if they want the symbols that are useful for
debugging. If the user wants to strip away symbols, it can be
done manually or automatically by the package manager.

Signed-off-by: Mattias Andrée <maandree_AT_kth.se>
---
 xinstall.1 |  9 ++-------
 xinstall.c | 24 ++----------------------
 2 files changed, 4 insertions(+), 29 deletions(-)
diff --git a/xinstall.1 b/xinstall.1
index 1a727d3..bda4d42 100644
--- a/xinstall.1
+++ b/xinstall.1
_AT_@ -12,7 +12,7 @@
 .Po
 .Fl d Ar dir ...
 |
-.Op Fl sD
+.Op Fl D
 .Po
 .Fl t Ar dest
 .Ar source ...
_AT_@ -62,10 +62,6 @@ is copied with
 Change the installed files' owner to
 .Ar owner .
 This may be a user name or a user identifier.
-.It Fl s
-Remove unnecessary symbols using
-.Xr strip 1 .
-Failure to strip a file does not imply failure to install the file.
 .It Fl t Ar dest
 Copy files into the directory
 .Ar dest .
_AT_@ -79,8 +75,7 @@ notation is used, the base mode is 0000.
 .Xr chmod 1 ,
 .Xr chown 1 ,
 .Xr cp 1 ,
-.Xr mkdir 1 ,
-.Xr strip 1
+.Xr mkdir 1
 .Sh STANDARDS
 The
 .Nm
diff --git a/xinstall.c b/xinstall.c
index bf921fb..e91e703 100644
--- a/xinstall.c
+++ b/xinstall.c
_AT_@ -13,7 +13,6 @@
 #include "text.h"
 
 static int Dflag = 0;
-static int sflag = 0;
 static gid_t group;
 static uid_t owner;
 static mode_t mode = 0755;
_AT_@ -41,22 +40,6 @@ make_dirs(char *dir, int was_missing)
 	make_dir(dir, was_missing);
 }
 
-static void
-strip(const char *filename)
-{
-	pid_t pid = fork();
-	switch (pid) {
-	case -1:
-		eprintf("fork:");
-	case 0:
-		execlp("strip", "strip", "--", filename, (char *)0);
-		eprintf("exec: strip:");
-	default:
-		waitpid(pid, NULL, 0);
-		break;
-	}
-}
-
 static int
 install(const char *s1, const char *s2, int depth)
 {
_AT_@ -125,9 +108,6 @@ install(const char *s1, const char *s2, int depth)
 			eprintf("fclose %s:", s2);
 		if (fclose(f1) == EOF)
 			eprintf("fclose %s:", s1);
-
-		if (sflag)
-			strip(s2);
 	}
 
 	if (lchown(s2, owner, group) < 0)
_AT_@ -166,7 +146,7 @@ main(int argc, char *argv[])
 		Dflag = 1;
 		break;
 	case 's':
-		sflag = 1;
+		/* no-op for compatibility */
 		break;
 	case 'g':
 		gflag = EARGF(usage());
_AT_@ -184,7 +164,7 @@ main(int argc, char *argv[])
 		usage();
 	} ARGEND
 
-	if (argc < 1 + (!tflag & !dflag) || dflag & (Dflag | sflag | !!tflag))
+	if (argc < 1 + (!tflag & !dflag) || dflag & (Dflag | !!tflag))
 		usage();
 
 	if (gflag) {
-- 
2.10.2
Received on Sat Dec 03 2016 - 12:51:14 CET

This archive was generated by hypermail 2.3.0 : Sat Dec 03 2016 - 13:00:16 CET