<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>178126</bug_id>
          
          <creation_ts>2007-05-11 23:54 0000</creation_ts>
          <short_desc>app-backup/flexbackup subtle subtree pruning issue / other small issues</short_desc>
          <delta_ts>2007-07-27 20:33:25 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>john_r_graham@mindspring.com</reporter>
          <assigned_to>maintainer-needed@gentoo.org</assigned_to>
          <cc>app-backup@gentoo.org</cc>
    
    <cc>vanya@myfastmail.com</cc>

      

      
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-05-11 23:54:36 0000</bug_when>
            <thetext>When you specify a list of directories to prune, flexbackup gets it almost right.  It backs up all of the directories on the pruning list but none of the contents of those directories.  As such, little space is wasted in the backup and it&apos;s more if a nit than a real show stopper.

Here&apos;s even more of a nit.  The manpage incorrectly documents the &quot;-extract -onefile&quot; option, although it&apos;s correctly documented in the built-in help.

I&apos;ll be posting a patch shortly that corrects both issues and adds a little more documentation on the subtleties of the pruning mechanism.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-05-12 00:50:18 0000</bug_when>
            <thetext>The issue was that flexbackup was taking the list of directories, for instance, like this one:

    $prune{&apos;/home&apos;} = &quot;bert ernie bigbird&quot;;

from its conf file and constructing a regular expression (that&apos;s passed on the command line of &quot;find&quot;) like this (necessary shell escaping omitted for clarity):

    -regex &quot;\./(bert|ernie|bigbird)/.*&quot; -prune

The &quot;/.*&quot; on the end of the regular expression ensured that any file under the listed directories would match and be pruned but, because of the trailing slash, the directory itself *would not* be matched.  The solution was to omit the last two atoms of the regular expression, resulting in:

    -regex &quot;\./(bert|ernie|bigbird)&quot; -prune

This results in each directory itself being pruned (which is what was wanted all along).  Since each directory is pruned, there&apos;s no need to match their contents.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-05-12 02:30:08 0000</bug_when>
            <thetext>Created an attachment (id=118958)
Patch to address reported issues.

* Fix the regex construction issue to correct subtree pruning.
* Minor code cosmetics (couldn&apos;t resist).
* Corrected a few typos in the flexbackup man page.
* Minor updates to the flexbackup.conf man page.
* Additional tutorial explanation and examples in the sample
  flexbackup.conf file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-05-12 09:13:39 0000</bug_when>
            <thetext>This is now in Portage as flexbackup-1.2.1-r5 with the help of the Gentoo Sunrise team.  Thanks, genstef!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vanya@myfastmail.com</who>
            <bug_when>2007-07-24 12:45:07 0000</bug_when>
            <thetext>I liked the old (current) behaviour of the prunning functionality. When you perform the estract you get dirs like /mnt/win_c, /usr/portage, /var/log created and have less problems after restoring the system, don&apos;t you think?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-07-24 17:21:05 0000</bug_when>
            <thetext>Not really.  If you prune a directory, I think the most intuitive behavior is for it to *not* be included in the backup.  If you want to to back up the directory but not the contents, your prune term can still do this.  Just do

    some_path/.*

instead of

    some_path

Hope this helps.

- John</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>john_r_graham@mindspring.com</who>
            <bug_when>2007-07-27 20:33:25 0000</bug_when>
            <thetext>I should mention that the above works only with flexbackup-1.2.1-r5 or later.

- John</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118958</attachid>
            <date>2007-05-12 02:30 0000</date>
            <desc>Patch to address reported issues.</desc>
            <filename>flexbackup-1.2.1-prune.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdWIgZmxleGJhY2t1cC1vbGQvZmxleGJhY2t1cCBmbGV4YmFja3VwLW5ldy9mbGV4YmFj
