Bug 117488 - [patch] sysutils/screen enable installation of man page
Summary: [patch] sysutils/screen enable installation of man page
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Cy Schubert
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-25 16:10 UTC by Pietro Cerutti
Modified: 2007-10-27 18:50 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pietro Cerutti 2007-10-25 16:10:02 UTC
sysutils/screen doesn't handle the MAN option correctly: the man page is never installed

Fix: Apply this patch to the port's Makefile.
Note: a similar problem exists with the INFO option: the INFO doesn't get installed. I'm planning to solve that issue in a future PR, but since INFO pages seem to be much less used than MAN pages, I think this patch deserves higher attention.



GNU_CONFIGURE= yes
-.if defined(WITH_MAN)
-MAN1=          screen.1
-.else
-MAKE_ARGS+=    -DNO_MAN
-.endif
 .if defined(WITH_INFO)
 .if !exists(/usr/bin/install-info)
 RUN_DEPENDS+=  install-info:${PORTSDIR}/print/texinfo
@@ -42,6 +37,12 @@

 .include <bsd.port.pre.mk>

+.if defined(WITH_MAN) +MAN1=          screen.1
+.else
+MAKE_ARGS+=    -DNO_MAN
+.endif
+
 .if ${ARCH} == "alpha"
 CFLAGS+=       -O0
 .endif @@ -72,5 +73,8 @@
        @if [ ! -f ${PREFIX}/etc/screenrc ]; then \                 ${CP} ${EXAMPLESDIR}/screenrc ${PREFIX}/etc/screenrc ; \
        fi
+.if defined(WITH_MAN)
+       ${INSTALL_MAN} ${WRKSRC}/doc/screen.1 ${MANPREFIX}/man/man1
+.endif

 .include <bsd.port.post.mk>--DZntr4x5MaJzzQjjVxp8gUCDfqNELGH37AMjX3d0IoFqvS7e
Content-Type: text/plain; name="file.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="file.diff"

--- Makefile.orig       2007-10-25 17:00:50.000000000 +0200 +++ Makefile    2007-10-25 16:58:22.000000000 +0200
@@ -24,11 +24,6 @@
                XTERM_256 "Enable support for 256 colour xterm" OFF
How-To-Repeat: cd /usr/ports/sysutils/screen
make WITH_MAN=yes install
find /usr/local/man/man1/ -name "screen*"
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-10-25 16:10:12 UTC
Responsible Changed
From-To: freebsd-ports-bugs->cy

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Cy Schubert freebsd_committer freebsd_triage 2007-10-25 18:18:35 UTC
State Changed
From-To: open->analyzed

The problem is more serious than man pages not being installed. Info 
files are not installed either. Testing a patch locally to resolve this 
and the info issue.
Comment 3 Cy Schubert freebsd_committer freebsd_triage 2007-10-25 19:00:54 UTC
State Changed
From-To: analyzed->closed

Repaired the Makefile to install man pages (as per this PR) and info 
documents.
Comment 4 dfilter service freebsd_committer freebsd_triage 2007-10-25 19:01:59 UTC
cy          2007-10-25 18:01:51 UTC

  FreeBSD ports repository

  Modified files:
    sysutils/screen      Makefile 
  Log:
  Fix (enable) installation of man pages and info documents.
  
  PR:             117488
  
  Revision  Changes    Path
  1.68      +8 -4      ports/sysutils/screen/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 Pietro Cerutti 2007-10-26 09:08:37 UTC
cy@FreeBSD.org wrote:
> Synopsis: [patch] sysutils/screen enable installation of man page
> 
> State-Changed-From-To: analyzed->closed
> State-Changed-By: cy
> State-Changed-When: Thu Oct 25 18:00:54 UTC 2007
> State-Changed-Why: 
> Repaired the Makefile to install man pages (as per this PR) and info
> documents.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=117488


Have you tested it?
The INFO part doesn't work.

Your solution seems to be logical: enable the .if defined(WITH_INFO)
part by including <bsd.port.pre.mk> before the directive.
It was also my first thought. However I cannot get the INFO part to work.

I suggest that you check the output below, and revert to my original
patch, which solves the MAN part at least, until we get to a solution
for the INFO part.

Thank you,


===>  Installing for screen-4.0.3_1
===>   Generating temporary packing list
===>  Checking if sysutils/screen already installed
./etc/mkinstalldirs /usr/local/bin `sed < config.h -n -e '/define
SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
cd doc ; make  installdirs
./../etc/mkinstalldirs /usr/local/man/man1
install  -s -o root -g wheel -m 555 screen /usr/local/bin/screen
chown root:wheel /usr/local/bin/screen && chmod 4755 /usr/local/bin/screen
cp ./utf8encodings/?? `sed < config.h -n -e '/define
SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
cd doc ; make  install
./../etc/mkinstalldirs /usr/local/man/man1
install  -o root -g wheel -m 444 ./screen.1 /usr/local/man/man1/screen.1
if [ -d /usr/lib/terminfo ]; then  PATH="$PATH:/usr/5bin" tic
./terminfo/screeninfo.src;  chmod 644 /usr/lib/terminfo/s/screen*;  fi
termcap entry (./terminfo/screencap) should be installed manually.
You may also want to install ./etc/etcscreenrc in /usr/local/etc/screenrc
install  -o root -g wheel -m 444
/usr/ports/sysutils/screen/work/screen-4.0.3/doc/screen.1
/usr/local/man/man1
install-info --quiet /usr/local/info/screen.info /usr/local/info/dir
install-info: No such file or directory for /usr/local/info/screen.info
*** Error code 1

Stop in /usr/ports/sysutils/screen.
*** Error code 1

Stop in /usr/ports/sysutils/screen.
Exit 1


-- 
Pietro Cerutti

PGP Public Key:
http://gahr.ch/pgp
Comment 6 Pietro Cerutti 2007-10-26 09:48:30 UTC
Please apply this patch to the Makefile you committed yesterday (1.68).
It finally solves the INFO problem..


--- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
+++ Makefile    2007-10-26 10:43:25.000000000 +0200
@@ -31,16 +31,14 @@
 GNU_CONFIGURE= yes
 .if defined(WITH_MAN)
 MAN1=          screen.1
-.else
-MAKE_ARGS+=    -DNO_MAN
+MAKE_ARGS+=    -DWITH_MAN
 .endif
 .if defined(WITH_INFO)
 .if !exists(/usr/bin/install-info)
 RUN_DEPENDS+=  install-info:${PORTSDIR}/print/texinfo
 .endif
 INFO=          screen
-.else
-MAKE_ARGS+=    -DNO_INFO
+MAKE_ARGS+=    -DWITH_INFO
 .endif

 .if ${ARCH} == "alpha"


Thanks, regards.

-- 
Pietro Cerutti

