Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-26 Thread Stefano Zacchiroli
The package is now sitting in NEW, waiting to land in experimental. I've
also pushed a couple of minor improvements on salsa, waiting for the
next upload. As soon as it passes NEW, I plan to upload again to
unstable, hoping to make the freeze cut (you never know... :-))

Please let me know if you have objections and please test the package
and let this bug report know if you encounter any showstopper. For my
part I've migrated my local use of beancount to the current version of
the package and it is working just fine for my needs.

Cheers.
-- 
Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o
Computer Science Professor . CTO Software Heritage . . . . . o . . . o o
Former Debian Project Leader & OSI Board Director  . . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-25 Thread Stefano Zacchiroli
On Mon, Dec 24, 2018 at 07:30:31PM +0200, Martin Michlmayr wrote:
> So this issue was reported and fixed already upstream:
> 
> Here's the original bug report:
> 
> https://bitbucket.org/blais/beancount/issues/341/test_utilsfind_repository_root-doesnt-work

Thanks Martin for finding this, and thanks James for raising it upstream
after last time I tried it out.

I've updated the package to a hg snapshot of today (which includes the
commits with the fix, and more). The source package as it is on salsa
now builds fine on a fresh unstable chroot.

Testing welcome.

Cheers
-- 
Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o
Computer Science Professor . CTO Software Heritage . . . . . o . . . o o
Former Debian Project Leader & OSI Board Director  . . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »


signature.asc
Description: PGP signature


Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-24 Thread Martin Michlmayr
So this issue was reported and fixed already upstream:

Here's the original bug report:

https://bitbucket.org/blais/beancount/issues/341/test_utilsfind_repository_root-doesnt-work

"Since the release tarball only contains the README file, not COPYING
or PKGINFO, it's not possible for the function to ever succeed. At
least COPYING should be in the tarball."

-- 
Martin Michlmayr
https://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-24 Thread Martin Michlmayr
Maybe we need this:
https://bitbucket.org/blais/beancount/commits/d5bfce77f37548b19037c0e9401d61501164760b
?

This on top wouldn't hurt:
https://bitbucket.org/blais/beancount/commits/17a36a0603ab3f6bf27abdf581d64f1c2ed8e285

-- 
Martin Michlmayr
https://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-24 Thread Martin Michlmayr
* Stefano Zacchiroli  [2018-12-09 18:04]:
> The main current issue is that several tests, at least when run under
> sbuild/cowbuilder, enters infinite loops stat()-ing forever
> "/PKG-INFO". I have been unable to find the cause, but it's somewhat
> specific to the Debian build environment in conjunction with pytest.

As you know, I'm years out of date with Debian packaging and have no
idea how gbp works.

However, the /PKG-INFO issue is this: find_repository_root() in
beancount/utils/test_utils.py tries to find the root of the reposity
by looking for a directory that contains all of COPYING, PKG-INFO and
README.

However, when I look at the Debian source tree, it seems a lot of
files are missing:
https://salsa.debian.org/python-team/applications/beancount
doesn't have COPYING, nor the examples/ directory.

So find_repository_root() fails to find all 3 files (COPYING is
missing) and traverses the directory until it ends up in an infinite
loop traversing /.  (dirname("/")).  I just filed this bug about
the infinite loop but really the problem is the missing file:
https://bitbucket.org/blais/beancount/issues/355

I suspect if you add these missing files, it would just work.

It seems:

commit 0414a6e19275f4770223add912971762da291ca4 (origin/upstream)
Author: Stefano Zacchiroli 
Date:   Fri Oct 5 09:20:03 2018 +0200

New upstream version 2.1.3

deleted COPYING, examples and a bunch of files.

Oh, btw, build-package also didn't work for me:

I: pybuild pybuild:269: cp -r /home/tbm/beancount/beancount/utils/file_type 
/home/tbm/beancount/.pybuild/cpython3_3.7/build/beancount/utils; cd 
/home/tbm/beancount/beancount/parser; cp lexer.l grammar.y parser.h parser.c 
/home/tbm/beancount/.pybuild/cpython3_3.7/build/beancount/parser
cp: cannot stat '/home/tbm/beancount/beancount/utils/file_type': No such file 
or directory
cp: cannot stat 'lexer.l': No such file or directory
cp: cannot stat 'grammar.y': No such file or directory

/home/tbm/beancount/beancount/utils/file_type has a .py ending and the lexer.l 
grammar.y are not there.