a3VwCi0tLSBmbGV4YmFja3VwLW9sZC9mbGV4YmFja3VwCTIwMDctMDUtMTEgMjA6MTQ6MTMuMDAw
MDAwMDAwIC0wNDAwCisrKyBmbGV4YmFja3VwLW5ldy9mbGV4YmFja3VwCTIwMDctMDUtMTEgMjA6
MjI6MzYuMDAwMDAwMDAwIC0wNDAwCkBAIC0zMDg1LDcgKzMwODUsNiBAQAogCSAgICAkOjpyZWFk
X2NtZCA9ICIkYnVmY21kICRyZWFkX2ZsYWdzIjsKIAogCX0gZWxzaWYgKCRjZmc6OmJ1ZmZlciBl
cSAibWJ1ZmZlciIpIHsKLQogCSAgICAkOjpwYXRoeydtYnVmZmVyJ30gPSAmY2hlY2tpbnBhdGgo
J21idWZmZXInKTsKIAkgICAgcHVzaChAOjpyZW1vdGVwcm9ncywgJDo6cGF0aHsnbWJ1ZmZlcid9
KTsKIApAQCAtMzEwMSw3ICszMTAwLDYgQEAKIAkgICAgfQogCX0KICAgICB9IGVsc2UgewotCiAJ
IyBJZiBidWZmZXJpbmcgZGlzYWJsZWQsIHVzZSBkZCBvciBjYXQgZGVwZW5kaW5nIG9uIGlmIGJs
b2NraW5nIHR1cm5lZCBvZmYgb24gbm90CiAJaWYgKCRjZmc6OmJsa3NpemUgZXEgJzAnKSB7CiAJ
ICAgICQ6OmJ1ZmZlcl9jbWQgPSAiIjsKQEAgLTQ4ODcsMTggKzQ4ODUsMTkgQEAKIAkJbXkgJHJl
eDsKIAkjIEZyZWVCU0QgbmVlZHMgLUUgKGFib3ZlKSBhbmQgbm8gYmFja3NsYXNoZXMgYXJvdW5k
IHRoZSAofCkgY2hhcnMKIAlpZiAoJDo6dW5hbWUgPX4gL0ZyZWVCU0QvKSB7Ci0JCQkkcmV4ICA9
ICctcmVnZXggIlwuLygnOworCQkJJHJleCAgPSAnIlwuLygnOwogCQkJJHJleCAuPSBqb2luKCd8
Jywga2V5cyAleyQ6OnBydW5leyRwcnVuZWtleX19KTsKLQkJCSRyZXggLj0gJykvLioiICc7CisJ
CQkkcmV4IC49ICcpIic7CiAJCX0gZWxzZSB7Ci0JCQkkcmV4ICA9ICctcmVnZXggIlwuL1woJzsK
KwkJCSRyZXggID0gJyJcLi9cKCc7CiAJCQkkcmV4IC49IGpvaW4oJ1x8Jywga2V5cyAleyQ6OnBy
dW5leyRwcnVuZWtleX19KTsKLQkJCSRyZXggLj0gJ1wpLy4qIiAnOworCQkJJHJleCAuPSAnXCki
JzsKIAkJfQogCQkjIFNob3cgd2hhdCB0aGUgZGFybiB0aGluZyBpcyBjb25zdHJ1Y3RpbmcgZm9y
IHBydW5lIGV4cHJlc3Npb25zLgotCQkmbG9nKCJ8IFwiZmluZFwiIHJlZ2V4IGZvciBwcnVuaW5n
IGlzOiAkcmV4Iik7Ci0JCSRjbWQgLj0gJHJleDsKLQkkY21kIC49ICctcHJ1bmUgLW8gJzsKKwkJ
JmxvZygifCBcImZpbmRcIiByZWdleCBmb3IgcHJ1bmluZyBpczoiKTsKKwkJJmxvZygifCAgICAg
JHJleCIpOworCQkmbGluZSgpOworCQkkY21kIC49ICctcmVnZXggJyAuICRyZXggLiAnIC1wcnVu
ZSAtbyAnOwogICAgIH0gZWxzZSB7CiAJCSMgU2hvdyB3aGF0IHRoZSBkYXJuIHRoaW5nIGlzIGNv
bnN0cnVjdGluZyBmb3IgcHJ1bmUgZXhwcmVzc2lvbnMuCiAJCSZsb2coInwgTm8gcHJ1bmluZyBk
ZWZpbmVkIGZvciB0aGlzIHRyZWUuIik7CmRpZmYgLXViIGZsZXhiYWNrdXAtb2xkL2ZsZXhiYWNr
dXAuMSBmbGV4YmFja3VwLW5ldy9mbGV4YmFja3VwLjEKLS0tIGZsZXhiYWNrdXAtb2xkL2ZsZXhi
YWNrdXAuMQkyMDA3LTA1LTExIDIwOjE0OjEzLjAwMDAwMDAwMCAtMDQwMAorKysgZmxleGJhY2t1
cC1uZXcvZmxleGJhY2t1cC4xCTIwMDctMDUtMTEgMjA6MDk6NTguMDAwMDAwMDAwIC0wNDAwCkBA
IC00OCw3ICs0OCw3IEBACiBFeHRyYWN0IChyZXN0b3JlKSB0aGUgZmlsZXMgbGlzdGVkIGluIHRl
eHQgZmlsZSBcKGRxZmlsZWxpc3RcKGRxIGludG8geW91cgogY3VycmVudCB3b3JraW5nIGRpcmVj
dG9yeS4KIC5UUAotXGZCZmxleGJhY2t1cFxmUiBcZkktZXh0cmFjdFxmUiBcZkktZmxpc3RcZlIg
PFxmSWZpbGVuYW1lXGZSPgorXGZCZmxleGJhY2t1cFxmUiBcZkktZXh0cmFjdFxmUiBcZkktb25l
ZmlsZVxmUiA8XGZJZmlsZW5hbWVcZlI+CiBFeHRyYWN0IChyZXN0b3JlKSB0aGUgc2luZ2xlIGZp
bGUgbmFtZWQgXChkcWZpbGVuYW1lXChkcSBpbnRvIHlvdXIgY3VycmVudAogd29ya2luZyBkaXJl
Y3RvcnkuCiAuVFAKZGlmZiAtdWIgZmxleGJhY2t1cC1vbGQvZmxleGJhY2t1cC5jb25mIGZsZXhi
YWNrdXAtbmV3L2ZsZXhiYWNrdXAuY29uZgotLS0gZmxleGJhY2t1cC1vbGQvZmxleGJhY2t1cC5j
b25mCTIwMDctMDUtMTEgMjA6MTQ6MTMuMDAwMDAwMDAwIC0wNDAwCisrKyBmbGV4YmFja3VwLW5l
dy9mbGV4YmFja3VwLmNvbmYJMjAwNy0wNS0xMSAyMDoyNjo0OC4wMDAwMDAwMDAgLTA0MDAKQEAg
LTI4LDEwICsyOCwxMCBAQAogCiAjIFN1YnRyZWUgcHJ1bmluZwogIyBBIHNwYWNlLXNlcGFyYXRl
ZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHBydW5lIGZyb20gZWFjaCBiYWNrdXAuCi0jIEtleSBp
cyBhIGZpbGVzeXN0ZW0gb3IgaG9zdDpkaXIgc3BlYyBhcyBvdXRsaW5lZCBhYm92ZQotIyByZWd1
bGFyIGV4cHJlc3Npb25zIGFsbG93ZWQgKG5vdCBzaGVsbC10eXBlIHdpbGRjYXJkcyEpCisjIEtl
eSBpcyBhIGZpbGVzeXN0ZW0gb3IgaG9zdDpkaXIgc3BlYyBhcyBvdXRsaW5lZCBhYm92ZS4KKyMg
UmVndWxhciBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCAobm90IHNoZWxsLXR5cGUgd2lsZGNhcmRz
ISkKICMKLSMgTm90ZTogIFRoZXNlIGRpcmVjdG9yaWVzIGFyZSBhY3R1YWxseSByZWd1bGFyIGV4
cHJlc3Npb25zIGFuZCBtdXN0CisjIE5vdGU6ICBUaGVzZSAiZGlyZWN0b3JpZXMiIGFyZSBhY3R1
YWxseSByZWd1bGFyIGV4cHJlc3Npb25zIGFuZCBtdXN0CiAjIG1hdGNoICJmaW5kIiBvdXRwdXQg
cmVsYXRpdmUgdG8gdGhlIHBhdGggb2YgdGhlIGN1cnJlbnQgYmFja3VwIHNldC4gVGhpcwogIyBt
ZWFucyB0aGF0IGRpZmZlcmVudCBleGNsdXNpb25zIGFyZSBuZWVkZWQgZm9yIGRpZmZlcmVudCBi
YWNrdXAgc2V0cy4KICMgVGhpcyBpcyBhIGxpdHRsZSB0cmlja3ksIHNvLCByZWFkIG9uLgpAQCAt
NDYsOSArNDYsMTEgQEAKICMKICMgdGhlbiwgdGhlIGNvbnN0cnVjdGVkIC1yZWdleCBhcmd1bWVu
dCB0byAiZmluZCIgbG9va3MgbGlrZSB0aGlzCiAjCi0jICAgICAtcmVnZXggIlwuL1wob25lXHx0
d29cfHRocmVlXCkvLioiCisjICAgICAtcmVnZXggIlwuLyhvbmV8dHdvfHRocmVlKSIKICMKLSMg
VGhlIGxhc3QgdGhpbmcgeW91IG5lZWQgdG8ga25vdyBpcyB0aGF0IEZsZXhCYWNrdXAgb25seSB1
c2VzIHRoZSBwcnVuZQorIyAod2l0aCBjaGFyYWN0ZXJzIGVzY2FwZWQgYXMgbmVjZXNzYXJ5IGRl
cGVuZGluZyBvbiB5b3VyIGVudmlyb25tZW50KS4KKyMKKyMgQW5vdGhlciB0aGluZyB5b3UgbmVl
ZCB0byBrbm93IGlzIHRoYXQgRmxleEJhY2t1cCBvbmx5IHVzZXMgdGhlIHBydW5lCiAjIHRlcm1z
IHRoYXQgbWF0Y2ggdGhlIGN1cnJlbnQgYmFzZSBkaXJlY3RvcnkgaW4gdGhlIHNldCB5b3UncmUg
YmFja2luZwogIyB1cC4gIEZvciBleGFtcGxlLCBpZiB5b3VyIGJhY2t1cCBzZXQgZGVmaW5pdGlv
biBsb29rcyBsaWtlIHRoaXMKICMKQEAgLTY2LDkgKzY4LDE2IEBACiAjCiAjICAgICAkcHJ1bmV7
Jy8nfSA9ICJob21lL2JlcnQgaG9tZS9lcm5pZSB2YXIvdG1wIjsKICMKLSMgZG9lcyBub3Qgd29y
aywgdW5sZXNzLCBvZiBjb3Vyc2UsIHlvdXIgYmFja3VwIHNldCBpcyBiYWNraW5nIHVwICIvIiwg
CisjIGRvZXNuJ3Qgd29yaywgdW5sZXNzLCBvZiBjb3Vyc2UsIHlvdXIgYmFja3VwIHNldCBpcyBi
YWNraW5nIHVwICIvIiwgCiAjIHdoaWNoIG91ciBleGFtcGxlIGlzIG5vdC4KICMKKyMgTWFueSBv
dGhlciBjb21wbGV4IGFuZCBhYnN0cnVzZSB2YXJpYXRpb25zIGFyZSBwb3NzaWJsZS4gIEhlcmUn
cyBvbmUgCisjIGludGVyZXN0aW5nIGNvcm5lciBjYXNlLiAgSWYgeW91IHdhbnQgdG8gcHJlc2Vy
dmUgYSBkaXJlY3RvcnkgYnV0IG5vbmUgb2YgaXRzCisjIGNvbnRlbnRzLCB5b3UgY2FuIGRvIGl0
LiAgUGlja2luZyBvbiBlcm5pZSBmcm9tIG91ciBwcmV2aW91cyBleGFtcGxlLCBwcmVzZXJ2ZQor
IyBvbmx5IGhpcyBob21lIGRpcmVjdG9yeToKKyMKKyMgICAgICRwcnVuZXsnL2hvbWUnfSA9ICJl
cm5pZS8uKiI7CisjCiAkcHJ1bmV7Jy8nfSA9ICJ0bXAgcHJvYyI7CiAKICMgQ29tcHJlc3Npb24K
QEAgLTEzOCwxMCArMTQ3LDEwIEBACiAjIE1hdGNoZXMgcGF0aHMsIG5vdCBmaWxlbmFtZXMsIHNv
IHB1dCAuKiBvbiB0aGUgZnJvbnQvYmFjayBhcyBuZWVkZWQuCiAjIENvbW1lbnQgdGhlc2Ugb3V0
IHRvIGV4Y2x1ZGUgbm90aGluZy4KICMgCi0jIE5vdGU6ICBUaGUgZmlyc3QgZXhhbXBsZSBsaW5l
IGJyZWFrcyBwb3J0YWdlIGluIGEgcmVzdG9yZWQgYmFja3VwIGJlY2F1c2UKLSMgIi91c3IvbGli
L3BvcnRhZ2UvcHltL2NhY2hlIiBpcyBub3QgYmFja2VkIHVwLiAgV2F5IHRvbyBnZW5lcmFsISAg
VGhlIG1vcmFsCi0jIG9mIHRoaXMgc3RvcnkgaXMsIGJlIHZlcnkgY2FyZWZ1bCB3aXRoIGdsb2Jh
bCBleGNsdWRlcy4gIFRoZSBzZWNvbmQgZXhhbXBsZSAKLSMgaXMgcHJvYmFibHkgb2theS4KKyMg
R2VudG9vIG5vdGU6ICBUaGUgZmlyc3QgZXhhbXBsZSBsaW5lIGJyZWFrcyBwb3J0YWdlIGluIGEg
cmVzdG9yZWQgYmFja3VwIAorIyBiZWNhdXNlICIvdXNyL2xpYi9wb3J0YWdlL3B5bS9jYWNoZSIg
aXMgbm90IGJhY2tlZCB1cC4gIFdheSB0b28gZ2VuZXJhbCEKKyMgVGhlIG1vcmFsIG9mIHRoaXMg
c3RvcnkgaXMsIGJlIHZlcnkgY2FyZWZ1bCB3aXRoIGdsb2JhbCBleGNsdWRlcy4gIFRoZSAKKyMg
c2Vjb25kIGV4YW1wbGUgaXMgcHJvYmFibHkgb2theS4KICMgJGV4Y2x1ZGVfZXhwclswXSA9ICcu
Ki9bQ2NdYWNoZS8uKic7CiAjICRleGNsdWRlX2V4cHJbMV0gPSAnLip+JCc7CiAKZGlmZiAtdWIg
ZmxleGJhY2t1cC1vbGQvZmxleGJhY2t1cC5jb25mLjUgZmxleGJhY2t1cC1uZXcvZmxleGJhY2t1
cC5jb25mLjUKLS0tIGZsZXhiYWNrdXAtb2xkL2ZsZXhiYWNrdXAuY29uZi41CTIwMDctMDUtMTEg
MjA6MTQ6MTMuMDAwMDAwMDAwIC0wNDAwCisrKyBmbGV4YmFja3VwLW5ldy9mbGV4YmFja3VwLmNv
bmYuNQkyMDA3LTA1LTExIDIwOjA5OjU4LjAwMDAwMDAwMCAtMDQwMApAQCAtNDAsNyArNDAsOSBA
QAogXGZCJHBydW5le1xmSScvJ1xmUn1cZlIgPSBcZkkndG1wIHByb2MnXGZSOwogQ29uZmlndXJl
IHN1YnRyZWUgcHJ1bmluZy4gQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0
byBwcnVuZSBmcm9tCiBlYWNoIGJhY2t1cC4gS2V5IGlzIGEgZmlsZXN5c3RlbS9kaXJlY3Rvcnkg
b3IgXChkcWhvc3Q6ZGlyZWN0b3J5XChkcSBzcGVjIGFzCi1vdXRsaW5lZCBhYm92ZSByZWd1bGFy
IGV4cHJlc3Npb25zIGFsbG93ZWQgKG5vdCBzaGVsbC10eXBlIHdpbGRjYXJkcyEpLgorb3V0bGlu
ZWQgYWJvdmUuIFJlZ3VsYXIgZXhwcmVzc2lvbnMgYWxsb3dlZCAobm90IHNoZWxsLXR5cGUgd2ls
ZGNhcmRzISkuIFRoZXJlCitpcyBhZGRpdGlvbmFsIGV4cGxhbmF0aW9uIChhbmQgYSBsb3Qgb2Yg
ZXhhbXBsZXMpIGluIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uCitmaWxlLgogLlRQCiBcZkIk
Y29tcHJlc3NcZlIgPSBcZkknZmFsc2V8Z3ppcHxiemlwMnxsem9wfHppcHxjb21wcmVzc3xoYXJk
d2FyZSdcZlI7CiAuVFEK
</data>        

          </attachment>
    </bug>

</bugzilla>