PGP Public Key:
http://gahr.ch/pgp
Comment 7 Pietro Cerutti 2007-10-26 09:55:04 UTC
Pietro Cerutti wrote:
> Please apply this patch to the Makefile you committed yesterday (1.68).
> It finally solves the INFO problem..
> 
> 
> --- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
> +++ Makefile    2007-10-26 10:43:25.000000000 +0200
> @@ -31,16 +31,14 @@
>  GNU_CONFIGURE= yes
>  .if defined(WITH_MAN)
>  MAN1=          screen.1
> -.else
> -MAKE_ARGS+=    -DNO_MAN
> +MAKE_ARGS+=    -DWITH_MAN
>  .endif
>  .if defined(WITH_INFO)
>  .if !exists(/usr/bin/install-info)
>  RUN_DEPENDS+=  install-info:${PORTSDIR}/print/texinfo
>  .endif
>  INFO=          screen
> -.else
> -MAKE_ARGS+=    -DNO_INFO
> +MAKE_ARGS+=    -DWITH_INFO
>  .endif
> 
>  .if ${ARCH} == "alpha"
> 
> 
> Thanks, regards.
> 



Actually, the installation of the MAN page is taken care of in
doc/Makefile. We can safely remove the explicit installation from the
port's Makefile.

The following is the actual patch to be applied against yesterday's 1.68:

--- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
+++ Makefile    2007-10-26 10:52:19.000000000 +0200
@@ -31,16 +31,14 @@
 GNU_CONFIGURE= yes
 .if defined(WITH_MAN)
 MAN1=          screen.1
-.else
-MAKE_ARGS+=    -DNO_MAN
+MAKE_ARGS+=    -DWITH_MAN
 .endif
 .if defined(WITH_INFO)
 .if !exists(/usr/bin/install-info)
 RUN_DEPENDS+=  install-info:${PORTSDIR}/print/texinfo
 .endif
 INFO=          screen
-.else
-MAKE_ARGS+=    -DNO_INFO
+MAKE_ARGS+=    -DWITH_INFO
 .endif

 .if ${ARCH} == "alpha"
@@ -73,8 +71,5 @@
        @if [ ! -f ${PREFIX}/etc/screenrc ]; then \
                ${CP} ${EXAMPLESDIR}/screenrc ${PREFIX}/etc/screenrc ; \
        fi
-.if defined(WITH_MAN)
-       ${INSTALL_MAN} ${WRKSRC}/doc/screen.1 ${MANPREFIX}/man/man1
-.endif

 .include <bsd.port.post.mk>

-- 
Pietro Cerutti

PGP Public Key:
http://gahr.ch/pgp
Comment 8 Cy Schubert 2007-10-26 17:10:29 UTC
In message <4721A9DE.5010404@gahr.ch>, Pietro Cerutti writes:
> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> --------------enig14E192FFECFACCFF222FF981
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: quoted-printable
> 
> Please apply this patch to the Makefile you committed yesterday (1.68).
> It finally solves the INFO problem..
> 
> 
> --- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
> +++ Makefile    2007-10-26 10:43:25.000000000 +0200
> @@ -31,16 +31,14 @@
>  GNU_CONFIGURE=3D yes
>  .if defined(WITH_MAN)
>  MAN1=3D          screen.1
> -.else
> -MAKE_ARGS+=    -DNO_MAN
> +MAKE_ARGS+=    -DWITH_MAN
>  .endif
>  .if defined(WITH_INFO)
>  .if !exists(/usr/bin/install-info)
>  RUN_DEPENDS+=3D  install-info:${PORTSDIR}/print/texinfo
>  .endif
>  INFO=3D          screen
> -.else
> -MAKE_ARGS+=    -DNO_INFO
> +MAKE_ARGS+=    -DWITH_INFO
>  .endif
> 
>  .if ${ARCH} == "alpha"

Your patch is incorrect. NO_MAN and NO_INFO are used when WITH_MAN and WITH_INFO are not respectively defined.


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0
Comment 9 Cy Schubert 2007-10-26 17:28:02 UTC
In message <4722143A.5000007@gahr.ch>, Pietro Cerutti writes:
> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> --------------enigC8EB130EC3F13747B4605930
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
> 
> Cy Schubert wrote:
> > In message <4721A9DE.5010404@gahr.ch>, Pietro Cerutti writes:
> >> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> >> --------------enig14E192FFECFACCFF222FF981
> >> Content-Type: text/plain; charset=3DUTF-8
> >> Content-Transfer-Encoding: quoted-printable
> >>
> >> Please apply this patch to the Makefile you committed yesterday (1.68)=
> =2E
> >> It finally solves the INFO problem..
> >>
> >>
> >> --- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
> >> +++ Makefile    2007-10-26 10:43:25.000000000 +0200
> >> @@ -31,16 +31,14 @@
> >>  GNU_CONFIGURE=3D3D yes
> >>  .if defined(WITH_MAN)
> >>  MAN1=3D3D          screen.1
> >> -.else
> >> -MAKE_ARGS+=3D    -DNO_MAN
> >> +MAKE_ARGS+=3D    -DWITH_MAN
> >>  .endif
> >>  .if defined(WITH_INFO)
> >>  .if !exists(/usr/bin/install-info)
> >>  RUN_DEPENDS+=3D3D  install-info:${PORTSDIR}/print/texinfo
> >>  .endif
> >>  INFO=3D3D          screen
> >> -.else
> >> -MAKE_ARGS+=3D    -DNO_INFO
> >> +MAKE_ARGS+=3D    -DWITH_INFO
> >>  .endif
> >>
> >>  .if ${ARCH} =3D=3D "alpha"
> >=20
> > Your patch is incorrect. NO_MAN and NO_INFO are used when WITH_MAN and =
> WITH_INFO are not respectively defined.
> >=20
> 
> The Makefile in doc/ doesn't care about NO_INFO, but checks for
> WITH_INFO. That's why, without the patch above, the INFO page doesn't
> get installed.
> I recognize that it's a dirty hack, do you have a better solution?
> 

cwsys$ pkg_info -L screen-4.0.3_1
Information for screen-4.0.3_1:

Files:
/usr/local/man/man1/screen.1.gz
/usr/local/bin/screen
/usr/local/share/screen/utf8encodings/01
/usr/local/share/screen/utf8encodings/02
/usr/local/share/screen/utf8encodings/03
/usr/local/share/screen/utf8encodings/04
/usr/local/share/screen/utf8encodings/18
/usr/local/share/screen/utf8encodings/19
/usr/local/share/screen/utf8encodings/a1
/usr/local/share/screen/utf8encodings/bf
/usr/local/share/screen/utf8encodings/c2
/usr/local/share/screen/utf8encodings/c3
/usr/local/share/screen/utf8encodings/c4
/usr/local/share/screen/utf8encodings/c6
/usr/local/share/screen/utf8encodings/c7
/usr/local/share/screen/utf8encodings/c8
/usr/local/share/screen/utf8encodings/cc
/usr/local/share/screen/utf8encodings/cd
/usr/local/share/screen/utf8encodings/d6
/usr/local/share/examples/screen/screenrc
/usr/local/info/screen.info

