ports/115048: sysutils/screen: install error if world compiled with NO_INFO

Björn König bkoenig at cs.tu-berlin.de
Mon Jul 30 16:20:02 UTC 2007


>Number:         115048
>Category:       ports
>Synopsis:       sysutils/screen: install error if world compiled with NO_INFO
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 30 16:20:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Björn König
>Release:        
>Organization:
>Environment:
>Description:
The program /usr/bin/install-info doesn't exist in case
the base system has been compiled with NO_INFO. This causes
an error during installation of sysutils/screen because one
of screen's make files rely on this program.

I added handling of NO_INFO (and NO_MAN by the way). I suggest
to let screen depend on print/texinfo if the user doesn't define
NO_INFO and /usr/bin/install-info doesn't exist.                                                                                                                      
>How-To-Repeat:
>Fix:

	

--- patch-ports_sysutils_screen.diff begins here ---
diff -ruN ports/sysutils/screen.orig/Makefile ports/sysutils/screen/Makefile
--- ports/sysutils/screen.orig/Makefile	2006-12-27 17:51:21.000000000 +0100
+++ ports/sysutils/screen/Makefile	2007-07-30 17:52:25.000000000 +0200
@@ -18,8 +18,19 @@
 COMMENT=	A multi-screen window manager
 
 GNU_CONFIGURE=	yes
+.if defined(NO_MAN)
+MAKE_ARGS+=	-DNO_MAN
+.else
 MAN1=		screen.1
+.endif
+.if defined(NO_INFO)
+MAKE_ARGS+=	-DNO_INFO
+.else
+.if !exists(/usr/bin/install-info)
+RUN_DEPENDS+=	install-info:${PORTSDIR}/print/texinfo
+.endif
 INFO=		screen
+.endif
 
 NO_PACKAGE=	Tends to loop using 100% CPU when used from package - perhaps it hard-codes information about the build host
 
diff -ruN ports/sysutils/screen.orig/files/patch-Makefile.in ports/sysutils/screen/files/patch-Makefile.in
--- ports/sysutils/screen.orig/files/patch-Makefile.in	1970-01-01 01:00:00.000000000 +0100
+++ ports/sysutils/screen/files/patch-Makefile.in	2007-07-30 17:52:25.000000000 +0200
@@ -0,0 +1,20 @@
+--- Makefile.in.orig	2007-07-30 12:38:38.000000000 +0200
++++ Makefile.in	2007-07-30 12:39:34.000000000 +0200
+@@ -77,7 +77,7 @@
+ 
+ ###############################################################################
+ install: installdirs install_bin
+-	cd doc ; $(MAKE) install
++	cd doc ; $(MAKE) $(MAKE_ARGS) install
+ 	-if [ -d /usr/lib/terminfo ]; then \
+ 		PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \
+ 		chmod 644 /usr/lib/terminfo/s/screen*; \
+@@ -90,7 +90,7 @@
+ installdirs:
+ # Path leading to ETCSCREENRC and Socketdirectory not checked.
+ 	$(srcdir)/etc/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(SCREENENCODINGS)
+-	cd doc ; $(MAKE) installdirs
++	cd doc ; $(MAKE) $(MAKE_ARGS) installdirs
+ 
+ uninstall: .version
+ 	rm -f $(DESTDIR)$(bindir)/$(SCREEN)
diff -ruN ports/sysutils/screen.orig/files/patch-doc_Makefile.in ports/sysutils/screen/files/patch-doc_Makefile.in
--- ports/sysutils/screen.orig/files/patch-doc_Makefile.in	1970-01-01 01:00:00.000000000 +0100
+++ ports/sysutils/screen/files/patch-doc_Makefile.in	2007-07-30 17:52:25.000000000 +0200
@@ -0,0 +1,34 @@
+--- doc/Makefile.in.orig	2007-07-30 17:16:19.000000000 +0200
++++ doc/Makefile.in	2007-07-30 17:18:14.000000000 +0200
+@@ -30,7 +30,10 @@
+ 	$(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info
+ 
+ install: installdirs
++.if !defined(NO_MAN)
+ 	$(INSTALL_DATA) $(srcdir)/screen.1 $(DESTDIR)$(mandir)/man1/screen.1
++.endif
++.if !defined(NO_INFO)
+ 	-$(MAKE) screen.info
+ 	-if test -f screen.info; then d=.; else d=$(srcdir); fi; \
+ 	if test -f $$d/screen.info; then \
+@@ -39,13 +42,19 @@
+ 	  install-info --info-dir=$(DESTDIR)$(infodir) $$d/screen.info; \
+ 	else true; fi; \
+ 	fi
++.endif
+ 
+ uninstall:
+ 	rm -f $(DESTDIR)$(mandir)/man1/screen.1
+ 	rm -f $(DESTDIR)$(infodir)/screen.info*
+ 
+ installdirs:
+-	$(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(infodir)
++.if !defined(NO_MAN)
++	$(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(mandir)/man1
++.endif
++.if !defined(NO_INFO)
++	$(srcdir)/../etc/mkinstalldirs $(DESTDIR)$(infodir)
++.endif
+ 
+ mostlyclean:
+ 	-rm -f *.cp *.cps *.fn *.fns *.ky *.kys *.pg *.tp *.vr
--- patch-ports_sysutils_screen.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list