Bug#849754: RFS: guerillabackup/0.0.0-1

2018-04-11 Thread halfdog
Hello Gianfranco,

Gianfranco Costamagna writes:
> control: owner -1 !
> control: tags -1 moreinfo
> Hello,
> 
> >I am looking for a sponsor for my package "guerillabackup"
> 
> I would really like to see the package working, but I see the
> upstream repo is lacking the history, this makes the Debian
> work less efficient in cherrypicking new stuff.
> Two commits are really not that much, seems like an inactive project.

Well, one commit (the first one is the github creation commit).
The software is the Python2 port of a quite old project, so just
rewriting it, comparing result with old program by unit tests
and committing the result to github resulted in a single commit.

All other changes are from the request to transform it to Python3
(some earlier review), fixes for problems introduced by that changes,
which were then added as a diff for packaging the initial release
version

If it would help, I could move those changes from my local branch
(which is used to create the patches for the Debian package by
comparing it to the github trunk) also to the github trunk. This
would then create a new github trunk (upstream) version, thus
starting a new RFS process I guess (due to version change). Then
there would also be more upstream commits.

> Is it the case?

Yes and no: it is working on all my machines without any flaws
or major changes for more than a year or so now and as long as
I do not change my setup to expose new bugs (which I do not plan
to do) or someone else reports bugs from his setup (which would
require solid packaging to have new users), so long there is no
real need for further development.

While the RFS was running, all changes went to the Debian packaging
repository and now the new salsa repository, which should build
the package using "gbp", hence also no upstream changes. But I
did not manage to get gbp running from the documentation, e.g.
trying the following did not work out and the various (sometimes
contradictory) recommendations from IRC did not really improve
the situation. You can test with:

git clone https://salsa.debian.org/halfdog-guest/guerillabackup.git
cd guerillabackup
git config user.email "m...@halfdog.net"
git config user.name "halfdog"
gbp buildpackage

So I stopped trying with salsa/gbp. Maybe in some years when alioth/
salsa transition has progressed, documentation will be more conclusive
for packaging noobs and make that step easier.

> Please note: I maintain borgbackup, that I think is really more
> powerful (complete) than your tool (please have a look at it).

Now I had time to check that one out. If I understand correctly,
it could be a nice preprocessor for the guerillabackup:

* borgbackup: does local file deduplication, uses nearby storages
  (similar trust zone, high bandwidth, reliable connections)
  to create repository with or without symmetric encryption

* guerillabackup: performs assymetric encryption of borgbackup
  outputs (e.g. the borgbackup repositories or changesets exported
  from the repository), distribution of redundant copies of those
  outputs to remote cloud storage with lower trust (other trust
  zones, low bandwith, unreliable connections)

hd



Bug#849754: RFS: guerillabackup/0.0.0-1

2018-03-15 Thread Gianfranco Costamagna
control: owner -1 !
control: tags -1 moreinfo
Hello,


>I am looking for a sponsor for my package "guerillabackup"


I would really like to see the package working, but I see the upstream repo
is lacking the history, this makes the Debian work less efficient in 
cherry-picking
new stuff.
Two commits are really not that much, seems like an inactive project.
Is it the case?

Please note: I maintain borgbackup, that I think is really more powerful 
(complete) than
your tool (please have a look at it).

G.



Bug#849754: RFS: guerillabackup/0.0.0-1

2017-11-26 Thread halfdog
Hello Mentors,

While the package in question (see [0]) is working 24/7 on multiple
machines without problems, having created and transfered about
10k of data elements so far, also surviving updates, reboots,
both the inclusion process but also the purging of obsolete RFS
seems stuck.

Should another round for inclusion be attempted or should the
2 bugs and mentors-site entry be closed/removed?

Kind regards,
hd

PS: Current state: you might find [1] useful, especially message
#16 (Sun, 1 Jan 2017) with a good (and demanding) review from
Andreas Henriksson and the list of changes in response in message
#23 (Thu, 04 May 2017).

[0] https://mentors.debian.net/package/guerillabackup
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849754



Bug#849754: RFS: guerillabackup/0.0.0-1

2017-09-06 Thread halfdog
Hello Andreas,

Andreas Henriksson writes:
> ...
> Sorry I have not had time to follow up to you. I simply don't have
> time. Hopefully my previous comments has been of some use to you,
> but I don't think I can help out anymore.