cwsys$ ll /usr/local/man/man1/screen.1.gz /usr/local/info/screen.info
-r--r--r--  1 root  wheel  225811 Oct 26 09:21 /usr/local/info/screen.info
-r--r--r--  1 root  wheel   49066 Oct 26 09:21 /usr/local/man/man1/screen.1.gz
cwsys$ 

No installation problems on my production server. Screen options should be similar to the following. Are yours the same?

cwsys$ cat /var/db/ports/screen/options 
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for screen-4.0.3
_OPTIONS_READ=screen-4.0.3
WITH_XTERM_256=true
WITH_NETHACK=true
WITHOUT_CJK=true
WITH_MAN=true
WITH_INFO=true
cwsys$ 


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0
Comment 10 Pietro Cerutti 2007-10-26 17:45:50 UTC
This is a multi-part message in MIME format.
Comment 11 Pietro Cerutti 2007-10-26 17:58:28 UTC
Solved.
Actually, ehm, there was a NO_INFO= hanging around in my make.conf...
Makefile 1.69 is ok.

Sorry for loosing your time...

-- 
Pietro Cerutti

PGP Public Key:
http://gahr.ch/pgp
Comment 12 Cy Schubert 2007-10-26 18:00:48 UTC
In message <4722178F.3060502@gahr.ch>, Pietro Cerutti writes:
> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> --------------enig388F62288FF62D67758D2F64
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
> 
> Cy Schubert wrote:
> > In message <4722143A.5000007@gahr.ch>, Pietro Cerutti writes:
> >> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> >> --------------enigC8EB130EC3F13747B4605930
> >> Content-Type: text/plain; charset=3DISO-8859-1
> >> Content-Transfer-Encoding: quoted-printable
> >>
> >> Cy Schubert wrote:
> >>> In message <4721A9DE.5010404@gahr.ch>, Pietro Cerutti writes:
> >>>> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> >>>> --------------enig14E192FFECFACCFF222FF981
> >>>> Content-Type: text/plain; charset=3D3DUTF-8
> >>>> Content-Transfer-Encoding: quoted-printable
> >>>>
> >>>> Please apply this patch to the Makefile you committed yesterday (1.6=
> 8)=3D
> >> =3D2E
> >>>> It finally solves the INFO problem..
> >>>>
> >>>>
> >>>> --- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
> >>>> +++ Makefile    2007-10-26 10:43:25.000000000 +0200
> >>>> @@ -31,16 +31,14 @@
> >>>>  GNU_CONFIGURE=3D3D3D yes
> >>>>  .if defined(WITH_MAN)
> >>>>  MAN1=3D3D3D          screen.1
> >>>> -.else
> >>>> -MAKE_ARGS+=3D3D    -DNO_MAN
> >>>> +MAKE_ARGS+=3D3D    -DWITH_MAN
> >>>>  .endif
> >>>>  .if defined(WITH_INFO)
> >>>>  .if !exists(/usr/bin/install-info)
> >>>>  RUN_DEPENDS+=3D3D3D  install-info:${PORTSDIR}/print/texinfo
> >>>>  .endif
> >>>>  INFO=3D3D3D          screen
> >>>> -.else
> >>>> -MAKE_ARGS+=3D3D    -DNO_INFO
> >>>> +MAKE_ARGS+=3D3D    -DWITH_INFO
> >>>>  .endif
> >>>>
> >>>>  .if ${ARCH} =3D3D=3D3D "alpha"
> >>> =3D20
> >>> Your patch is incorrect. NO_MAN and NO_INFO are used when WITH_MAN an=
> d =3D
> >> WITH_INFO are not respectively defined.
> >>> =3D20
> >> The Makefile in doc/ doesn't care about NO_INFO, but checks for
> >> WITH_INFO. That's why, without the patch above, the INFO page doesn't
> >> get installed.
> >> I recognize that it's a dirty hack, do you have a better solution?
> >>
> >=20
> > cwsys$ pkg_info -L screen-4.0.3_1
> > Information for screen-4.0.3_1:
> >=20
> > Files:
> > /usr/local/man/man1/screen.1.gz
> > /usr/local/bin/screen
> > /usr/local/share/screen/utf8encodings/01
> > /usr/local/share/screen/utf8encodings/02
> > /usr/local/share/screen/utf8encodings/03
> > /usr/local/share/screen/utf8encodings/04
> > /usr/local/share/screen/utf8encodings/18
> > /usr/local/share/screen/utf8encodings/19
> > /usr/local/share/screen/utf8encodings/a1
> > /usr/local/share/screen/utf8encodings/bf
> > /usr/local/share/screen/utf8encodings/c2
> > /usr/local/share/screen/utf8encodings/c3
> > /usr/local/share/screen/utf8encodings/c4
> > /usr/local/share/screen/utf8encodings/c6
> > /usr/local/share/screen/utf8encodings/c7
> > /usr/local/share/screen/utf8encodings/c8
> > /usr/local/share/screen/utf8encodings/cc
> > /usr/local/share/screen/utf8encodings/cd
> > /usr/local/share/screen/utf8encodings/d6
> > /usr/local/share/examples/screen/screenrc
> > /usr/local/info/screen.info
> >=20
> > cwsys$ ll /usr/local/man/man1/screen.1.gz /usr/local/info/screen.info
> > -r--r--r--  1 root  wheel  225811 Oct 26 09:21 /usr/local/info/screen.i=
> nfo
> > -r--r--r--  1 root  wheel   49066 Oct 26 09:21 /usr/local/man/man1/scre=
> en.1.gz
> > cwsys$=20
> >=20
> > No installation problems on my production server. Screen options should=
>  be similar to the following. Are yours the same?
> >=20
> > cwsys$ cat /var/db/ports/screen/options=20
> > # This file is auto-generated by 'make config'.
> > # No user-servicable parts inside!
> > # Options for screen-4.0.3
> > _OPTIONS_READ=3Dscreen-4.0.3
> > WITH_XTERM_256=3Dtrue
> > WITH_NETHACK=3Dtrue
> > WITHOUT_CJK=3Dtrue
> > WITH_MAN=3Dtrue
> > WITH_INFO=3Dtrue
> > cwsys$=20
> >=20
> >=20
> 
> Nope...
> See output below.. in the meanwhile, I suggest this one against your 1.69=
> :
> 
> --- Makefile    2007-10-26 18:29:38.000000000 +0200
> +++ Makefile.mine       2007-10-26 18:30:41.000000000 +0200
> @@ -31,6 +31,7 @@
>  GNU_CONFIGURE=3D yes
>  .if defined(WITH_MAN)
>  MAN1=3D          screen.1
> +MAKE_ARGS+=3D -DWITH_MAN
>  .else
>  MAKE_ARGS+=3D    -DNO_MAN
>  .endif
> @@ -39,6 +40,7 @@
>  RUN_DEPENDS+=3D  install-info:${PORTSDIR}/print/texinfo
>  .endif
>  INFO=3D          screen
> +MAKE_ARGS+=3D -DWITH_INFO
>  .else
>  MAKE_ARGS+=3D    -DNO_INFO
>  .endif
> 
> 
> Building with your 1.69...
> 
> > cat /var/db/ports/screen/options
> # This file is auto-generated by 'make config'.
> # No user-servicable parts inside!
> # Options for screen-4.0.3_1
> _OPTIONS_READ=3Dscreen-4.0.3_1
> WITH_CJK=3Dtrue
> WITH_INFO=3Dtrue
> WITH_MAN=3Dtrue
> WITH_NETHACK=3Dtrue
> WITH_XTERM_256=3Dtrue
> 
> > sudo make install
> =3D=3D=3D>  Found saved configuration for screen-4.0.3_1
> =3D=3D=3D>  Extracting for screen-4.0.3_1
> =3D> MD5 Checksum OK for screen-4.0.3.tar.gz.
> =3D> SHA256 Checksum OK for screen-4.0.3.tar.gz.
> =3D=3D=3D>  Patching for screen-4.0.3_1
> =3D=3D=3D>  Applying extra patch /usr/ports/sysutils/screen/files/opt-cjk=
> width
> =3D=3D=3D>  Applying FreeBSD patches for screen-4.0.3_1
> =3D=3D=3D>  Configuring for screen-4.0.3_1
> configure: WARNING: you should use --build, --host, --target
> this is screen version 4.0.3
> checking for i386-portbld-freebsd6.2-gcc... cc
> checking for C compiler default output... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether cc accepts -g... yes
> checking for cc option to accept ANSI C... none needed
> checking how to run the C preprocessor... cc -E
> checking for egrep... grep -E
> checking whether cc needs -traditional... no
> checking for library containing strerror... none required
> checking for gawk... gawk
> checking for a BSD-compatible install... /usr/bin/install -c -o root -g
> wheel
> configure: checking for buggy tools...
> checking if a system-wide socket dir should be used... yes
> checking for the socket dir... (eff_uid ? "/tmp/uscreens" : "/tmp/screens=
> ")
> configure: checking for MIPS...
> configure: checking for Ultrix...
> configure: checking for butterfly...
> configure: checking for POSIX.1...
> - you have a POSIX system
> configure: checking for System V...
> configure: checking for sequent/ptx...
> configure: checking SVR4...
> checking for ANSI C header files... no
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> configure: checking for Solaris 2.x...
> configure: checking BSD job jontrol...
> - you have jobcontrol
> configure: checking setreuid...
> configure: checking seteuid...
> configure: checking select...
> configure: checking fifos...
> - your fifos are usable
> configure: checking for broken fifo implementation...
> - your implementation is ok
> configure: checking sockets...
> - your sockets are usable
> configure: checking socket implementation...
> - you are normal
> - both sockets and fifos usable. let's take fifos.
> configure: checking select return value...
> - select is ok
> configure: checking for tgetent...
> configure: checking libtermcap...
> - you use the termcap database
> configure: checking ospeed...
> configure: checking for /dev/ptc...
> configure: checking for SVR4 ptys...
> checking for getpt... no
> checking for openpty... no
> checking for openpty in -lutil... yes
> configure: checking for ptyranges...
> configure: checking default tty permissions/group...
> - ptys are world accessable
> configure: checking getutent...
> configure: checking getutent with -lgen...
> configure: checking ut_host...
> checking utempter.h usability... no
> checking utempter.h presence... no
> checking for utempter.h... no
> configure: checking for libutil(s)...
> configure: checking getloadavg...
> assuming posix signal definition
> configure: checking for crypt and sec libraries...
> configure: checking crypt...
> configure: checking IRIX sun library...
> configure: checking syslog...
> configure: checking wait union...
> configure: checking for termio or termios...
> configure: checking getspnam...
> configure: checking getttyent...
> configure: checking fdwalk...
> configure: checking whether memcpy/memmove/bcopy handles overlapping
> arguments...
> checking long file names... yes
> checking for vsprintf... yes
> checking for dirent.h that defines DIR... yes
> checking for library containing opendir... none required
> checking for setenv... yes
> checking for nl_langinfo(CODESET)... yes
> checking for library containing gethostname... none required
> checking for rename... yes
> checking for fchmod... yes
> checking for fchown... yes
> checking for strerror... yes
> checking for lstat... yes
> checking for _exit... yes
> checking for utimes... yes
> checking for vsnprintf... yes
> checking for getcwd... yes
> checking for setlocale... yes
> checking for strftime... yes
> checking for the global screenrc file... "/usr/local/etc/screenrc"
> checking for the utf8-encodings location...
> "/usr/local/share/screen/utf8encodings"
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating doc/Makefile
> config.status: creating config.h
> config.status: executing default commands
> 
> Now please check the pathnames in the Makefile and in the user
> configuration section in config.h.
> Then type 'make' to make screen. Good luck.
> 
> =3D=3D=3D>  Building for screen-4.0.3_1
> CPP=3D"cc -E " srcdir=3D. sh ./osdef.sh
> AWK=3Dgawk CC=3D"cc -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256" srcd=
> ir=3D.
> sh ./comm.sh
> AWK=3Dgawk srcdir=3D. sh ./term.sh
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 screen.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 ansi.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 fileio.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 mark.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 misc.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 resize.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 socket.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 search.c=
> 
> sh ./tty.sh tty.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 tty.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 term.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 window.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 utmp.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 loadav.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 putenv.c=
> 
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 help.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 termcap.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 input.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 attacher=
> =2Ec
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 pty.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 process.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 display.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 comm.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 kmapdef.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 acls.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 braille.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 braille_=
> tsi.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 logfile.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 layer.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 sched.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 teln.c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 nethack.=
> c
> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 encoding=
> =2Ec
> cc  -o screen screen.o ansi.o fileio.o mark.o misc.o resize.o socket.o
> search.o tty.o term.o window.o utmp.o loadav.o putenv.o help.o
> termcap.o input.o attacher.o pty.o process.o display.o comm.o  kmapdef.o
> acls.o braille.o braille_tsi.o logfile.o layer.o  sched.o teln.o
> nethack.o encoding.o -ltermcap  -lutil -lutil -lcrypt
> =3D=3D=3D>  Installing for screen-4.0.3_1
> =3D=3D=3D>   Generating temporary packing list
> =3D=3D=3D>  Checking if sysutils/screen already installed
> =2E/etc/mkinstalldirs /usr/local/bin `sed < config.h -n -e '/define
> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
> cd doc ; make  installdirs
> install  -s -o root -g wheel -m 555 screen /usr/local/bin/screen
> chown root:wheel /usr/local/bin/screen && chmod 4755 /usr/local/bin/scree=
> n
> cp ./utf8encodings/?? `sed < config.h -n -e '/define
> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
> cd doc ; make  install
> if [ -d /usr/lib/terminfo ]; then  PATH=3D"$PATH:/usr/5bin" tic
> =2E/terminfo/screeninfo.src;  chmod 644 /usr/lib/terminfo/s/screen*;  fi
> termcap entry (./terminfo/screencap) should be installed manually.
> You may also want to install ./etc/etcscreenrc in /usr/local/etc/screenrc=
> 
> install-info --quiet /usr/local/info/screen.info /usr/local/info/dir
> install-info: No such file or directory for /usr/local/info/screen.info
> *** Error code 1
> 
> Stop in /usr/ports/sysutils/screen.
> *** Error code 1
> 
> Stop in /usr/ports/sysutils/screen.
> Exit 1

It's no rocket science to see that there's a problem here. The question is why do I not see the same problem on my systems? Searching the working directory for for WITH_MAN and WITH_INFO results in nothing matched:

cwsys# find /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3 -type f | xargs egrep 'WITH_MAN|WITH_INFO'
cwsys# 

NO_INFO and NO_MAN does match:

cwsys# find /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3 -type f | xargs egrep 'NO_MAN|NO_INFO'
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_MAN)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_INFO)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_MAN)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_INFO)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_MAN)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_INFO)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_MAN)
/export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_INFO)
cwsys# 

