[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / sysutils / webmin

File: [cvs.NetBSD.org] / pkgsrc / sysutils / webmin / Makefile (download)

Revision 1.50, Mon Apr 27 15:16:45 2020 UTC (3 years, 7 months ago) by mef
Branch: MAIN
Changes since 1.49: +5 -3 lines

(sysutils/webadmin, sysutils/wbm-*) Updated 1.831 to 1.941

(pkgsrc)
 - sysutils/wbm-acl Added
 - sysutils/wbm-proc Added
 - sysutils/wbm-file deleted
 - sysutils/wbm-cyrus-imapd converted 2.1 to 2.4

(upstream)
Version 1.941 (15th January 2019)
     o Put back an updated version of the built-in Let's Encrypt client.

Version 1.940 (28th December 2019)
     o Removed Webmin's built-in Let's Encrypt client, in favor of
        recommending the official certbot command.
     o Added support for creating "safe-mode" Webmin users who have access
        only to modules and permissions that don't grant root access.
     o Added support for CAA records in the BIND module.
     o Postfix maps with more than 100 entries by default are now shown with a
        search box.
     o Updated the Authentic Theme to the latest version, which includes
        numerous improvements to the file manager and overall UI.

Version 1.930 (17th August 2019)
     o Fixed a security hole that allows remote exploits if the option to
        change expired passwords is enabled. All users should upgrade
        immediately to pick up this fix!
     o Updated the Authentic Theme to the latest version.

Version 1.920 (6th July 2019)
     o Updated the Authentic Theme to the latest version.
     o Added an option to disable (comment out) hosts file entries.
     o Added a monitor type to check if a bootup action is running or not.
     o Translation updates for multiple languages.

Version 1.910 (9th May 2019)
     o Updated the Authentic Theme to the latest version.
     o More translation updates for multiple languages.
     o The next run time of each cron job can be displayed by enabling a new
        config option.
     o Added a tab for managing APT and YUM repos to the Software Packages
        module.
     o Added support for file ownership and permission checks to the File or
        Directory monitor.

Version 1.900 (19th November 2018)
     o Updated the Authentic Theme to the latest version.
     o Translation updates for multiple languages.
     o When installing a package, the list of other dependencies that will be
        also installed is displayed for confirmation.
     o Wildcard SSL certs can now be requested via Let's Encrypt in DNS mode,
        if the native client is installed.
     o Announcements to all Webmin users can now be displayed on the System
        Information page.

Version 1.890 (19th July 2018)
     o Added support to the Network Configuration module for the Netplan
        interface format used on Ubuntu 18 and above.
     o Bulgarian, German and Catalan language translation updates.
     o Theme updates to the file manager, high-contrast mode, Japanese,
        German, Swedish and Albanian language updates, better date display and
        more.
     o Improved support for freezing and thawing dynamic zones and IPv6 zone
        transfers in the BIND module.
     o Scheduled funtions are now recorded in the Webmin Actions Log module.
     o Improved detection of new Postfix versions.
     o Email autoresponder option to prevent replies to forwarded email.
     o OpenSuSE Leap, Debian 9 and Ubuntu 18 support.

Version 1.881 (16th March 2018)
     o Bugfixes for the Cron module.
     o Further updates to the Authentic theme.

Version 1.880 (4th March 2018)
     o German, Catalan and Bulgarian translation updates.
     o The newest version of the Authentic theme.
     o Added a page for manually editing the MySQL config files, and
        implemented support for config includes.
     o Added a page for manually editing the allowed hosts config file.
     o Added a config option to set a minimum interval between notifications
        for each monitor in the System and Server Status module.
     o Bugfixes for DNS validation for Let's Encrypt certificates.

Version 1.870 (8th December 2017)
     o Major updates to the Authentic theme to speed up page loads and add
        real-time system statistics.
     o Greek, Bulgarian, Catalan and Russian translation updates and encoding
        fixes.
     o Severel fixes for Let's Encrypt SSL certificate requests.
     o UI cleanups in the Majordomo module.
     o UI unification in the IPv4 and IPv6 firewall modules.
     o Numerous fixes for minor Perl error and warnings.

Version 1.860 (10th October 2017)
     o Fixed an XSS vulnerability in the MySQL module (thanks to Munzir Taha).
     o Fixed a security issue that could be exploited by using the Upload and
        Download module to fetch an untrusted URL (thanks to Maor Shwartz)
     o Updated to the latest version of the Authentic theme.
     o More Majordomo module improvements, thanks to gnadelwartz.
     o Fixed upstart vs systemd detection.
     o German translation updates from Raymond Vetter, Albanian from Adalen
        Vladi, and Catalan from Jaume Badiella.
     o Let's Encrypt fixes when using DNS-based validation in a sub-domain.

Version 1.850 (28th June 2017)
     o Fixed multi-hostname DNS registration and the display of error messages
        in Let's Encrypt support.
     o Numerous Majordomo module improvements, thanks to gnadelwartz.
     o Added support for creating and editing port forwards in the FirewallD
        module.
     o Filesystems that have less than 1% free disk space are now shown on the
        System Information page.
     o Numerous bugfixes across multiple modules.

Version 1.840 (8th May 2017)
     o Fixes for XSS security vulnerabilities
     o Many updates to the Authentic theme.
     o SSHFP record support in the BIND module.
     o Thin provisioned LV support in the LVM module.
     o SNI (per-domain-name) SSL certificate support in Webmin itself.
     o DNS validation mode for Let's Encrypt certificates.
     o Manual editor for Cron jobs.
     o More German, Norwegian and Catalan translation updates.

# $NetBSD: Makefile,v 1.50 2020/04/27 15:16:45 mef Exp $

.include "version.mk"

DISTNAME=	webmin-${WBM_VERSION}
CATEGORIES=	sysutils www
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=webadmin/}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://www.webmin.com/
COMMENT=	Perl web server and CGI for Unix system administration
LICENSE=	modified-bsd

