pkgsrc/databases/gnats/Makefile
jlam 4390d56940 Make it easier to build and install packages "unprivileged", where
the owner of all installed files is a non-root user.  This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.

(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
    unprivileged.mk.  These two variables are lists of other bmake
    variables that define package-specific users and groups.  Packages
    that have user-settable variables for users and groups, e.g. apache
    and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
    etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
    so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
    and ${UNPRIVILEGED_GROUP}.

(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
2007-07-04 20:54:31 +00:00

75 lines
2.4 KiB
Makefile

# $NetBSD: Makefile,v 1.30 2007/07/04 20:54:34 jlam Exp $
DISTNAME= gnats-4.1.0
PKGREVISION= 2
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_GNU:=gnats/}
MAINTAINER= recht@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/gnats/
COMMENT= GNATS bug tracking system
USE_PKGLOCALEDIR= yes
USE_TOOLS+= gm4 gmake makeinfo bison
TEXINFO_REQD+= 4.6
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+= --with-gnats-service=service-name=${GNATS_SERVICE}
CONFIGURE_ARGS+= --with-gnats-user=${GNATS_USER:Q}
CONFIGURE_ARGS+= --with-gnatsd-user-access-file=${GNATS_USER_FILE:Q}
CONFIGURE_ARGS+= --with-gnatsd-host-access-file=${GNATS_HOST_FILE:Q}
CONFIGURE_ARGS+= --with-gnats-dblist-file=${GNATS_DB_FILE:Q}
CONFIGURE_ARGS+= --with-gnats-default-db=${GNATS_DBHOME:Q}
CONFIGURE_ARGS+= --with-lispdir=${PREFIX}/share/gnats
INFO_FILES= yes
PKG_SYSCONFSUBDIR= gnats
.include "../../mk/bsd.prefs.mk"
GNATS_USER?= gnats
GNATS_GROUP?= daemon
GNATS_SERVICE?= support
GNATS_HOME?= ${VARBASE}/db/gnats
PKG_GROUPS= ${GNATS_GROUP}
PKG_USERS= ${GNATS_USER}:${GNATS_GROUP}
PKG_GROUPS_VARS+= GNATS_GROUP
PKG_USERS_VARS+= GNATS_USER
PKG_GECOS.${GNATS_USER}= GNATS database owner
PKG_HOME.${GNATS_USER}= ${GNATS_HOME}
PKG_SHELL.${GNATS_USER}= ${SH}
GNATS_USER_FILE?= ${PKG_SYSCONFDIR}/gnatsd.user_access
GNATS_HOST_FILE?= ${PKG_SYSCONFDIR}/gnatsd.host_access
GNATS_DB_FILE?= ${PKG_SYSCONFDIR}/databases
GNATS_DBHOME?= ${GNATS_HOME}/gnatsdb
REQD_DIRS+= ${PREFIX}/share/gnats
REQD_DIRS+= ${PREFIX}/libexec/gnats
REQD_DIRS+= ${EGDIR}
OWN_DIRS_PERMS+= ${GNATS_HOME} gnats daemon 755
EGDIR= ${PREFIX}/share/examples/gnats
CONF_FILES_PERMS+= ${EGDIR}/gnatsd.user_access ${GNATS_USER_FILE} \
${GNATS_USER} ${GNATS_GROUP} 0600
CONF_FILES_PERMS+= ${EGDIR}/gnatsd.host_access ${GNATS_HOST_FILE} \
${GNATS_USER} ${GNATS_GROUP} 0600
CONF_FILES_PERMS+= ${EGDIR}/databases ${GNATS_DB_FILE} \
${GNATS_USER} ${GNATS_GROUP} 0600
CONF_FILES+= ${EGDIR}/send-pr.conf ${PKG_SYSCONFDIR}/send-pr.conf
MESSAGE_SUBST+= PREFIX=${PREFIX:Q}
MESSAGE_SUBST+= GNATS_USER=${GNATS_USER:Q}
MESSAGE_SUBST+= GNATS_SERVICE=${GNATS_SERVICE:Q}
SUBST_CLASSES+= gnats
SUBST_STAGE.gnats= pre-configure
SUBST_FILES.gnats= gnats/Makefile.in gnats/mkdb.sh send-pr/Makefile.in
SUBST_SED.gnats= -e "s,%%EGDIR%%,${EGDIR},g"
SUBST_SED.gnats+= -e "s,%%GNATS_DEFAULTS%%,${PREFIX}/share/gnats/defaults,g"
.include "../../mk/bsd.pkg.mk"