The question that needs to be answered is why does your site require WITH_MAN and WITH_INFO to be defined in MAKE_ARGS to work? I will test the install out on my testbed in a pristine environment. What version of FreeBSD are you using? I'm able to boot anything from 5.5 to the latest 8.0-CURRENT on it. Unless you tell me otherwise I will assume you are using 6.2-STABLE.


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0
Comment 13 Cy Schubert 2007-10-26 18:04:10 UTC
In message <47221CB4.5050701@gahr.ch>, Pietro Cerutti writes:
> 
> Solved.
> Actually, ehm, there was a NO_INFO= hanging around in my make.conf...
> Makefile 1.69 is ok.
> 
> Sorry for loosing your time...

No problem.


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0
Comment 14 Pietro Cerutti 2007-10-26 18:05:59 UTC
Cy Schubert wrote:
> In message <4722178F.3060502@gahr.ch>, Pietro Cerutti writes:
>> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
>> --------------enig388F62288FF62D67758D2F64
>> Content-Type: text/plain; charset=ISO-8859-1
>> Content-Transfer-Encoding: quoted-printable
>>
>> Cy Schubert wrote:
>>> In message <4722143A.5000007@gahr.ch>, Pietro Cerutti writes:
>>>> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
>>>> --------------enigC8EB130EC3F13747B4605930
>>>> Content-Type: text/plain; charset=3DISO-8859-1
>>>> Content-Transfer-Encoding: quoted-printable
>>>>
>>>> Cy Schubert wrote:
>>>>> In message <4721A9DE.5010404@gahr.ch>, Pietro Cerutti writes:
>>>>>> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
>>>>>> --------------enig14E192FFECFACCFF222FF981
>>>>>> Content-Type: text/plain; charset=3D3DUTF-8
>>>>>> Content-Transfer-Encoding: quoted-printable
>>>>>>
>>>>>> Please apply this patch to the Makefile you committed yesterday (1.6=
>> 8)=3D
>>>> =3D2E
>>>>>> It finally solves the INFO problem..
>>>>>>
>>>>>>
>>>>>> --- Makefile.orig       2007-10-26 10:42:30.000000000 +0200
>>>>>> +++ Makefile    2007-10-26 10:43:25.000000000 +0200
>>>>>> @@ -31,16 +31,14 @@
>>>>>>  GNU_CONFIGURE=3D3D3D yes
>>>>>>  .if defined(WITH_MAN)
>>>>>>  MAN1=3D3D3D          screen.1
>>>>>> -.else
>>>>>> -MAKE_ARGS+=3D3D    -DNO_MAN
>>>>>> +MAKE_ARGS+=3D3D    -DWITH_MAN
>>>>>>  .endif
>>>>>>  .if defined(WITH_INFO)
>>>>>>  .if !exists(/usr/bin/install-info)
>>>>>>  RUN_DEPENDS+=3D3D3D  install-info:${PORTSDIR}/print/texinfo
>>>>>>  .endif
>>>>>>  INFO=3D3D3D          screen
>>>>>> -.else
>>>>>> -MAKE_ARGS+=3D3D    -DNO_INFO
>>>>>> +MAKE_ARGS+=3D3D    -DWITH_INFO
>>>>>>  .endif
>>>>>>
>>>>>>  .if ${ARCH} =3D3D=3D3D "alpha"
>>>>> =3D20
>>>>> Your patch is incorrect. NO_MAN and NO_INFO are used when WITH_MAN an=
>> d =3D
>>>> WITH_INFO are not respectively defined.
>>>>> =3D20
>>>> The Makefile in doc/ doesn't care about NO_INFO, but checks for
>>>> WITH_INFO. That's why, without the patch above, the INFO page doesn't
>>>> get installed.
>>>> I recognize that it's a dirty hack, do you have a better solution?
>>>>
>>> =20
>>> cwsys$ pkg_info -L screen-4.0.3_1
>>> Information for screen-4.0.3_1:
>>> =20
>>> Files:
>>> /usr/local/man/man1/screen.1.gz
>>> /usr/local/bin/screen
>>> /usr/local/share/screen/utf8encodings/01
>>> /usr/local/share/screen/utf8encodings/02
>>> /usr/local/share/screen/utf8encodings/03
>>> /usr/local/share/screen/utf8encodings/04
>>> /usr/local/share/screen/utf8encodings/18
>>> /usr/local/share/screen/utf8encodings/19
>>> /usr/local/share/screen/utf8encodings/a1
>>> /usr/local/share/screen/utf8encodings/bf
>>> /usr/local/share/screen/utf8encodings/c2
>>> /usr/local/share/screen/utf8encodings/c3
>>> /usr/local/share/screen/utf8encodings/c4
>>> /usr/local/share/screen/utf8encodings/c6
>>> /usr/local/share/screen/utf8encodings/c7
>>> /usr/local/share/screen/utf8encodings/c8
>>> /usr/local/share/screen/utf8encodings/cc
>>> /usr/local/share/screen/utf8encodings/cd
>>> /usr/local/share/screen/utf8encodings/d6
>>> /usr/local/share/examples/screen/screenrc
>>> /usr/local/info/screen.info
>>> =20
>>> cwsys$ ll /usr/local/man/man1/screen.1.gz /usr/local/info/screen.info
>>> -r--r--r--  1 root  wheel  225811 Oct 26 09:21 /usr/local/info/screen.i=
>> nfo
>>> -r--r--r--  1 root  wheel   49066 Oct 26 09:21 /usr/local/man/man1/scre=
>> en.1.gz
>>> cwsys$=20
>>> =20
>>> No installation problems on my production server. Screen options should=
>>  be similar to the following. Are yours the same?
>>> =20
>>> cwsys$ cat /var/db/ports/screen/options=20
>>> # This file is auto-generated by 'make config'.
>>> # No user-servicable parts inside!
>>> # Options for screen-4.0.3
>>> _OPTIONS_READ=3Dscreen-4.0.3
>>> WITH_XTERM_256=3Dtrue
>>> WITH_NETHACK=3Dtrue
>>> WITHOUT_CJK=3Dtrue
>>> WITH_MAN=3Dtrue
>>> WITH_INFO=3Dtrue
>>> cwsys$=20
>>> =20
>>> =20
>> Nope...
>> See output below.. in the meanwhile, I suggest this one against your 1.69=
>> :
>>
>> --- Makefile    2007-10-26 18:29:38.000000000 +0200
>> +++ Makefile.mine       2007-10-26 18:30:41.000000000 +0200
>> @@ -31,6 +31,7 @@
>>  GNU_CONFIGURE=3D yes
>>  .if defined(WITH_MAN)
>>  MAN1=3D          screen.1
>> +MAKE_ARGS+=3D -DWITH_MAN
>>  .else
>>  MAKE_ARGS+=3D    -DNO_MAN
>>  .endif
>> @@ -39,6 +40,7 @@
>>  RUN_DEPENDS+=3D  install-info:${PORTSDIR}/print/texinfo
>>  .endif
>>  INFO=3D          screen
>> +MAKE_ARGS+=3D -DWITH_INFO
>>  .else
>>  MAKE_ARGS+=3D    -DNO_INFO
>>  .endif
>>
>>
>> Building with your 1.69...
>>
>>> cat /var/db/ports/screen/options
>> # This file is auto-generated by 'make config'.
>> # No user-servicable parts inside!
>> # Options for screen-4.0.3_1
>> _OPTIONS_READ=3Dscreen-4.0.3_1
>> WITH_CJK=3Dtrue
>> WITH_INFO=3Dtrue
>> WITH_MAN=3Dtrue
>> WITH_NETHACK=3Dtrue
>> WITH_XTERM_256=3Dtrue
>>
>>> sudo make install
>> =3D=3D=3D>  Found saved configuration for screen-4.0.3_1
>> =3D=3D=3D>  Extracting for screen-4.0.3_1
>> =3D> MD5 Checksum OK for screen-4.0.3.tar.gz.
>> =3D> SHA256 Checksum OK for screen-4.0.3.tar.gz.
>> =3D=3D=3D>  Patching for screen-4.0.3_1
>> =3D=3D=3D>  Applying extra patch /usr/ports/sysutils/screen/files/opt-cjk=
>> width
>> =3D=3D=3D>  Applying FreeBSD patches for screen-4.0.3_1
>> =3D=3D=3D>  Configuring for screen-4.0.3_1
>> configure: WARNING: you should use --build, --host, --target
>> this is screen version 4.0.3
>> checking for i386-portbld-freebsd6.2-gcc... cc
>> checking for C compiler default output... a.out
>> checking whether the C compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether cc accepts -g... yes
>> checking for cc option to accept ANSI C... none needed
>> checking how to run the C preprocessor... cc -E
>> checking for egrep... grep -E
>> checking whether cc needs -traditional... no
>> checking for library containing strerror... none required
>> checking for gawk... gawk
>> checking for a BSD-compatible install... /usr/bin/install -c -o root -g
>> wheel
>> configure: checking for buggy tools...
>> checking if a system-wide socket dir should be used... yes
>> checking for the socket dir... (eff_uid ? "/tmp/uscreens" : "/tmp/screens=
>> ")
>> configure: checking for MIPS...
>> configure: checking for Ultrix...
>> configure: checking for butterfly...
>> configure: checking for POSIX.1...
>> - you have a POSIX system
>> configure: checking for System V...
>> configure: checking for sequent/ptx...
>> configure: checking SVR4...
>> checking for ANSI C header files... no
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> configure: checking for Solaris 2.x...
>> configure: checking BSD job jontrol...
>> - you have jobcontrol
>> configure: checking setreuid...
>> configure: checking seteuid...
>> configure: checking select...
>> configure: checking fifos...
>> - your fifos are usable
>> configure: checking for broken fifo implementation...
>> - your implementation is ok
>> configure: checking sockets...
>> - your sockets are usable
>> configure: checking socket implementation...
>> - you are normal
>> - both sockets and fifos usable. let's take fifos.
>> configure: checking select return value...
>> - select is ok
>> configure: checking for tgetent...
>> configure: checking libtermcap...
>> - you use the termcap database
>> configure: checking ospeed...
>> configure: checking for /dev/ptc...
>> configure: checking for SVR4 ptys...
>> checking for getpt... no
>> checking for openpty... no
>> checking for openpty in -lutil... yes
>> configure: checking for ptyranges...
>> configure: checking default tty permissions/group...
>> - ptys are world accessable
>> configure: checking getutent...
>> configure: checking getutent with -lgen...
>> configure: checking ut_host...
>> checking utempter.h usability... no
>> checking utempter.h presence... no
>> checking for utempter.h... no
>> configure: checking for libutil(s)...
>> configure: checking getloadavg...
>> assuming posix signal definition
>> configure: checking for crypt and sec libraries...
>> configure: checking crypt...
>> configure: checking IRIX sun library...
>> configure: checking syslog...
>> configure: checking wait union...
>> configure: checking for termio or termios...
>> configure: checking getspnam...
>> configure: checking getttyent...
>> configure: checking fdwalk...
>> configure: checking whether memcpy/memmove/bcopy handles overlapping
>> arguments...
>> checking long file names... yes
>> checking for vsprintf... yes
>> checking for dirent.h that defines DIR... yes
>> checking for library containing opendir... none required
>> checking for setenv... yes
>> checking for nl_langinfo(CODESET)... yes
>> checking for library containing gethostname... none required
>> checking for rename... yes
>> checking for fchmod... yes
>> checking for fchown... yes
>> checking for strerror... yes
>> checking for lstat... yes
>> checking for _exit... yes
>> checking for utimes... yes
>> checking for vsnprintf... yes
>> checking for getcwd... yes
>> checking for setlocale... yes
>> checking for strftime... yes
>> checking for the global screenrc file... "/usr/local/etc/screenrc"
>> checking for the utf8-encodings location...
>> "/usr/local/share/screen/utf8encodings"
>> configure: creating ./config.status
>> config.status: creating Makefile
>> config.status: creating doc/Makefile
>> config.status: creating config.h
>> config.status: executing default commands
>>
>> Now please check the pathnames in the Makefile and in the user
>> configuration section in config.h.
>> Then type 'make' to make screen. Good luck.
>>
>> =3D=3D=3D>  Building for screen-4.0.3_1
>> CPP=3D"cc -E " srcdir=3D. sh ./osdef.sh
>> AWK=3Dgawk CC=3D"cc -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256" srcd=
>> ir=3D.
>> sh ./comm.sh
>> AWK=3Dgawk srcdir=3D. sh ./term.sh
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 screen.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 ansi.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 fileio.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 mark.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 misc.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 resize.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 socket.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 search.c=
>>
>> sh ./tty.sh tty.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 tty.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 term.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 window.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 utmp.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 loadav.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 putenv.c=
>>
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 help.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 termcap.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 input.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 attacher=
>> =2Ec
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 pty.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 process.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 display.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 comm.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 kmapdef.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 acls.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 braille.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 braille_=
>> tsi.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 logfile.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 layer.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 sched.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 teln.c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 nethack.=
>> c
>> cc -c -I. -I.    -O2 -pipe -ggdb -march=3Dpentiumpro -DCOLORS256 encoding=
>> =2Ec
>> cc  -o screen screen.o ansi.o fileio.o mark.o misc.o resize.o socket.o
>> search.o tty.o term.o window.o utmp.o loadav.o putenv.o help.o
>> termcap.o input.o attacher.o pty.o process.o display.o comm.o  kmapdef.o
>> acls.o braille.o braille_tsi.o logfile.o layer.o  sched.o teln.o
>> nethack.o encoding.o -ltermcap  -lutil -lutil -lcrypt
>> =3D=3D=3D>  Installing for screen-4.0.3_1
>> =3D=3D=3D>   Generating temporary packing list
>> =3D=3D=3D>  Checking if sysutils/screen already installed
>> =2E/etc/mkinstalldirs /usr/local/bin `sed < config.h -n -e '/define
>> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
>> cd doc ; make  installdirs
>> install  -s -o root -g wheel -m 555 screen /usr/local/bin/screen
>> chown root:wheel /usr/local/bin/screen && chmod 4755 /usr/local/bin/scree=
>> n
>> cp ./utf8encodings/?? `sed < config.h -n -e '/define
>> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
>> cd doc ; make  install
>> if [ -d /usr/lib/terminfo ]; then  PATH=3D"$PATH:/usr/5bin" tic
>> =2E/terminfo/screeninfo.src;  chmod 644 /usr/lib/terminfo/s/screen*;  fi
>> termcap entry (./terminfo/screencap) should be installed manually.
>> You may also want to install ./etc/etcscreenrc in /usr/local/etc/screenrc=
>>
>> install-info --quiet /usr/local/info/screen.info /usr/local/info/dir
>> install-info: No such file or directory for /usr/local/info/screen.info
>> *** Error code 1
>>
>> Stop in /usr/ports/sysutils/screen.
>> *** Error code 1
>>
>> Stop in /usr/ports/sysutils/screen.
>> Exit 1
> 
> It's no rocket science to see that there's a problem here. The question is why do I not see the same problem on my systems? Searching the working directory for for WITH_MAN and WITH_INFO results in nothing matched:
> 
> cwsys# find /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3 -type f | xargs egrep 'WITH_MAN|WITH_INFO'
> cwsys# 
> 
> NO_INFO and NO_MAN does match:
> 
> cwsys# find /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3 -type f | xargs egrep 'NO_MAN|NO_INFO'
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_MAN)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_INFO)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_MAN)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile.in:.if !defined(NO_INFO)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_MAN)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_INFO)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_MAN)
> /export/wrkdir/usr/ports/sysutils/screen/work/screen-4.0.3/doc/Makefile:.if !defined(NO_INFO)
> cwsys# 
> 
> The question that needs to be answered is why does your site require WITH_MAN and WITH_INFO to be defined in MAKE_ARGS to work? I will test the install out on my testbed in a pristine environment. What version of FreeBSD are you using? I'm able to boot anything from 5.5 to the latest 8.0-CURRENT on it. Unless you tell me otherwise I will assume you are using 6.2-STABLE.
> 
> 