DEPENDS+=	p5-Net-SSLeay-[0-9]*:../../security/p5-Net-SSLeay

WRKSRC=		${WRKDIR}/${PKGNAME_NOREV}
USE_LANGUAGES=	# empty
NO_BUILD=	yes

USE_TOOLS+=	perl:run

WEBMIN_DIR=		${PREFIX}/share/webmin
WEBMIN_EGDIR=		${PREFIX}/share/examples/webmin
WEBMIN_ETCDIR=		${PKG_SYSCONFDIR}
WEBMIN_VARDIR=		${VARBASE}/webmin
FILES_SUBST+=		WEBMIN_DIR=${WEBMIN_DIR:Q}
FILES_SUBST+=		WEBMIN_EGDIR=${WEBMIN_EGDIR:Q}
FILES_SUBST+=		WEBMIN_ETCDIR=${WEBMIN_ETCDIR:Q}
FILES_SUBST+=		WEBMIN_MINIMAL_MODULES=${WEBMIN_MINIMAL_MODULES:Q}
FILES_SUBST+=		WEBMIN_VARDIR=${WEBMIN_VARDIR:Q}
MESSAGE_SUBST+=		WEBMIN_DIR=${WEBMIN_DIR:Q}
BUILD_DEFS+=		VARBASE

WEBMIN_MINIMAL_MODULES=	acl cron init inittab man proc servers webmin webminlog

PKG_SYSCONFSUBDIR=	webmin
OWN_DIRS_PERMS+=	${WEBMIN_VARDIR} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
.for f in		config install-dir perl-path var-path version
CONF_FILES+=		${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
.endfor
.for m in		${WEBMIN_MINIMAL_MODULES}
OWN_DIRS_PERMS+=	${PKG_SYSCONFDIR}/${m}				\
			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${m}/config			\
			${PKG_SYSCONFDIR}/${m}/config			\
			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0600
.endfor
.for f in		miniserv.pem
CONF_FILES_PERMS+=	${WEBMIN_DIR}/${f} ${PKG_SYSCONFDIR}/${f}	\
			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0600
.endfor
.for f in		miniserv.conf miniserv.users webmin.acl
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}	\
			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0600
.endfor
.for f in		reload restart start stop
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}	\
			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0755
.endfor
RCD_SCRIPTS=		webmin

REPLACE_SH=	update-from-repo.sh
REPLACE_PYTHON= webmin/acme_tiny.py

CHECK_INTERPRETER_SKIP+=	share/webmin/webmin-gentoo-init

ALL_ENV+=	tempdir=${WRKDIR}/.tmp

.include "../../security/openssl/buildlink3.mk"

