Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 May 2008 15:16:57 +0200
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Paul Schmehl <pauls@utdallas.edu>
Cc:        FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: Handling user input and package building
Message-ID:  <48381549.8000104@FreeBSD.org>
In-Reply-To: <73817B56605C84F44E002CB2@utd65257.utdallas.edu>
References:  <73817B56605C84F44E002CB2@utd65257.utdallas.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Paul Schmehl wrote:
> 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?
> 

Avoid the requirement of interactive input at all costs.

Kris



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