Subject: pkg/29219: x11/lablgtk doesn't install under Linux
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jacereda@gmail.com>
List: pkgsrc-bugs
Date: 02/04/2005 00:23:00
>Number:         29219
>Category:       pkg
>Synopsis:       x11/lablgtk doesn't install under Linux
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 04 00:23:00 +0000 2005
>Originator:     Jorge Acereda Macia
>Release:        Linux with pkgsrc
>Organization:
>Environment:
Linux odw 2.6.10-pegasos-r2 #8 Wed Feb 2 01:05:46 CET 2005 ppc 7447/7457, altivec supported CHRP Pegasos2 GNU/Linux
>Description:
At the install stage, it tries to strip a couple of scripts:

>How-To-Repeat:
Under Linux:

$ sudo bmake install
...
install -c -s -o root -g root -m 555 lablgtktop /usr/pkg/lib/ocaml/lablgtk
strip: /usr/pkg/lib/ocaml/lablgtk/lablgtktop: File format not recognized
install: strip failed
...



>Fix:
This patch replaces the patch-aa in CVS. Just replaces a couple of BSD_INSTALL_PROGRAM with BSD_INSTALL_SCRIPT.


--- src/Makefile.orig	2003-05-15 16:17:53.000000000 +0200
+++ src/Makefile
@@ -137,32 +137,39 @@ testcc: lablgladecc lablgtktop
 	rm -f testcc.ml
 
 install:
-	if test -d $(INSTALLDIR); then : ; else mkdir -p $(INSTALLDIR); fi
-	cp $(ALLOBJS:.cmo=.cmi) $(THOBJS:.cmo=.cmi) $(INSTALLDIR)
-	cp -p *.mli $(INSTALLDIR)
-	cp -p $(ALLOBJS:.cmo=.ml) $(ALLTHOBJS:.cmo=.ml) $(INSTALLDIR)
-	cp $(MLLIBS) $(THOBJS) $(INITOBJS) $(THINITOBJS) $(INSTALLDIR)
-	cp $(CLIBS) $(INSTALLDIR)
-	cd $(INSTALLDIR) && $(RANLIB) $(CLIBS)
-	cp lablgtktop varcc $(INSTALLDIR)
-	if test -f lablgtktop_t; then cp lablgtktop_t $(INSTALLDIR); fi
-	cp -p *.h $(INSTALLDIR)
+	if test -d $(INSTALLDIR); then : ; else ${BSD_INSTALL_DATA_DIR} ${INSTALLDIR}; fi
+	for F in $(ALLOBJS:.cmo=.cmi) $(THOBJS:.cmo=.cmi) *.mli \
+		$(ALLOBJS:.cmo=.ml) $(ALLTHOBJS:.cmo=.ml) \
+		$(MLLIBS) $(THOBJS) $(INITOBJS) $(THINITOBJS) $(CLIBS) *.h; \
+	do \
+	    ${BSD_INSTALL_DATA} $$F ${INSTALLDIR}; \
+	done
+	${BSD_INSTALL_SCRIPT} lablgtktop $(INSTALLDIR)
+	${BSD_INSTALL_SCRIPT} varcc $(INSTALLDIR)
+	if test -f lablgtktop_t; then ${BSD_INSTALL_SCRIPT} lablgtktop_t $(INSTALLDIR); fi
 	if test -f lablgtk.cmxa; then $(MAKE) installopt; fi
+	${BSD_INSTALL_DATA_DIR} $(DLLDIR)
 	if test -f dlllablgtk.so; then \
-	   if test -d $(DLLDIR); then : ; else mkdir -p $(DLLDIR); fi; \
-	   cp $(CLIBS:lib%.a=dll%.so) $(DLLDIR) || \
-	   echo "Couldn't install dlls in default location"; \
+	   for F in $(CLIBS:lib%.a=dll%.so); \
+	   do \
+		${BSD_INSTALL_DATA} $$F $(DLLDIR); \
+	   done; \
 	fi
-	cp lablgtk $(BINDIR)
+	${BSD_INSTALL_SCRIPT} lablgtk $(BINDIR)
 	if test -f lablgladecc; then cp lablgladecc $(BINDIR); fi
 
 installopt:
-	cp $(MLLIBS:.cma=.cmxa) $(MLLIBS:.cma=.a) $(INSTALLDIR)
-	cd $(INSTALLDIR) && $(RANLIB) $(MLLIBS:.cma=.a)
-	cp $(ALLOBJS:.cmo=.cmx) $(INSTALLDIR)
-	cp $(INITOBJS:.cmo=.o) $(INSTALLDIR)
+	for F in $(MLLIBS:.cma=.cmxa) $(MLLIBS:.cma=.a) \
+		$(ALLOBJS:.cmo=.cmx) $(INITOBJS:.cmo=.o); \
+	do \
+	    ${BSD_INSTALL_DATA} $$F $(INSTALLDIR); \
+	done
 	if test -f gtkThread.cmx; then \
-	   cp $(THOBJS:.cmo=.cmx) $(THOBJS:.cmo=.o) $(INSTALLDIR); fi
+	    for F in $(THOBJS:.cmo=.cmx) $(THOBJS:.cmo=.o); \
+	    do \
+		${BSD_INSTALL_DATA} $$F $(INSTALLDIR); \
+	    done; \
+	fi
 
 liblablgtk.a: $(COBJS)
 	$(LIBRARIAN) -o lablgtk $(COBJS) $(GTKLIBS)