Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 May 2014 12:24:56 GMT
From:      Alexander Moisseev <moiseev@mezonplus.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/189799: [maintainer update] sysutils/backuppc: stage, etc.
Message-ID:  <201405141224.s4ECOumi044559@cgiserv.freebsd.org>
Resent-Message-ID: <201405141230.s4ECU0Ii046534@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         189799
>Category:       ports
>Synopsis:       [maintainer update] sysutils/backuppc: stage, etc.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 14 12:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Moisseev
>Release:        
>Organization:
>Environment:
>Description:
- Stage
- Add CONFLICTS (prepare to new port sysutils/backuppc-devel)
- Add license
- BackupPC.pod: add =encoding declaration (fix build with perl5.18)

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ruN backuppc.orig/Makefile backuppc/Makefile
--- backuppc.orig/Makefile	2013-09-21 03:05:58.000000000 +0400
+++ backuppc/Makefile	2014-05-14 10:48:47.000000000 +0400
@@ -3,6 +3,7 @@
 
 PORTNAME=	backuppc
 PORTVERSION=	3.3.0
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	SF
 MASTER_SITE_SUBDIR=	${PORTNAME}/${PORTNAME}/${PORTVERSION}
@@ -11,6 +12,11 @@
 MAINTAINER=	moiseev@mezonplus.ru
 COMMENT=	System for backing PCs and laptops to a server
 
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+CONFLICTS=	backuppc-devel-[0-9]*
+
 RUN_DEPENDS=	p5-File-Listing>=0:${PORTSDIR}/sysutils/p5-File-Listing
 
 USE_RC_SUBR=	backuppc
@@ -24,11 +30,14 @@
 BPC_CGIDIR?=	${PREFIX}/www/cgi-bin
 BPC_DATADIR?=	/var/db/BackupPC
 
-PLIST_SUB=	BPC_CGIDIR=${BPC_CGIDIR:S,^${PREFIX}/,,} BPC_DATADIR=${BPC_DATADIR}
+SUB_FILES=	pkg-deinstall pkg-message
+SUB_LIST=	BPC_DATADIR=${BPC_DATADIR}
 
-PORTDOCS=	ChangeLog LICENSE README BackupPC.html BackupPC.pod
+PLIST_SUB+=	BPC_CGIDIR=${BPC_CGIDIR:S,^${PREFIX}/,,} \
+		BPC_DATADIR=${BPC_DATADIR} \
+		DISTVERSION=${DISTVERSION}
 
-MAN1=		${PORTNAME}.1
+PORTDOCS=	ChangeLog LICENSE README
 
 OPTIONS_DEFINE=		ARCHIVE_ZIP COMPRESS_ZLIB DOCS FILE_RSYNCP NMBLOOKUP \
 			RRDTOOL SMBCLIENT XML_RSS
@@ -42,7 +51,6 @@
 SMBCLIENT_DESC=		Samba client
 XML_RSS_DESC=		Perl extension to manage RSS files
 
-NO_STAGE=	yes
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MARCHIVE_ZIP}
@@ -71,75 +79,69 @@
 
 post-patch:
 	@${REINPLACE_CMD} \
-		-e 's,/etc/BackupPC/config.pl,${ETCDIR}/config.pl,' \
-		-e 's|Conf{ConfDir}/hosts", 0644)|Conf{ConfDir}/hosts.sample", 0644)|' \
+		-e 's|/etc/BackupPC\(/config.pl\)|${ETCDIR}\1|' \
+		-e 's|^\(foreach my $$dir ( qw(bin \)doc$$|\1${DOCSDIR_REL}|' \
+		-e 's|\($$DestDir$$Conf{InstallDir}/\)doc|\1${DOCSDIR_REL}|' \
 		${WRKSRC}/configure.pl
 	@${REINPLACE_CMD} \
 		-e 's,"/doc/BackupPC.html","/${DOCSDIR_REL}/BackupPC.html",' \
 		${WRKSRC}/lib/BackupPC/CGI/View.pm
 	@${REINPLACE_CMD} \