In my opinion, your length review really helped me a lot to improve
the quality of the package, especially it motivated me to review
the Python2/Python3-requirements of the target machines and migrate
to Python3 earlier than I would have done otherwise, even though
it required lengthy burn-in tests afterwards.

I regret, that I could not improve the situation about systemd:
there were no responses from systemd list and I did not find ways
to do better than now. The current configuration worked in all
tests, survived all boots and updates but is not as clean as it
should be.

As from my point of view, that lightweight tool might also be
useful for other Debian users, I hope, that someone else has the
time to continue the review. The whole review state was captured
in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849754 and
should be good groundwork for the next review.

Best regards,
hd
 
> On Thu, Aug 31, 2017 at 05:00:00AM +, halfdog wrote:
> > Hello Andreas,
> > 
> > I did not hear from you after the last mails, see messages from
> > 04 May 2017 21:59, 23 Jun 2017 05:59. Are you still interested
> > in doing the (quite tricky) review?
> > 
> > I have now also tested the build procedures and the software on
> > Debian Stretch, see today's upload of package to mentors.debian.org.
> > 
> > Best regards,
> > hd
> > 
> > 
> 
> Regards,
> Andreas Henriksson



Bug#849754: RFS: guerillabackup/0.0.0-1

2017-09-04 Thread Andreas Henriksson
Hello halfdog,

Sorry I have not had time to follow up to you. I simply don't have
time. Hopefully my previous comments has been of some use to you,
but I don't think I can help out anymore.

On Thu, Aug 31, 2017 at 05:00:00AM +, halfdog wrote:
> Hello Andreas,
> 
> I did not hear from you after the last mails, see messages from
> 04 May 2017 21:59, 23 Jun 2017 05:59. Are you still interested
> in doing the (quite tricky) review?
> 
> I have now also tested the build procedures and the software on
> Debian Stretch, see today's upload of package to mentors.debian.org.
> 
> Best regards,
> hd
> 
> 

Regards,
Andreas Henriksson



Bug#849754: RFS: guerillabackup/0.0.0-1

2017-08-30 Thread halfdog
Hello Andreas,

I did not hear from you after the last mails, see messages from
04 May 2017 21:59, 23 Jun 2017 05:59. Are you still interested
in doing the (quite tricky) review?

I have now also tested the build procedures and the software on
Debian Stretch, see today's upload of package to mentors.debian.org.

Best regards,
hd



Bug#849754: RFS: guerillabackup/0.0.0-1

2017-05-04 Thread halfdog
Hi Andreas,

It took me quite a while to address all your remarks...

Andreas Henriksson wrote:
> Hello halfdog,
> 
> Thanks for your interest in debian packaging
> 
> On Fri, Dec 30, 2016 at 03:16:55PM +, halfdog wrote:
> > Package: sponsorship-requests
> > Severity: normal
> > 
> > Dear mentors,
> > 
> > I am looking for a sponsor for my package "guerillabackup"
> [...]
> >   dget -x https://mentors.debian.net/debian/pool/main/g/guerillabackup/guer
> illabackup_0.0.0-1.dsc
> [...]
> > 
> > As also stated in comment to https://mentors.debian.net/package/guerillabac
> kup
> > to avoid reviewers wasting time searching for dirty little package
> > secrets, here are some pointers to things, I had problems with,
> > when creating the package. Reviewers might disagree with my proposed
> > solution, any feedback is very welcome!
> > 
> > * Upstream Debian file templates: to support building of native
> >   packages using only the upstream source, Debian package files
> >   and build instructions are included already in upstream. To
> >   avoid duplication of them when not (yet) needed, they are copied
> >   within "rules" in target "override_dh_auto_configure"
> 
> Not a fan here. :P
> From a Debian(-only) perspective this complicates things for no
> real gain. If you package things in Debian it's probably very
> unlikely people will get their packages from elsewhere, specially
> if they need to both build it themselves and follow a procedure
> for doing so that's completely alien.. (but what do I know
> about the actual problem you're trying to solve.)

I only hoped to perform some dedup, but ...

> I'm hoping DEP14 can instead be a replacement solution
> for handling this (and also other reasons).