See my last e-mail. It was my fault, I had NO_INFO in make.conf.
However, in this situation, the port doesn't handle that directive
properly. Instead of not installing the INFO page, it aborts the
installation.

I have to leave for the week-end now. I'll keep investigating next week,
unless I get some fix from you!

In the meanwhile, have a nice week-end. Bye.

-- 
Pietro Cerutti

PGP Public Key:
http://gahr.ch/pgp
Comment 15 Cy Schubert 2007-10-26 18:21:14 UTC
------- Blind-Carbon-Copy

X-Mailer: exmh version 2.7.2 01/07/2005 with nmh-1.2
Reply-to: Cy Schubert <Cy.Schubert@komquats.com>
From: Cy Schubert <Cy.Schubert@komquats.com>
X-os: FreeBSD
X-Sender: cy@cwsent.com
X-URL: http://www.komquats.com/
To: Pietro Cerutti <gahr@gahr.ch>
cc: Cy Schubert <Cy.Schubert@komquats.com>
cc: freebsd-ports@freebsd.org
Subject: Re: ports/117488: [patch] sysutils/screen enable installation of 
 man page
In-Reply-To: Message from Pietro Cerutti <gahr@gahr.ch> 
   of "Fri, 26 Oct 2007 19:05:59 +0200." <47221E77.6030305@gahr.ch> 
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Fri, 26 Oct 2007 10:21:14 -0700
Sender: cy@cwsys

