From nobody@FreeBSD.org  Thu Apr 22 20:44:09 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4052A106566C
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 22 Apr 2010 20:44:09 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 2EA238FC19
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 22 Apr 2010 20:44:09 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o3MKi8SJ016097
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 22 Apr 2010 20:44:08 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o3MKi8rq016096;
	Thu, 22 Apr 2010 20:44:08 GMT
	(envelope-from nobody)
Message-Id: <201004222044.o3MKi8rq016096@www.freebsd.org>
Date: Thu, 22 Apr 2010 20:44:08 GMT
From: Eitan Adler <EitanAdlerList@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: add periodic script to back up /var/db/pkg
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         145957
>Category:       conf
>Synopsis:       add periodic script to back up /var/db/pkg
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dougb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 22 20:50:01 UTC 2010
>Closed-Date:    Mon Mar 28 19:45:58 UTC 2011
>Last-Modified:  Mon Mar 28 19:45:58 UTC 2011
>Originator:     Eitan Adler
>Release:        
>Organization:
>Environment:
>Description:
Discussion took place at http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg70999.html

Index: periodic/daily/220.backup.pkgdb
===================================================================
--- periodic/daily/220.backup.pkgdb	(revision 0)
+++ periodic/daily/220.backup.pkgdb	(revision 0)
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# $FreeBSD: src/etc/periodic/daily/210.backup-aliases,v 1.6.36.1.2.1 2009/10/25 01:10:29 kensmith Exp $
+#
+
+# If there is a global system configuration file, suck it in.
+#
+if [ -r /etc/defaults/periodic.conf ]
+then
+    . /etc/defaults/periodic.conf
+    source_periodic_confs
+fi
+
+bak=/var/backups
+db_loc=$(/usr/bin/make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null)
+bk_loc="$bak/pkgdb.bak.tar.bz2"
+
+case "$daily_backup_pkgdb_enable" in
+    [Yy][Ee][Ss])
+	if [ ! -d $db_loc ]
+	then
+	    echo '$daily_backup_pkgdb_enable is enabled but' \
+		"$db_loc doesn't exist"
+	    rc=2
+	else
+	    rc=0
+
+	    echo ""
+	    echo "Backing up package db directory:"
+
+	    [ -e $bk_loc ] && unlink $bk_loc
+	    tar -cjf $bk_loc $db_loc || rc=3
+	fi;;
+
+    *)  rc=0;;
+esac
+
+exit $rc

Index: defaults/periodic.conf
===================================================================
--- defaults/periodic.conf	(revision 207071)
+++ defaults/periodic.conf	(working copy)
@@ -74,6 +74,9 @@
 # 210.backup-aliases
 daily_backup_aliases_enable="YES"			# Backup mail aliases
 
+# 220.backup.pkgdb					# Backup package directory
+daily_backup_pkgdb_enable=YES"
+
 # 300.calendar
 daily_calendar_enable="NO"				# Run calendar -a
 

>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:

From: Eitan Adler <eitanadlerlist@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org, freebsd-ports-bugs@freebsd.org
Cc:  
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Fri, 23 Apr 2010 00:13:20 +0300

 sorry about the mis-categorization
Responsible-Changed-From-To: freebsd-ports-bugs->portmgr 
Responsible-Changed-By: miwi 
Responsible-Changed-When: Sun Apr 25 07:07:19 UTC 2010 
Responsible-Changed-Why:  
so i think we should take a look here? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=145957 

From: Eitan Adler <eitanadlerlist@gmail.com>
To: bug-followup@freebsd.org, EitanAdlerList@gmail.com
Cc:  
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 26 Apr 2010 10:53:02 +0300

 Quote a bunch of strings to be paranoid
 
 Index: 220.backup.pkgdb
 ===================================================================
 --- 220.backup.pkgdb	(revision 0)
 +++ 220.backup.pkgdb	(revision 0)
 @@ -0,0 +1,38 @@
 +#!/bin/sh
 +#
 +# $FreeBSD: src/etc/periodic/daily/210.backup-aliases,v 1.6.36.1.2.1
 2009/10/25 01:10:29 kensmith Exp $
 +#
 +
 +# If there is a global system configuration file, suck it in.
 +#
 +if [ -r /etc/defaults/periodic.conf ]
 +then
 +    . /etc/defaults/periodic.conf
 +    source_periodic_confs
 +fi
 +
 +bak=/var/backups
 +db_loc=$(/usr/bin/make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null)
 +bk_loc="$bak/pkgdb.bak.tar.bz2"
 +
 +case "$daily_backup_pkgdb_enable" in
 +    [Yy][Ee][Ss])
 +	if [ ! -d "$db_loc" ]
 +	then
 +	    echo '$daily_backup_pkgdb_enable is enabled but' \
 +		"$db_loc doesn't exist"
 +	    rc=2
 +	else
 +	    rc=0
 +
 +	    echo ""
 +	    echo "Backing up package db directory:"
 +
 +	    [ -e "$bk_loc" ] && unlink "$bk_loc"
 +	    tar -cjf "$bk_loc" "$db_loc" || rc=3
 +	fi;;
 +
 +    *)  rc=0;;
 +esac
 +
 +exit $rc