-- 
Martin Michlmayr
https://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-09 Thread Stefano Zacchiroli
On Sun, Dec 09, 2018 at 05:23:35PM +0200, Martin Michlmayr wrote:
> Is the delay because of the test failures mentioned by Zack?

The main current issue is that several tests, at least when run under
sbuild/cowbuilder, enters infinite loops stat()-ing forever
"/PKG-INFO". I have been unable to find the cause, but it's somewhat
specific to the Debian build environment in conjunction with pytest.

In addition to that there are some test failures too, but they look easy
to fix (and the patches should probably be sent upstream for
integration).

I don't see myself having more time than I already devoted to this in
time for the next freeze. But if you're up to tackling this, I can
provide more info, e.g., I've a list of the affected tests, in case it
might help finding a pattern. The *general* pattern is that tests that
exec() stuff are impacted, but it's not specific enough (at least for
me) to pinpoint the issue.

Cheers
-- 
Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o
Computer Science Professor . CTO Software Heritage . . . . . o . . . o o
Former Debian Project Leader & OSI Board Director  . . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-12-09 Thread Martin Michlmayr
Is there any update on this ITP?

Is the delay because of the test failures mentioned by Zack?

-- 
Martin Michlmayr
https://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-10-01 Thread Stefano Zacchiroli
I've updated the package at
https://salsa.debian.org/python-team/applications/beancount to match
latest release (2.1.2) + mercurial snapshot and fixed one failing test.

Two tests still fail.

The corresponding functionalities work in the package after installed.

Also, they fail in very weird ways, only under python3.7, which are not
reproducible outside the package build environment.

I'm tempted to just push the attached patch to ignore the two tests and
upload. That will give us some user testing time before buster is frozen
and, when 3.7 become the default, reassess whether the tests still fail
or not.

Thoughts?
-- 
Stefano Zacchiroli . z...@upsilon.cc . upsilon.cc/zack . . o . . . o . o
Computer Science Professor . CTO Software Heritage . . . . . o . . . o o
Former Debian Project Leader & OSI Board Director  . . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »
From: Stefano Zacchiroli 
Date: Mon, 1 Oct 2018 22:58:39 +0200
Subject: ignore tests that fail with pytest 3.7 in a 3.6 environment

the tests runs fine outside the build process and the corresponding
functionalities work when the package is installed
---
 beancount/ingest/identify_test.py  | 2 ++
 beancount/scripts/tutorial_test.py | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/beancount/ingest/identify_test.py b/beancount/ingest/identify_test.py
index f6689da..2d37cb6 100644
--- a/beancount/ingest/identify_test.py
+++ b/beancount/ingest/identify_test.py
@@ -4,6 +4,7 @@ __license__ = "GNU GPLv2"
 from os import path
 from unittest import mock
 import os
+import pytest
 import re
 import subprocess
 import sys
