Handling user input and package building
Paul Schmehl
pauls at utdallas.edu
Tue May 20 20:15:42 UTC 2008
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 at utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdallas.edu/ir/security/
More information about the freebsd-ports
mailing list