post-extract:
	${CP} ${FILESDIR}/acl_config-dragonfly ${WRKSRC}/acl/config-dragonfly
	${CP} ${FILESDIR}/init_config-dragonfly ${WRKSRC}/init/config-dragonfly
	${CP} ${FILESDIR}/man_config-dragonfly ${WRKSRC}/man/config-dragonfly
	${CP} ${FILESDIR}/proc_config-dragonfly ${WRKSRC}/proc/config-dragonfly
	${RM} -r ${WRKSRC}/acl/Authen-SolarisRBAC-0.1*

pre-configure:
	cd ${WRKSRC} &&							\
	for m in */module.info; do 					\
		moduledir=$${m%/module.info};				\
		case $${moduledir} in					\
		${WEBMIN_MINIMAL_MODULES:ts|}) ;;			\
		*)	rm -rf $${moduledir} ;;				\
		esac;							\
	done &&								\
	for t in */theme.info; do					\
		rm -rf $${t%/theme.info};				\
	done &&								\
	touch ${WRKSRC}/minimal-install

do-configure:
	sed	-e "s,@WEBMIN_EGDIR@,${DESTDIR}${WEBMIN_EGDIR},g"	\
		-e "s,@WEBMIN_VARDIR@,${DESTDIR}${WEBMIN_VARDIR},g"	\
		-e "s,@PERL5@,"${PERL5:Q}",g"				\
		${FILESDIR}/setup-pre.sh > ${WRKSRC}/setup-pre.sh
	cd ${WRKSRC}; for file in acl/config acl/config-*; do		\
		sed -e "s,^ssleay=.*,ssleay=${SSLBASE}/bin/openssl,"	\
			"$$file" > "$$file.new";			\
		${MV} -f "$$file.new" "$$file";				\
	done
	${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f

# Fix up the path to the config directory in the installed example config
# files.
#
do-install:
	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
		${SH} ${WRKSRC}/setup.sh ${DESTDIR}${WEBMIN_DIR}
	sed	-e "/^env_WEBMIN_CONFIG=/s,${DESTDIR}${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
		-e "/^logout=/s,${DESTDIR}${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		-e "/^userfile=/s,${DESTDIR}${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		-e "/^keyfile=/s,${DESTDIR}${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		-e "s,${DESTDIR},,g"	\
		${DESTDIR}${WEBMIN_EGDIR}/miniserv.conf > ${WRKDIR}/miniserv.conf
	sed	-e "s,${DESTDIR},,g"	\
		${DESTDIR}${WEBMIN_DIR}/setup-pre.sh > ${WRKDIR}/setup-pre.sh
	for file in install-dir reload restart start stop var-path; do	\
		sed	-e "s,${DESTDIR}${WEBMIN_EGDIR}/miniserv.conf,${WEBMIN_ETCDIR}/miniserv.conf," \
			-e "s,${DESTDIR},,g"	\
			${DESTDIR}${WEBMIN_EGDIR}/$$file > ${WRKDIR}/$$file; \
	done
	cd ${DESTDIR}${WEBMIN_EGDIR} && ${RM} -f miniserv.conf install-dir reload restart start stop var-path
	for file in miniserv.conf; do					\
		${INSTALL_DATA} ${WRKDIR}/$$file			\
				    ${DESTDIR}${WEBMIN_EGDIR}/$$file;	\
		${RM} -f ${WRKDIR}/$$file;				\
	done
	for file in setup-pre.sh; do					\
		${INSTALL_SCRIPT} ${WRKDIR}/$$file			\
				    ${DESTDIR}${WEBMIN_DIR}/$$file;	\
		${RM} -f ${WRKDIR}/$$file;				\
	done
	for file in install-dir reload restart start stop var-path; do	\
		${INSTALL_SCRIPT} ${WRKDIR}/$$file		    	\
				    ${DESTDIR}${WEBMIN_EGDIR}/$$file;	\
		${RM} -f ${WRKDIR}/$$file;				\
	done
	${RM} -f ${DESTDIR}${WEBMIN_EGDIR}/miniserv.pem			\
			    ${DESTDIR}${WEBMIN_EGDIR}/module.infos.cache
	cd ${DESTDIR}${WEBMIN_DIR} &&					\
				${CHMOD} 0400 setup.pl setup.sh setup-pre.sh

	cd ${DESTDIR}${WEBMIN_DIR} &&  \
	${CHMOD} -x *.pl */*.pl */*.gif */*/*.gif */*/*.html */*.ca lang/* \
	*/lang/* */*.svg */*.png */*.eu

.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"