... if I understand http://dep.debian.net/deps/dep14/ correctly,
building for different vendors in future should follow another
scheme anyway, where deduplication is not an option. So I removed
that stuff and duplicated all relevant upstream debian/* files
to the non-native Debian quilt files also.

> > * (Re)starting units on upgrade: As stated in documentation, two
> >   services can be used also from commandline (on demand) or as
> >   non-root user, depending on end user use cases. Thus it is intended,
> >   that the two systemd units are not enabled by default. Also
> >   a user may start them manually without enabling them. With upgrade
> >   following problem may arise: with standard debhelper means it
> >   was not possible to
> >   1) stop all running units and
> >   2) after update start only those, that were running beforehand.
> >   Solution:
> >   1) do not use debhelper for stopping/starting of units,
> >   2) find out in "prerm" which units are currently running, stop them and
> >   3) in "postinst" start only those, that were running in step 1)
> 
> Pretty please do not try to reinvent systemd integration on your own.
> This is just way to easy to get wrong. If the current helpers does
> not work for you it's either likely because you're using them wrong
> and/or because they should be improved. Anything else is likely just
> causing extra work and pain.
> 
> Please swing by either the irc channel or contact the mailing list
> for the Debian systemd maintainers. They're very skilled and usually
> happy to help (time permitting). They are likely also the people
> you need to get to review your package anyway if you invent your
> own maintainer script scheme.

I tried to get response from the mailing list, see
http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2017-March/014551.html
Also got to the IRC channel "#debian-systemd" with same result.

As there are no responses proposing better solutions and the conditional
service restarting code works as expected, I would propose keeping
the current solution until bugreports are received. If insufficient,
I would try to contact them again.

> > * Use of .pyc files: As I do not fully understand the consequences
> >   of using .pyc files, especially in conditions where backup might
> >   be more important, e.g. when disks start already failing and
> >   py/pyc files might fall out of sync, I decided not to use them
> >   until I understand the possible risks. As codebase is very small
> >   and program is long-running, overhead from JIT-compiling should
> >   be not an issue.
> 
> Not an expert on python packaging myself, but I think Debian python
> packaging helpers should generate postinst code to automatically
> generate the .pyc files on install. I guess the reason you can't
> ship them is because then you need to build them with the lowest
> supported capability set of the architecture (which itself is
> likely hard to do). In short, the debian way is to just rm *.pyc *.pyo
> and trust the helpers to do the right thing.

Same argument as with security considerations below: availability,
stability in those bordercases might not be a relevant issue for
the first version of the package. So .pyc objects are now generated
the same 

Bug#849754: RFS: guerillabackup/0.0.0-1

2017-01-01 Thread Andreas Henriksson
Hello halfdog,

Thanks for your interest in debian packaging

On Fri, Dec 30, 2016 at 03:16:55PM +, halfdog wrote:
> Package: sponsorship-requests
> Severity: normal
> 
> Dear mentors,
> 
> I am looking for a sponsor for my package "guerillabackup"
[...]
>   dget -x 
> https://mentors.debian.net/debian/pool/main/g/guerillabackup/guerillabackup_0.0.0-1.dsc
[...]
> 
> As also stated in comment to https://mentors.debian.net/package/guerillabackup
> to avoid reviewers wasting time searching for dirty little package
> secrets, here are some pointers to things, I had problems with,
> when creating the package. Reviewers might disagree with my proposed
> solution, any feedback is very welcome!
> 
> * Upstream Debian file templates: to support building of native
>   packages using only the upstream source, Debian package files
>   and build instructions are included already in upstream. To
>   avoid duplication of them when not (yet) needed, they are copied
>   within "rules" in target "override_dh_auto_configure"

Not a fan here. :P
>From a Debian(-only) perspective this complicates things for no
real gain. If you package things in Debian it's probably very
unlikely people will get their packages from elsewhere, specially
if they need to both build it themselves and follow a procedure
for doing so that's completely alien.. (but what do I know
about the actual problem you're trying to solve.)

I'm hoping DEP14 can instead be a replacement solution
for handling this (and also other reasons).

> 
> * (Re)starting units on upgrade: As stated in documentation, two
>   services can be used also from commandline (on demand) or as
>   non-root user, depending on end user use cases. Thus it is intended,
>   that the two systemd units are not enabled by default. Also
>   a user may start them manually without enabling them. With upgrade
>   following problem may arise: with standard debhelper means it
>   was not possible to
>   1) stop all running units and
>   2) after update start only those, that were running beforehand.
>   Solution:
>   1) do not use debhelper for stopping/starting of units,
>   2) find out in "prerm" which units are currently running, stop them and
>   3) in "postinst" start only those, that were running in step 1)

Pretty please do not try to reinvent systemd integration on your own.
This is just way to easy to get wrong. If the current helpers does
not work for you it's either likely because you're using them wrong
and/or because they should be improved. Anything else is likely just
causing extra work and pain.

Please swing by either the irc channel or contact the mailing list
for the Debian systemd maintainers. They're very skilled and usually
happy to help (time permitting). They are likely also the people
you need to get to review your package anyway if you invent your
own maintainer script scheme.

> 
> * Use of .pyc files: As I do not fully understand the consequences
>   of using .pyc files, especially in conditions where backup might
>   be more important, e.g. when disks start already failing and
>   py/pyc files might fall out of sync, I decided not to use them
>   until I understand the possible risks. As codebase is very small
>   and program is long-running, overhead from JIT-compiling should
>   be not an issue.

Not an expert on python packaging myself, but I think Debian python
packaging helpers should generate postinst code to automatically
generate the .pyc files on install. I guess the reason you can't
ship them is because then you need to build them with the lowest
supported capability set of the architecture (which itself is
likely hard to do). In short, the debian way is to just rm *.pyc *.pyo
and trust the helpers to do the right thing.



Below is a full packaging review with some pointers, hope it helps:

Vcs-* -> should point to debian packaging repository, not upstream.
(Note: does not have to be a separate repository. See DEP14 branch
naming scheme for example. Still, Vcs-* fields should point to Debian
specific parts. For information pointing to upstream see
https://wiki.debian.org/UpstreamMetadata )

Section -> please consider looking up the correct section for backup
utilities at https://packages.debian.org/unstable/
(Please note the section name is not the one on the list, click the link
to see the actual name.)

python2 only is unfortunate. Please note that porting everything in
Debian to python3 was already a goal for this release. If you're not
using python3 in a new package at this point that leaves me wondering
about your chances for ever being part of the next release.
(Python is not by strongest side though, specially not debian packaging
of it, so please find more advanced advice on this from someone else.)



dh compat 9 -> consider using latest dh compat 10 instead. This
automatically includes dh-systemd, etc. It will also use 'restart
/after/ upgrade' by default. 


* DEP14 rather than copying packaging during configure.

* restart instead of 

Bug#849754: RFS: guerillabackup/0.0.0-1

2016-12-30 Thread halfdog
Package: sponsorship-requests
Severity: normal

Dear mentors,

I am looking for a sponsor for my package "guerillabackup"

* Package name: guerillabackup
  Version : 0.0.0-1
  Upstream Author : halfdog
* URL : https://github.com/halfdog/guerillabackup
* License : LGPL-3
Section   : misc

It builds those binary packages:

  guerillabackup - resilient, distributed backup and archiving solution

To access further information about this package, please visit the following 
URL:

https://mentors.debian.net/package/guerillabackup


Alternatively, one can download the package with dget using this command:

  dget -x 
https://mentors.debian.net/debian/pool/main/g/guerillabackup/guerillabackup_0.0.0-1.dsc

More information about guerillabackup can be obtained from
https://github.com/halfdog/guerillabackup

Changes since the last upload:

  * Initial packaging of guerillabackup (Closes: #849714)


As also stated in comment to https://mentors.debian.net/package/guerillabackup
to avoid reviewers wasting time searching for dirty little package
secrets, here are some pointers to things, I had problems with,
when creating the package. Reviewers might disagree with my proposed
solution, any feedback is very welcome!

* Upstream Debian file templates: to support building of native
  packages using only the upstream source, Debian package files
  and build instructions are included already in upstream. To
  avoid duplication of them when not (yet) needed, they are copied
  within "rules" in target "override_dh_auto_configure"

* (Re)starting units on upgrade: As stated in documentation, two
  services can be used also from commandline (on demand) or as
  non-root user, depending on end user use cases. Thus it is intended,
  that the two systemd units are not enabled by default. Also
  a user may start them manually without enabling them. With upgrade
  following problem may arise: with standard debhelper means it
  was not possible to
  1) stop all running units and
  2) after update start only those, that were running beforehand.
  Solution:
  1) do not use debhelper for stopping/starting of units,
  2) find out in "prerm" which units are currently running, stop them and
  3) in "postinst" start only those, that were running in step 1)

* Use of .pyc files: As I do not fully understand the consequences
  of using .pyc files, especially in conditions where backup might
  be more important, e.g. when disks start already failing and
  py/pyc files might fall out of sync, I decided not to use them
  until I understand the possible risks. As codebase is very small
  and program is long-running, overhead from JIT-compiling should
  be not an issue.

Regards,
hd