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>