In message <47221E77.6030305@gahr.ch>, Pietro Cerutti writes: 
> See my last e-mail. It was my fault, I had NO_INFO in make.conf.
> However, in this situation, the port doesn't handle that directive
> properly. Instead of not installing the INFO page, it aborts the
> installation.

I consider this specific issue resolved.

As far as ports detecting if options have been set in make.conf, that is a 
larger issue than with just one port. The ports infrastructure relies on 
settings in make.conf that do not negatively interfere with the 
infrastructure or ports build process. Options address this issue though if 
a person wishes to set a variable in make.conf for an application outside 
of the ports infrastructure which could have a negative impact on a build, 
it is possible for ports to unset any possible make or environment variable 
that would be used during a build to avoid this situation.

I'm CCing this to FreeBSD-ports@ to generate some discussion about the 
issue in general and BCC to GNATS to maintain a record of this in the 
database.


- -- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0



------- End of Blind-Carbon-Copy
Comment 16 Cy Schubert 2007-10-26 21:10:34 UTC
In message <4721A085.7010101@gahr.ch>, Pietro Cerutti writes:
> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
> --------------enig045BC6F740992BBB42E9963D
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: quoted-printable
> 
> cy@FreeBSD.org wrote:
> > Synopsis: [patch] sysutils/screen enable installation of man page
> >=20
> > State-Changed-From-To: analyzed->closed
> > State-Changed-By: cy
> > State-Changed-When: Thu Oct 25 18:00:54 UTC 2007
> > State-Changed-Why:=20
> > Repaired the Makefile to install man pages (as per this PR) and info
> > documents.
> >=20
> > http://www.freebsd.org/cgi/query-pr.cgi?pr=3D117488
> 
> Have you tested it?
> The INFO part doesn't work.
> 
> Your solution seems to be logical: enable the .if defined(WITH_INFO)
> part by including <bsd.port.pre.mk> before the directive.
> It was also my first thought. However I cannot get the INFO part to work.=
> 
> 
> I suggest that you check the output below, and revert to my original
> patch, which solves the MAN part at least, until we get to a solution
> for the INFO part.
> 
> Thank you,
> 
> 
> =3D=3D=3D>  Installing for screen-4.0.3_1
> =3D=3D=3D>   Generating temporary packing list
> =3D=3D=3D>  Checking if sysutils/screen already installed
> =2E/etc/mkinstalldirs /usr/local/bin `sed < config.h -n -e '/define
> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
> cd doc ; make  installdirs
> =2E/../etc/mkinstalldirs /usr/local/man/man1
> install  -s -o root -g wheel -m 555 screen /usr/local/bin/screen
chown root:wheel /usr/local/bin/screen && chmod 4755 /usr/local/bin/scree=
> n
> cp ./utf8encodings/?? `sed < config.h -n -e '/define
> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
> cd doc ; make  install
> =2E/../etc/mkinstalldirs /usr/local/man/man1
> install  -o root -g wheel -m 444 ./screen.1 /usr/local/man/man1/screen.1
> if [ -d /usr/lib/terminfo ]; then  PATH=3D"$PATH:/usr/5bin" tic
> =2E/terminfo/screeninfo.src;  chmod 644 /usr/lib/terminfo/s/screen*;  fi
> termcap entry (./terminfo/screencap) should be installed manually.
> You may also want to install ./etc/etcscreenrc in /usr/local/etc/screenrc=
> 
> install  -o root -g wheel -m 444
> /usr/ports/sysutils/screen/work/screen-4.0.3/doc/screen.1
> /usr/local/man/man1
> install-info --quiet /usr/local/info/screen.info /usr/local/info/dir
> install-info: No such file or directory for /usr/local/info/screen.info
> *** Error code 1
> 
> Stop in /usr/ports/sysutils/screen.
> *** Error code 1
> 
> Stop in /usr/ports/sysutils/screen.
> Exit 1