From: Eitan Adler <eitanadlerlist@gmail.com>
To: bug-followup@freebsd.org, EitanAdlerList@gmail.com
Cc:  
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 26 Apr 2010 19:03:45 +0300

 This PR should is affected by conf/146064
 Specifically the line
 bak=/var/backups
 becomes bak="$backup_location"

From: Doug Barton <dougb@FreeBSD.org>
To: bug-followup@FreeBSD.org, Eitan Adler <eitanadlerlist@gmail.com>
Cc:  
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 26 Apr 2010 12:46:29 -0700

 I'm interested in committing this, any objections?
 
 
 Doug

From: Florent Thoumie <florent.thoumie@gmail.com>
To: Doug Barton <dougb@freebsd.org>
Cc: "portmgr@FreeBSD.org" <portmgr@freebsd.org>, 
	"bug-followup@freebsd.org" <bug-followup@freebsd.org>
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 26 Apr 2010 20:58:53 +0100

 Yes. Don't commit it yet. I'll send in my changes tomorrow.
 
 Florent

From: Doug Barton <dougb@FreeBSD.org>
To: Florent Thoumie <florent.thoumie@gmail.com>
Cc: "portmgr@FreeBSD.org" <portmgr@freebsd.org>, 
 "bug-followup@freebsd.org" <bug-followup@freebsd.org>
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 26 Apr 2010 13:07:12 -0700

 On 04/26/10 12:58, Florent Thoumie wrote:
 > Yes. Don't commit it yet. I'll send in my changes tomorrow.
 
 That's fine. I have no objection to y'all handling it, I just don't want
 to see it go by the wayside.
 
 
 Doug
 
 -- 
 
 	... and that's just a little bit of history repeating.
 			-- Propellerheads
 
 	Improve the effectiveness of your Internet presence with
 	a domain name makeover!    http://SupersetSolutions.com/
 