@@ -72,6 +73,7 @@ class TestScriptIdentifyFunctions(test_utils.TestTempdirMixin, unittest.TestCase
 
 class TestScriptIdentify(scripts_utils.TestScriptsBase):
 
+@pytest.mark.skip
 def test_identify(self):
 regexp = textwrap.dedent("""\
 \*\*\*\* .*/Downloads/ofxdownload.ofx
diff --git a/beancount/scripts/tutorial_test.py b/beancount/scripts/tutorial_test.py
index e2b3e32..6dcb5c2 100644
--- a/beancount/scripts/tutorial_test.py
+++ b/beancount/scripts/tutorial_test.py
@@ -2,6 +2,7 @@ __copyright__ = "Copyright (C) 2014, 2016  Martin Blais"
 __license__ = "GNU GPLv2"
 
 import os
+import pytest
 import shutil
 import tempfile
 from os import path
@@ -12,6 +13,7 @@ from beancount.scripts import tutorial
 
 class TestTutorial(test_utils.TestCase):
 
+@pytest.mark.skip
 def test_generate_tutorial(self):
 rootdir = test_utils.find_repository_root(__file__)
 example_beancount = path.join(rootdir, 'examples', 'example.beancount')


Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-05-01 Thread Martin Michlmayr
* Nicolas Dandrimont  [2018-05-01 05:12]:
> The packaging is on 
> https://salsa.debian.org/python-team/applications/beancount
> and uses a standard gbp buildpackage (with pristine-tar) workflow.

I believe you can drop zip from the build-depends because Martin
changed the code to use a Python library (not sure if that needs to be
added or it that's built in).

"A double-entry bookkeeping computer language" sounds odd to me?
Wouldn't "tool" instead of "computer language" make more sense?

Can you use GPL-2+ for the packaging?

Thanks!
-- 
Martin Michlmayr
http://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-04-30 Thread Nicolas Dandrimont
* Anthony Towns  [2018-04-18 18:02:22 +1000]:

> Nicolas Dandrimont wrote:
> > * Martin Michlmayr  [2018-03-30 17:14:49 +0200]:
> > > beancount 2.0 was released a few days ago so it's time to get this
> > > into Debian.
> > > Anyone interested in packaging it?  It's Python code.
> > I've been meaning to look into this for a while, as I've been using
> > beancount in an org I'm treasurer of.
> > I'll put this in the python-team/applications group on
> > salsa. Comaintainers welcome!
> 
> Any luck here? I didn't see anything on salsa yet, but maybe I missed it.
> Don't suppose you've looked at packaging fava as well?

Hi!

I've finally gotten around to finalizing the beancount packaging. I've run
across a few test failures on the released 2.0.0, but I noticed that they have
been fixed by tbm and Martin Blais in upstream PRs; I've followed the easy
route and updated the packaging to a snapshot of the upstream mercurial repo:
some of the test failures were fixed after a refactoring of the external price
source handling, so the patch doesn't apply cleanly to 2.0.0... Yay.

The packaging is on https://salsa.debian.org/python-team/applications/beancount
and uses a standard gbp buildpackage (with pristine-tar) workflow.

The only thing that's not working currently is the dependency split between
default dependencies and optional dependencies for extra features. It's not
exactly critical but it'd be nice to have. I'd also be happy with better
wording for the long description of the packages.

Once that's done and if you're happy I think the package should be ready for
upload.

Cheers,
-- 
Nicolas Dandrimont

BOFH excuse #223:
The lines are all busy (busied out, that is -- why let them in to begin with?).


signature.asc
Description: PGP signature


Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-04-18 Thread Anthony Towns
Nicolas Dandrimont wrote:
> * Martin Michlmayr  [2018-03-30 17:14:49 +0200]:
> > beancount 2.0 was released a few days ago so it's time to get this
> > into Debian.
> > Anyone interested in packaging it?  It's Python code.
> I've been meaning to look into this for a while, as I've been using
> beancount in an org I'm treasurer of.
> I'll put this in the python-team/applications group on
> salsa. Comaintainers welcome!

Any luck here? I didn't see anything on salsa yet, but maybe I missed it.
Don't suppose you've looked at packaging fava as well?

Cheers,
aj



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-03-31 Thread Nicolas Dandrimont
retitle 799626 ITP: beancount -- command line double-entry bookkeeping system
owner 799626 !
thanks

* Martin Michlmayr  [2018-03-30 17:14:49 +0200]:

> * Petter Reinholdtsen  [2015-09-21 00:17]:
> > * URL : http://furius.ca/beancount/
> > * License : GPL v2+
> > 
> > A double-entry bookkeeping computer language that lets you define
> > financial transaction records in a text file, read them in memory,
> > generate a variety of reports from them, and provides a web interface.
> 
> beancount 2.0 was released a few days ago so it's time to get this
> into Debian.
> 
> Anyone interested in packaging it?  It's Python code.

I've been meaning to look into this for a while, as I've been using beancount
in an org I'm treasurer of.

I'll put this in the python-team/applications group on salsa. Comaintainers 
welcome!

Cheers,
-- 
Nicolas Dandrimont


signature.asc
Description: PGP signature


Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2018-03-30 Thread Martin Michlmayr
* Petter Reinholdtsen  [2015-09-21 00:17]:
> * URL : http://furius.ca/beancount/
> * License : GPL v2+
> 
> A double-entry bookkeeping computer language that lets you define
> financial transaction records in a text file, read them in memory,
> generate a variety of reports from them, and provides a web interface.

beancount 2.0 was released a few days ago so it's time to get this
into Debian.

Anyone interested in packaging it?  It's Python code.

-- 
Martin Michlmayr
http://www.cyrius.com/



Bug#799626: RFP: beancount -- command line double-entry bookkeeping system

2015-09-20 Thread Petter Reinholdtsen

Package: wnpp
Severity: wishlist

* Package name: beancount
  Version : n/a
  Upstream Author : Martin Blais
* URL : http://furius.ca/beancount/
* License : GPL v2+
  Programming Lang: python
  Description : command line double-entry bookkeeping system

A double-entry bookkeeping computer language that lets you define
financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.

This tools is being considered by SPI for book keeping, and might be
useful to include in Debian for this purpose.

-- 
Happy hacking
Petter Reinholdtsen