I'm confused. Your reply time stamped 10:04:10 PDT says this was resolved due to an extraneous NO_INFO= in your make.conf.


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0
Comment 17 Pietro Cerutti 2007-10-27 18:44:13 UTC
Cy Schubert wrote:
> In message <4721A085.7010101@gahr.ch>, Pietro Cerutti writes:
>> This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
>> --------------enig045BC6F740992BBB42E9963D
>> Content-Type: text/plain; charset=UTF-8
>> Content-Transfer-Encoding: quoted-printable
>>
>> cy@FreeBSD.org wrote:
>>> Synopsis: [patch] sysutils/screen enable installation of man page
>>> =20
>>> State-Changed-From-To: analyzed->closed
>>> State-Changed-By: cy
>>> State-Changed-When: Thu Oct 25 18:00:54 UTC 2007
>>> State-Changed-Why:=20
>>> Repaired the Makefile to install man pages (as per this PR) and info
>>> documents.
>>> =20
>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D117488
>> Have you tested it?
>> The INFO part doesn't work.
>>
>> Your solution seems to be logical: enable the .if defined(WITH_INFO)
>> part by including <bsd.port.pre.mk> before the directive.
>> It was also my first thought. However I cannot get the INFO part to work.=
>>
>>
>> I suggest that you check the output below, and revert to my original
>> patch, which solves the MAN part at least, until we get to a solution
>> for the INFO part.
>>
>> Thank you,
>>
>>
>> =3D=3D=3D>  Installing for screen-4.0.3_1
>> =3D=3D=3D>   Generating temporary packing list
>> =3D=3D=3D>  Checking if sysutils/screen already installed
>> =2E/etc/mkinstalldirs /usr/local/bin `sed < config.h -n -e '/define
>> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
>> cd doc ; make  installdirs
>> =2E/../etc/mkinstalldirs /usr/local/man/man1
>> install  -s -o root -g wheel -m 555 screen /usr/local/bin/screen
> chown root:wheel /usr/local/bin/screen && chmod 4755 /usr/local/bin/scree=
>> n
>> cp ./utf8encodings/?? `sed < config.h -n -e '/define
>> SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`
>> cd doc ; make  install
>> =2E/../etc/mkinstalldirs /usr/local/man/man1
>> install  -o root -g wheel -m 444 ./screen.1 /usr/local/man/man1/screen.1
>> if [ -d /usr/lib/terminfo ]; then  PATH=3D"$PATH:/usr/5bin" tic
>> =2E/terminfo/screeninfo.src;  chmod 644 /usr/lib/terminfo/s/screen*;  fi
>> termcap entry (./terminfo/screencap) should be installed manually.
>> You may also want to install ./etc/etcscreenrc in /usr/local/etc/screenrc=
>>
>> install  -o root -g wheel -m 444
>> /usr/ports/sysutils/screen/work/screen-4.0.3/doc/screen.1
>> /usr/local/man/man1
>> install-info --quiet /usr/local/info/screen.info /usr/local/info/dir
>> install-info: No such file or directory for /usr/local/info/screen.info
>> *** Error code 1
>>
>> Stop in /usr/ports/sysutils/screen.
>> *** Error code 1
>>
>> Stop in /usr/ports/sysutils/screen.
>> Exit 1
> 
> I'm confused. Your reply time stamped 10:04:10 PDT says this was resolved due to an extraneous NO_INFO= in your make.conf.

You are right. I haven't been clear enough lately.
This specific issue is to be considered solved with Makefile version 1.69.

However, there is another issue which - as you said - doesn't really 
belong here. This other issue is about the screen port, and perhaps 
other as well (I haven't tested, maybe the whole ports infrastructure 
suffers from it), doesn't handle make.conf options properly.

In this specific case, if I have a NO_INFO= line in make.conf and try to 
build screen with the INFO option enabled, the build fails.
Instead, a general policy should be chosen, either a) the port doesn't 
install the INFO file because make.conf says so or b) the port installs 
the INFO file because the user says so.

I don't see c) "the port fails to build because make.conf and options 
don't agree" as an option.

Anyway, I would close this thread here to avoid spamming on GNATS.

If you're interested in discussing this issue further, I suggest that we 
open a thread somewhere else (freebsd-ports@). I'll be available by Monday.

Best Regards,