From: Florent Thoumie <flz@xbsd.org>
To: Doug Barton <dougb@freebsd.org>
Cc: portmgr@freebsd.org, bug-followup@freebsd.org
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Tue, 27 Apr 2010 19:20:11 +0100

 --001485f45018e0b39804853bf243
 Content-Type: text/plain; charset=ISO-8859-1
 
 Here's my version. I'm still not happy as there's only one-day backup
 but this can be discussed later.
 
 Changes:
 - I added a _dbdir and _backupdir option, settable in periodic.conf. I
 don't think we need that level of indirection for dbdir, especially
 because PKG_DBDIR can be overridden in the environment and the make
 command wouldn't pick it. So instead it needs to be specified (for the
 odd case where people actually do not use /var/db/pkg).
 - I've shortened the name of the archive, from .tar.bz2 to .tbz. Feel
 free to revert it, I just liked it better that way :-)
 - I've removed the info in the $FreeBSD$ line.
 - I've renamed the script from 220.backup.pkgdb to 220.backup-pkgdb to
 match the other names.
 
 I think that's it.
 
 -- 
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 --001485f45018e0b39804853bf243
 Content-Type: application/octet-stream; 
 	name="0001-Add-a-daily-periodic-script-to-backup-the-package-da.patch"
 Content-Disposition: attachment; 
 	filename="0001-Add-a-daily-periodic-script-to-backup-the-package-da.patch"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_g8j1j8ek0
 
 RnJvbSA4ZDZkOGYzNjVhMTBjMzUyNjhhNjYyMDA1OTNlN2VhNTdhMjQ4YjgwIE1vbiBTZXAgMTcg
 MDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yZW50IFRob3VtaWUgPGZsekBGcmVlQlNELm9yZz4KRGF0
 ZTogVHVlLCAyNyBBcHIgMjAxMCAxOToxMTo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBh
 IGRhaWx5IHBlcmlvZGljIHNjcmlwdCB0byBiYWNrdXAgdGhlIHBhY2thZ2UgZGF0YWJhc2UuCgpT
 dWJtaXR0ZWQgYnk6CUVpdGFuIEFkbGVyIDxFaXRhbkFkbGVyTGlzdEBnbWFpbC5jb20+ClBSOgkJ
 Y29uZi8xNDU5NTcKLS0tCiBldGMvcGVyaW9kaWMvZGFpbHkvMjIwLmJhY2t1cC1wa2dkYiB8ICAg
 MzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZXMgY2hhbmdlZCwg
 MzYgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBldGMv
 cGVyaW9kaWMvZGFpbHkvMjIwLmJhY2t1cC1wa2dkYgoKZGlmZiAtLWdpdCBhL2V0Yy9wZXJpb2Rp
 Yy9kYWlseS8yMjAuYmFja3VwLXBrZ2RiIGIvZXRjL3BlcmlvZGljL2RhaWx5LzIyMC5iYWNrdXAt
 cGtnZGIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAyMWQzNgotLS0gL2Rl
 di9udWxsCisrKyBiL2V0Yy9wZXJpb2RpYy9kYWlseS8yMjAuYmFja3VwLXBrZ2RiCkBAIC0wLDAg
 KzEsMzYgQEAKKyMhL2Jpbi9zaAorIworIyAkRnJlZUJTRCQKKyMKKworIyBJZiB0aGVyZSBpcyBh
 IGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgorIworaWYgWyAt
 ciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQordGhlbgorICAgIC4gL2V0Yy9kZWZhdWx0
 cy9wZXJpb2RpYy5jb25mCisgICAgc291cmNlX3BlcmlvZGljX2NvbmZzCitmaQorCitia19sb2M9
 IiRkYWlseV9iYWNrdXBfcGtnZGJfYmFja3VwZGlyL3BrZ2RiLmJhay50YnoiCisKK2Nhc2UgIiRk
 YWlseV9iYWNrdXBfcGtnZGJfZW5hYmxlIiBpbgorICAgIFtZeV1bRWVdW1NzXSkKKwlpZiBbICEg
 LWQgIiRkYWlseV9iYWNrdXBfcGtnZGJfZGJkaXIiIF0KKwl0aGVuCisJICAgIGVjaG8gJyRkYWls
 eV9iYWNrdXBfcGtnZGJfZW5hYmxlIGlzIGVuYWJsZWQgYnV0JyBcCisJCSIkZGFpbHlfYmFja3Vw
 X3BrZ2RiX2RiZGlyIGRvZXNuJ3QgZXhpc3QiCisJICAgIHJjPTIKKwllbHNlCisJICAgIHJjPTAK
 KworCSAgICBlY2hvICIiCisJICAgIGVjaG8gIkJhY2tpbmcgdXAgcGFja2FnZSBkYiBkaXJlY3Rv
 cnk6IgorCisJICAgIFsgLWUgIiRia19sb2MiIF0gJiYgdW5saW5rICIkYmtfbG9jIgorCSAgICB0
 YXIgLWNqZiAiJGJrX2xvYyIgIiRkYWlseV9iYWNrdXBfcGtnZGJfZGJkaXIiIHx8IHJjPTMKKwlm
 aTs7CisKKyAgICAqKSAgcmM9MDs7Citlc2FjCisKK2V4aXQgJHJjCi0tIAoxLjcuMC4zCgo=
 --001485f45018e0b39804853bf243--

From: Eitan Adler <eitanadlerlist@gmail.com>
To: bug-followup@freebsd.org, EitanAdlerList@gmail.com
Cc:  
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 10 May 2010 17:53:02 +0300

 About your change +bk_loc="$daily_backup_pkgdb_backupdir/pkgdb.bak.tbz"
 please see conf/146064
 IMHO the backup location for the scripts should be the same. It is
 quite annoying to have to set a different location for each and every
 script

From: Florent Thoumie <flz@xbsd.org>
To: Eitan Adler <eitanadlerlist@gmail.com>
Cc: portmgr@freebsd.org, bug-followup@freebsd.org
Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
Date: Mon, 10 May 2010 22:42:21 +0100

 On Mon, May 10, 2010 at 4:00 PM, Eitan Adler <eitanadlerlist@gmail.com> wro=
 te:
 > The following reply was made to PR ports/145957; it has been noted by GNA=
 TS.
 >
 > From: Eitan Adler <eitanadlerlist@gmail.com>
 > To: bug-followup@freebsd.org, EitanAdlerList@gmail.com
 > Cc:
 > Subject: Re: ports/145957: add periodic script to back up /var/db/pkg
 > Date: Mon, 10 May 2010 17:53:02 +0300
 >
 > =A0About your change +bk_loc=3D"$daily_backup_pkgdb_backupdir/pkgdb.bak.t=
 bz"
 > =A0please see conf/146064
 > =A0IMHO the backup location for the scripts should be the same. It is
 > =A0quite annoying to have to set a different location for each and every
 > =A0script
 
 The patch in conf/146064 looks good to me.
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
Responsible-Changed-From-To: portmgr->dougb 
Responsible-Changed-By: az 
Responsible-Changed-When: Sat Sep 25 15:47:16 UTC 2010 
Responsible-Changed-Why:  
dougb@ wanted  to commit this one. Maybe fire still burning? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=145957 
State-Changed-From-To: open->patched 
State-Changed-By: dougb 
State-Changed-When: Sat Mar 26 03:02:08 UTC 2011 
State-Changed-Why:  

