Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 May 2008 15:15:41 -0500
From:      Paul Schmehl <pauls@utdallas.edu>
To:        FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Handling user input and package building
Message-ID:  <73817B56605C84F44E002CB2@utd65257.utdallas.edu>

next in thread | raw e-mail | index | archive | help
I'm trying to figure out how to handle user input in package building mode.

I've got statements like this in my Makefile, and they work fine to suppress 
user input from the pkg-install script:

pre-install:
.if !defined(PACKAGE_BUILDING)
        @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
                ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
.endif

However, the same syntax doesn't seem to work for the pkg-deinstall script, 
which also requires user input.

.if defined(PACKAGE_BUILDING)
deinstall:
        @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
                ${SH} ${PKGDEINSTALL} ${PORTNAME} DEINSTALL
post-deinstall:
        @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
                ${SH} ${PKGDEINSTALL} ${PORTNAME} POST-DEINSTALL
.endif

One other question.  The Porters Handbook says:
"If your port requires user input to build, configure, or install, you must set 
IS_INTERACTIVE in your Makefile. "

Yet portlint says:
"WARN: Makefile: [25]: use of IS_INTERACTIVE discouraged. provide batch mode by 
using BATCH and/or FOR_CDROM."

What's the correct way to do this?

-- 
Paul Schmehl (pauls@utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdallas.edu/ir/security/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?73817B56605C84F44E002CB2>