-		-e 's,STDERR "Please su ,STDERR "Please su [-m] ,' \
+		-e 's|STDERR "Please su |STDERR "Please su [-m] |' \
 		${WRKSRC}/lib/BackupPC/Lib.pm
 	@${REINPLACE_CMD} \
-		-e 's, you can use the -s, you can use the -m,' \
-		-e 's,option to su to explicitly run,option to su to run,' \
-		-e 's,su -s /bin/bash __BACKUPPCUSER__,su -m __BACKUPPCUSER__,' \
+		-e 's| you can use the -s| you can use the -m|' \
+		-e 's|option to su to explicitly run|option to su to run|' \
+		-e 's|su -s /bin/bash __BACKUPPCUSER__|su -m __BACKUPPCUSER__|' \
 		${WRKSRC}/doc/BackupPC.html ${WRKSRC}/doc/BackupPC.pod
 
 pre-install:
 	@${ECHO_MSG}
-	@${ECHO_MSG} ">>> -----------------------------------------------------------------------"
-	@${ECHO_MSG} ">>> You can use the following variables to tweak installation-time options:"
-	@${ECHO_MSG} ">>>	BPC_CGIDIR"
-	@${ECHO_MSG} ">>>	BPC_DATADIR"
-	@${ECHO_MSG} ">>> -----------------------------------------------------------------------"
-	@${ECHO_MSG} ">>> If this is an upgrade make sure the full path of the existing BackupPC"
-	@${ECHO_MSG} ">>> configuration directory is ${ETCDIR}"
-	@${ECHO_MSG} ">>> -----------------------------------------------------------------------"
+	@${ECHO_MSG} "========================================================================="
+	@${ECHO_MSG} " You can use the following variables to tweak installation-time options:"
+	@${ECHO_MSG} " 	BPC_CGIDIR"
+	@${ECHO_MSG} " 	BPC_DATADIR"
+	@${ECHO_MSG} "========================================================================="
 	@${ECHO_MSG}
 
 do-install:
+	@if [ -f ${ETCDIR}/config.pl ]; then \
+		${MKDIR} ${STAGEDIR}${ETCDIR}; \
+		${CP} -p ${ETCDIR}/config.pl ${STAGEDIR}${ETCDIR}/config.pl; \
+	fi
+	@if [ -f ${ETCDIR}/hosts ]; then \
+		${MKDIR} ${STAGEDIR}${ETCDIR}; \
+		${CP} -p ${ETCDIR}/hosts ${STAGEDIR}${ETCDIR}/hosts; \
+	fi
+
 	@cd ${WRKSRC} && ${PERL} configure.pl	\
 		--batch				\
 		--backuppc-user ${USERS}	\
 		--config-dir ${ETCDIR}		\
 		--cgi-dir ${BPC_CGIDIR}		\
 		--data-dir ${BPC_DATADIR}	\
+		--dest-dir ${STAGEDIR}		\
 		--fhs				\
 		--html-dir ${WWWDIR}		\
 		--html-dir-url /${PORTNAME}	\
 		--install-dir ${PREFIX}		\
-		--log-dir /var/log/BackupPC
-
-post-install:
-	@${EXEC} pod2man --section=1 --release=${PORTVERSION} --name=BackupPC --center=BackupPC" user guide" ${WRKSRC}/BackupPC.pod ${WRKSRC}/${PORTNAME}.1
-	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${MANPREFIX}/man/man1
+		--log-dir /var/log/BackupPC	\
+		--no-set-perms			\
+		--uid-ignore
+
+	@pod2man --section=1 --release=${PORTVERSION} \
+		--name=BackupPC --center="BackupPC user guide" \
+		${WRKSRC}/doc/BackupPC.pod ${WRKSRC}/${PORTNAME}.1
+	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
+	@cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
 
-.if ${PORT_OPTIONS:MDOCS}
-	${MKDIR} ${DOCSDIR}
-	@cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${DOCSDIR}
-.endif
-
-	@${MV} ${ETCDIR}/config.pl ${ETCDIR}/config.pl.sample
-
-	@${ECHO_MSG}
-	@${ECHO_MSG} ">>> ----------------------------------------------------------"
-	@${ECHO_MSG} ">>> You need to copy and customize"
-	@${ECHO_MSG} ">>> # cp -p ${ETCDIR}/config.pl.sample ${ETCDIR}/config.pl"
-
-	@if [ ! -f ${ETCDIR}/hosts ]; then \
-		${ECHO_MSG} ">>> # cp -p ${ETCDIR}/hosts.sample ${ETCDIR}/hosts"; \
+	@if [ ! -f ${STAGEDIR}${ETCDIR}/config.pl.pre-${DISTVERSION} ]; then \
+		> ${STAGEDIR}${ETCDIR}/config.pl.pre-${DISTVERSION}; \
 	fi
-
-	@${ECHO_MSG} ">>>"
-	@${ECHO_MSG} ">>> Add the following line to /etc/rc.conf to enable BackupPC:"
-	@${ECHO_MSG} ">>> backuppc_enable=\"YES\""
-	@${ECHO_MSG} ">>>"
-	@${ECHO_MSG} ">>> Data directory is ${BPC_DATADIR}"
-	@${ECHO_MSG} ">>> This is where all the PC backup data is stored."
-	@${ECHO_MSG} ">>> This file system needs to be big enough"
-	@${ECHO_MSG} ">>> to accommodate all the PCs you expect to backup."
-	@${ECHO_MSG} ">>> ----------------------------------------------------------"
-	@${ECHO_MSG}
+	@${INSTALL} -d ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}
+	@cd ${STAGEDIR}${ETCDIR} && \
+		${CHGRP} wheel config.pl config.pl.pre-${DISTVERSION} && \
+		${MV} config.pl hosts config.pl.pre-${DISTVERSION} \
+			${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/
 
 .include <bsd.port.mk>
diff -ruN backuppc.orig/files/patch-configure.pl backuppc/files/patch-configure.pl
--- backuppc.orig/files/patch-configure.pl	2014-01-22 21:40:44.000000000 +0400
+++ backuppc/files/patch-configure.pl	2014-05-13 10:47:37.000000000 +0400
@@ -8,24 +8,3 @@
 
  #
  # These are the programs whose paths we need to find
-@@ -521,7 +521,7 @@
- #
- # Create install directories
- #
--foreach my $dir ( qw(bin doc
-+foreach my $dir ( qw(bin
- 		     lib/BackupPC/CGI
- 		     lib/BackupPC/Config
- 		     lib/BackupPC/Lang
-@@ -689,9 +689,9 @@
- printf("Making Apache configuration file for suid-perl\n");
- InstallFile("httpd/src/BackupPC.conf", "httpd/BackupPC.conf", 0644);
- 
--printf("Installing docs in $DestDir$Conf{InstallDir}/doc\n");
-+printf("Installing docs in WRKSRC\n");
- foreach my $doc ( qw(BackupPC.pod BackupPC.html) ) {
--    InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/doc/$doc", 0444);
-+    InstallFile("doc/$doc", "./$doc", 0444);
- }
- 
- printf("Installing config.pl and hosts in $DestDir$Conf{ConfDir}\n");
diff -ruN backuppc.orig/files/patch-doc-BackupPC.pod backuppc/files/patch-doc-BackupPC.pod
--- backuppc.orig/files/patch-doc-BackupPC.pod	1970-01-01 03:00:00.000000000 +0300
+++ backuppc/files/patch-doc-BackupPC.pod	2014-05-14 10:48:47.000000000 +0400
@@ -0,0 +1,8 @@
+--- doc/BackupPC.pod.orig	2014-05-13 17:40:09.000000000 +0400
++++ doc/BackupPC.pod	2014-05-13 17:40:27.000000000 +0400
+@@ -1,3 +1,5 @@
++=encoding ISO8859-1
++
+ =head1 BackupPC Introduction
+ 
+ This documentation describes BackupPC version 3.3.0,
diff -ruN backuppc.orig/files/pkg-deinstall.in backuppc/files/pkg-deinstall.in
--- backuppc.orig/files/pkg-deinstall.in	1970-01-01 03:00:00.000000000 +0300
+++ backuppc/files/pkg-deinstall.in	2014-05-12 13:18:00.000000000 +0400
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+    exit 0
+fi
+
+echo
+echo "======================================================================="
+echo " If you are permanently removing BackupPC, you should manually delete:"
+echo "  - the backuppc user/group:	pw userdel backuppc"
+if [ -d %%ETCDIR%% ]; then
+    echo "  - BackupPC configuration:	rm -r %%ETCDIR%%"
+fi
+if [ -d %%BPC_DATADIR%% ]; then
+    echo "  - BackupPC data directory:	rm -r %%BPC_DATADIR%%"
+fi
+if [ -d /var/log/BackupPC ]; then
+    echo "  - BackupPC logs directory:	rm -r /var/log/BackupPC"
+fi
+echo "======================================================================="
+echo
diff -ruN backuppc.orig/files/pkg-message.in backuppc/files/pkg-message.in
--- backuppc.orig/files/pkg-message.in	1970-01-01 03:00:00.000000000 +0300
+++ backuppc/files/pkg-message.in	2014-05-12 13:18:00.000000000 +0400
@@ -0,0 +1,18 @@
+==========================================================================
+ - You need to customize %%ETCDIR%%/config.pl .
+
+     If this is an upgrade, install BackupPC from port (not from package)
+     and make sure the full path of the existing BackupPC
+     configuration directory is %%ETCDIR%% .
+     Otherwise you will need to make changes in config.pl by hand.
+
+ - Add the following line to /etc/rc.conf to enable BackupPC:
+
+     backuppc_enable="YES"
+
+ - Data directory is %%BPC_DATADIR%% .
+
+     This is where all the PC backup data is stored.
+     This file system needs to be big enough
+     to accommodate all the PCs you expect to backup.
+==========================================================================
diff -ruN backuppc.orig/pkg-plist backuppc/pkg-plist
--- backuppc.orig/pkg-plist	2013-04-28 13:40:32.000000000 +0400
+++ backuppc/pkg-plist	2014-05-13 11:42:15.000000000 +0400
@@ -1,3 +1,9 @@
+@stopdaemon backuppc
+@unexec if cmp -s %D/%%ETCDIR%%/config.pl %D/%%ETCDIR%%/config.pl.sample; then rm -f %D/%%ETCDIR%%/config.pl; fi
+@unexec if cmp -s %D/%%ETCDIR%%/hosts %D/%%ETCDIR%%/hosts.sample; then rm -f %D/%%ETCDIR%%/hosts; fi
+@rmtry %%ETCDIR%%/config.pl.sample
+@rmtry %%ETCDIR%%/hosts.sample
+@mode 0555
 bin/BackupPC
 bin/BackupPC_archive
 bin/BackupPC_archiveHost
@@ -16,6 +22,7 @@
 bin/BackupPC_trashClean
 bin/BackupPC_zcat
 bin/BackupPC_zipCreate
+@mode 0444
 lib/BackupPC/Attrib.pm
 lib/BackupPC/CGI/AdminOptions.pm
 lib/BackupPC/CGI/Archive.pm
@@ -72,6 +79,10 @@
 lib/BackupPC/Zip/FileMember.pm
 lib/Net/FTP/AutoReconnect.pm
 lib/Net/FTP/RetrHandle.pm
+man/man1/backuppc.1.gz
+%%DOCSDIR%%/BackupPC.html
+%%DOCSDIR%%/BackupPC.pod
+@comment @dirrm %%DOCSDIR%%
 %%WWWDIR%%/0000000.gif
 %%WWWDIR%%/0000011.gif
 %%WWWDIR%%/0001000.gif
@@ -117,30 +128,50 @@
 %%WWWDIR%%/icon-symlink.png
 %%WWWDIR%%/logo.gif
 %%WWWDIR%%/sorttable.js
+@owner backuppc
+@group backuppc
+@mode 04554
 %%BPC_CGIDIR%%/BackupPC_Admin
-@rmtry %%ETCDIR%%/hosts.sample
-%%ETCDIR%%/config.pl.sample
-@dirrmtry %%BPC_CGIDIR%%
-@dirrmtry %%WWWDIR%%
-@dirrmtry share/doc/backuppc
-@dirrmtry lib/Net/FTP
-@dirrmtry lib/Net
-@dirrm lib/BackupPC/Zip
-@dirrm lib/BackupPC/Xfer
-@dirrm lib/BackupPC/Storage
-@dirrm lib/BackupPC/Lang
-@dirrm lib/BackupPC/Config
+@owner
+@group
+@mode
 @dirrm lib/BackupPC/CGI
+@dirrm lib/BackupPC/Config
+@dirrm lib/BackupPC/Lang
+@dirrm lib/BackupPC/Storage
+@dirrm lib/BackupPC/Xfer
+@dirrm lib/BackupPC/Zip
 @dirrm lib/BackupPC
-@unexec echo
-@unexec echo "If you are permanently removing BackupPC, you should manually delete:"
-@unexec echo
-@unexec echo "	- the backuppc user/group:	pw userdel backuppc"
-@unexec rmdir %D/%%ETCDIR%% 2>/dev/null || echo "	- BackupPC configuration:	rm -r %D/%%ETCDIR%%"
-@dirrmtry %%BPC_DATADIR%%/cpool
-@dirrmtry %%BPC_DATADIR%%/pc
-@dirrmtry %%BPC_DATADIR%%/pool
-@dirrmtry %%BPC_DATADIR%%/trash
-@unexec rmdir %%BPC_DATADIR%% 2>/dev/null || echo "	- BackupPC data directory:	rm -r %%BPC_DATADIR%%"
-@unexec rmdir /var/log/BackupPC 2>/dev/null || echo "	- BackupPC logs directory:	rm -r /var/log/BackupPC"
-@unexec echo
+@dirrm lib/Net/FTP
+@dirrm lib/Net
+@dirrmtry %%WWWDIR%%
+@dirrmtry %%BPC_CGIDIR%%
+@exec mkdir -p -m 0750 /var/log/BackupPC
+@exec mkdir -p -m 0750 %%BPC_DATADIR%%/cpool
+@exec mkdir -p -m 0750 %%BPC_DATADIR%%/pc
+@exec mkdir -p -m 0750 %%BPC_DATADIR%%/pool
+@exec mkdir -p -m 0750 %%BPC_DATADIR%%/trash
+@exec chown -R backuppc:backuppc /var/log/BackupPC %%BPC_DATADIR%%
+@unexec rmdir >/dev/null 2>&1 /var/log/BackupPC || :
+@unexec rmdir >/dev/null 2>&1 %%BPC_DATADIR%%/cpool || :
+@unexec rmdir >/dev/null 2>&1 %%BPC_DATADIR%%/pc || :
+@unexec rmdir >/dev/null 2>&1 %%BPC_DATADIR%%/pool || :
+@unexec rmdir >/dev/null 2>&1 %%BPC_DATADIR%%/trash || :
+@unexec rmdir >/dev/null 2>&1 %%BPC_DATADIR%% || :
+@owner backuppc
+@group backuppc
+@dirrmtry %%ETCDIR%%
+@mode 0640
+libexec/backuppc/config.pl.pre-%%DISTVERSION%%
+@exec if [ -s %D/%F -a ! -f %D/%%ETCDIR%%/%f ]; then cp -p %D/%F %D/%%ETCDIR%%/; fi
+libexec/backuppc/config.pl
+@exec if [ ! -f %D/%%ETCDIR%%/%f ]; then cp -p %D/%F %D/%%ETCDIR%%/config.pl.sample; fi
+@exec cp -p %D/%F %D/%%ETCDIR%%/
+@mode 0644
+libexec/backuppc/hosts
+@exec if [ ! -f %D/%%ETCDIR%%/%f ]; then cp -p %D/%F %D/%%ETCDIR%%/hosts.sample; fi
+@exec cp -p %D/%F %D/%%ETCDIR%%/
+@owner
+@group
+@mode
+@dirrm libexec/backuppc


>Release-Note:
>Audit-Trail:
>Unformatted:



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