A considerably reworked version was committed to HEAD. 

I'll MFC after it's had a chance to settle in. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=145957 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/145957: commit references a PR
Date: Sat, 26 Mar 2011 03:02:01 +0000 (UTC)

 Author: dougb
 Date: Sat Mar 26 03:01:48 2011
 New Revision: 220020
 URL: http://svn.freebsd.org/changeset/base/220020
 
 Log:
   Add a daily period script to back up /var/db/pkg
   
   The final product contains work from the originator, and
   Florent Thoumie <florent.thoumie@gmail.com>. The final
   product contains considerable re-working by me, so all
   responsibility for bugs rests under my pointy hat.
   
   PR:		ports/145957
   Submitted by:	Eitan Adler <EitanAdlerList@gmail.com>
 
 Added:
   head/etc/periodic/daily/220.backup-pkgdb   (contents, props changed)
 Modified:
   head/etc/defaults/periodic.conf
 
 Modified: head/etc/defaults/periodic.conf
 ==============================================================================
 --- head/etc/defaults/periodic.conf	Sat Mar 26 02:52:04 2011	(r220019)
 +++ head/etc/defaults/periodic.conf	Sat Mar 26 03:01:48 2011	(r220020)
 @@ -74,6 +74,10 @@ daily_backup_passwd_enable="YES"			# Bac
  # 210.backup-aliases
  daily_backup_aliases_enable="YES"			# Backup mail aliases
  
 +# 220.backup-pkgdb
 +daily_backup_pkgdb_enable="YES"				# Backup /var/db/pkg
 +daily_backup_pkgdb_dir="/var/backups"
 +
  # 300.calendar
  daily_calendar_enable="NO"				# Run calendar -a
  
 
 Added: head/etc/periodic/daily/220.backup-pkgdb
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/etc/periodic/daily/220.backup-pkgdb	Sat Mar 26 03:01:48 2011	(r220020)
 @@ -0,0 +1,50 @@
 +#!/bin/sh
 +#
 +# $FreeBSD$
 +#
 +
 +# If there is a global system configuration file, suck it in.
 +#
 +if [ -r /etc/defaults/periodic.conf ]
 +then
 +    . /etc/defaults/periodic.conf
 +    source_periodic_confs
 +fi
 +
 +rc=0
 +
 +case "$daily_backup_pkgdb_enable" in
 +    [Yy][Ee][Ss])
 +	bak="${daily_backup_pkgdb_dir:-/var/backups}"
 +	bak_file="${bak}/pkgdb.bak.tbz"
 +
 +	pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null`
 +
 +	if [ ! -d "$bak" ]
 +	then
 +	    install -d -o root -g wheel -m 750 $bak || {
 +		echo '$daily_backup_pkgdb_enable is enabled but' \
 +		    "$daily_backup_pkgdb_dbdir doesn't exist" ;
 +		exit 2 ; }
 +	fi
 +
 +	echo ''
 +	echo 'Backing up package db directory:'
 +
 +	new_bak_file=`mktemp ${bak_file}-XXXXX`
 +
 +	if tar -cjf "${new_bak_file}" "$pkg_dbdir"; then
 +	    chmod 644 "${new_bak_file}"
 +
 +	    if [ -e "${bak_file}.2" -a -e "${bak_file}" ]; then
 +		unlink "${bak_file}.2"
 +		mv "${bak_file}" "${bak_file}.2"
 +	    fi
 +	    [ -e "${bak_file}" ] && mv "${bak_file}" "${bak_file}.2"
 +	    mv "${new_bak_file}" "${bak_file}"
 +	else
 +	    rc=3
 +	fi ;;
 +esac
 +
 +exit $rc
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: dougb 
State-Changed-When: Mon Mar 28 19:45:30 UTC 2011 
State-Changed-Why:  
MFC to RELENG_7 and RELENG_8 complete. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=145957 
>Unformatted:
