Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 704632 - app-office/gnucash-3.8b version bump
Summary: app-office/gnucash-3.8b version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Aaron W. Swenson
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks: 714920
  Show dependency tree
 
Reported: 2020-01-03 08:07 UTC by Florian E. Teply
Modified: 2020-07-21 11:54 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild for app-office/gnucash-3.8 (gnucash-3.8.ebuild,5.06 KB, text/plain)
2020-01-03 08:07 UTC, Florian E. Teply
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian E. Teply 2020-01-03 08:07:51 UTC
Created attachment 602358 [details]
ebuild for app-office/gnucash-3.8

A few days ago gnucash version 3.8 was released. Finally also support for optical TAN generation has been implemented

Bumping the ebuild takes just a minor adjustment as the downloadable tarball has version number 3.8b instead of a plain 3.8 -> see attached ebuild

Works fine so far at my end on amd64 and ppc
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2020-01-03 09:48:19 UTC
Comment on attachment 602358 [details]
ebuild for app-office/gnucash-3.8

--- gnucash-3.7.ebuild
+++ gnucash-3.8.ebuild
@@ -9,7 +9,7 @@

 DESCRIPTION="A personal finance manager"
 HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2"
+SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}b/${P}b.tar.bz2"

 SLOT="0"
 LICENSE="GPL-2"
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2020-01-03 09:49:40 UTC
Comment on attachment 602358 [details]
ebuild for app-office/gnucash-3.8

(In reply to Jeroen Roovers from comment #1)
> Comment on attachment 602358 [details]
> ebuild for app-office/gnucash-3.8
> 
> --- gnucash-3.7.ebuild
> +++ gnucash-3.8.ebuild
> @@ -9,7 +9,7 @@
> 
>  DESCRIPTION="A personal finance manager"
>  HOMEPAGE="http://www.gnucash.org/"
> -SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.
> bz2"
> +SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}b/${P}b.
> tar.bz2"

3.8b is a valid PV, so there is no need to edit the ebuild as long as you name it correctly.
Comment 3 Joerg Schaible 2020-01-11 23:50:39 UTC
If you name the ebuild gnucash-3.8b.ebuild, emerge breaks when it tries to copy the local scm file.

============== %< ==================
ERROR: unpack                                                                                 
ERROR: app-office/gnucash-3.8b::local failed (unpack phase):                                  
  Failed copying scm                                                                          
                                                                                              
Call stack:                                                                                   
    ebuild.sh, line 125:  Called src_unpack                                                   
  environment, line 4177:  Called die                                                         
The specific snippet of code:                                                                 
      cp "${FILESDIR}"/gnucash-3.4-test-stress-options.scm ${PN}-${PV}/${PN}/report/standard- │
reports/test/test-stress-options.scm || die "Failed copying scm"                              
============== %< ==================

with Floran's modification, the ebuild succeeds.
Comment 4 Ștefan Talpalaru 2020-03-07 18:20:29 UTC
A working gnucash-3.8b ebuild is available in my overlay: https://github.com/stefantalpalaru/gentoo-overlay
Comment 5 Karl-Johan Karlsson 2020-03-21 08:35:36 UTC
Gnucash 3.7, the newest in Portage, no longer builds due to dev-libs/glib being too new. See e.g. https://bugs.funtoo.org/browse/FL-6854 or http://gnucash.1415818.n4.nabble.com/GNC-dev-Compiling-not-working-td4714050.html. What can I do to help get a 3.8 package released?
Comment 6 Aaron W. Swenson gentoo-dev 2020-03-23 16:48:47 UTC
I don't see how any of the proposed ebuilds work for any of you as the examples directory doesn't exist and can't be removed. So, that fails to emerge.

Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples.

Further, after I've resolved that, when I run emerge again (emerge gnucash && emerge gnucash) I run into:

===============================================
VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: symlink
S: deny
P: COPYING
A: /usr/share/doc/gnucash-3.8b/COPYING
R: /usr/share/doc/gnucash-3.8b/COPYING
C: /usr/bin/cmake -E create_symlink LICENSE COPYING
===============================================

Additionally, tests are failing en masse.

All of the ebuilds proposed failed for me, including mine. This needs a bit more work.

I am working on this in my repo:

https://github.com/titanofold/titanofold-gentoo-x86/tree/master/app-office/gnucash
Comment 7 Ștefan Talpalaru 2020-03-23 17:21:40 UTC
> Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples.

What revision and what issue?

> All of the ebuilds proposed failed for me

How? Not only did I install the package using my ebuild, but I'm using it regularly for my personal accounting. The USE flags I enable:

[I] app-office/gnucash
     Available versions:  3.2-r2 3.3 (~)3.3-r1 (~)3.4 3.5 (~)3.6^t (~)3.7^t (~)3.8b[1] {aqbanking chipcard debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes -register2 smartcard sqlite test PYTHON_SINGLE_TARGET="(+)python3_6 python3_7 python3_8"}
     Installed versions:  3.8b[1](07:15:48 PM 03/07/2020)(gui nls ofx python sqlite -aqbanking -chipcard -debug -doc -examples -gnome-keyring -mysql -postgres -quotes -register2 -test PYTHON_SINGLE_TARGET="python3_6 -python3_7 -python3_8")

I even did a `USE="examples" ebuild gnucash-3.8b.ebuild clean install` and it builds and installs just fine.
Comment 8 Aaron W. Swenson gentoo-dev 2020-03-23 23:48:37 UTC
(In reply to Ștefan Talpalaru from comment #7)
> > Stefan's doesn't actually use the latest revision, and it runs into the same issue with examples.
> 
> What revision and what issue?

If you used the latest revision, you'd have smartcard instead of chipcard in IUSE. This change was made September 22, 2019. (commit 9f28590183fc5f09849aba01843951212bb80a9d)

Also, you'd be using the Github SRC_URI. I already stated the issue with examples. However, I should have stated that it's the ${ED%/}/usr/share/doc/gnucash directory that's nonexistent.

I did keep a couple of the edits you've made.

> 
> > All of the ebuilds proposed failed for me
> 
> How? Not only did I install the package using my ebuild, but I'm using it
> regularly for my personal accounting. The USE flags I enable:
> 
> [I] app-office/gnucash
>      Available versions:  3.2-r2 3.3 (~)3.3-r1 (~)3.4 3.5 (~)3.6^t (~)3.7^t
> (~)3.8b[1] {aqbanking chipcard debug doc examples gnome-keyring +gui mysql
> nls ofx postgres python quotes -register2 smartcard sqlite test
> PYTHON_SINGLE_TARGET="(+)python3_6 python3_7 python3_8"}
>      Installed versions:  3.8b[1](07:15:48 PM 03/07/2020)(gui nls ofx python
> sqlite -aqbanking -chipcard -debug -doc -examples -gnome-keyring -mysql
> -postgres -quotes -register2 -test PYTHON_SINGLE_TARGET="python3_6
> -python3_7 -python3_8")
> 
> I even did a `USE="examples" ebuild gnucash-3.8b.ebuild clean install` and
> it builds and installs just fine.

The 'mv "${ED%/}"/usr/share/doc/gnucash "${ED%/}"/usr/share/doc/${PF}/examples' statement is followed by an '|| die'. Because ${ED}/usr/share/doc/gnucash doesn't exist, the mv (and related rm) statement should fail and thus, die. If it doesn't for you, we need to figure out why. Presumably, the Sourceforge and Github tarballs are the same.

Additionally, try running "emerge gnucash && emerge gnucash". I'm running into a sandbox violation the second time with 3.8b (not 3.7 to 3.8b; 3.8b replaced by 3.8b). Clean installs aren't hitting that..

As for the tests not running, I solved it by using eninja in place of emake in src_test().
Comment 9 Ștefan Talpalaru 2020-03-24 02:22:54 UTC
> If you used the latest revision, you'd have smartcard instead of chipcard in IUSE.

Oh, you mean the main tree version of the ebuild. OK, I'll port the relevant changes from there.

> This change was made September 22, 2019

That's cool. I've been maintaining an out-of-tree version since August 2016: https://github.com/stefantalpalaru/gentoo-overlay/commits/master/app-office/gnucash

> The 'mv "${ED%/}"/usr/share/doc/gnucash "${ED%/}"/usr/share/doc/${PF}/examples' statement is followed by an '|| die'.

Same here:

		mv "${ED%/}"/usr/share/doc/gnucash \
		   "${ED%/}"/usr/share/doc/${PF}/examples || die

Doesn't die with USE="examples".

> Presumably, the Sourceforge and Github tarballs are the same.

Yes, they're the same.

The most relevant difference between our ebuilds seems to be this patch of yours that I don't use: https://github.com/titanofold/titanofold-gentoo-x86/blob/master/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch

> try running "emerge gnucash && emerge gnucash".

Runs just fine on my system. `USE="examples" emerge gnucash && USE="examples" emerge gnucash` does too.
Comment 10 Dennis Schridde 2020-03-26 20:27:53 UTC
(In reply to Karl-Johan Karlsson from comment #5)
> Gnucash 3.7, the newest in Portage, no longer builds due to dev-libs/glib
> being too new.

See-Also: https://bugs.gentoo.org/show_bug.cgi?id=714920
Comment 11 Aaron W. Swenson gentoo-dev 2020-03-27 15:46:51 UTC
My other machine was having a bit of trouble. Turned out either net-libs/aqbanking or sys-libs/gwenhywfar needed to be rebuilt. I rebuilt both. To do things cleanly, I had to bump the version requirements on those packages.

I've resolved the access violation by removing the bit installing the LICENSE file. It was the symlink creation on the second go round that was causing the issue. However, since it's redundant, we can just strip it out.

The rm failures aren't so severe as it's just cleanup. So, the `|| die` really aren't needed. Nothing breaks if we have a useless file in the docs directory.

I need to make another tweak, but anyone using the GUI won't have an issue.

My repo has the most up to date version:
https://github.com/titanofold/titanofold-gentoo-x86/tree/master/app-office/gnucash

Please try it and let me know if any of you have trouble.
Comment 12 Larry the Git Cow gentoo-dev 2020-03-28 21:46:31 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a445dde57a57fd7eecd4ddf7939c541f2bba085

commit 7a445dde57a57fd7eecd4ddf7939c541f2bba085
Author:     Aaron W. Swenson <titanofold@gentoo.org>
AuthorDate: 2020-03-28 21:39:40 +0000
Commit:     Aaron W. Swenson <titanofold@gentoo.org>
CommitDate: 2020-03-28 21:46:19 +0000

    app-office/gnucash: Bump to 3.8b
    
    Bump to EAPI 7. Switch to ninja to run tests instead of GNU make.
    
    Install example files into their own directory.
    
    No longer install redundant license file. This also prevents a sandbox
    violation.
    
    Because net-libs/aqbanking dropped the gtk USE flag, we've increased the version
    requirement, and trigger the gtk USE flag on sys-libs/gwenhywfar directly. Also,
    make the >dev-libs/libofx dependent on the subslot as well.
    
    Bug: https://bugs.gentoo.org/714920
    Bug: https://bugs.gentoo.org/704632
    Bug: https://bugs.gentoo.org/692626
    
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>

 app-office/gnucash/Manifest                        |   1 +
 .../files/gnucash-3.8-examples-subdir.patch        |  10 +
 .../files/gnucash-3.8-exclude-license.patch        |  32 ++++
 app-office/gnucash/gnucash-3.8b.ebuild             | 206 +++++++++++++++++++++
 4 files changed, 249 insertions(+)
Comment 13 Karl-Johan Karlsson 2020-03-29 10:28:24 UTC
When upgrading to the 3.8b ebuild from comment 12, Portge wants to install sys-libs/gwenhywfar:

   These are the packages that would be merged, in order:

   Calculating dependencies... done!
   [ebuild  N     ] sys-libs/gwenhywfar-5.1.2  USE="-debug -designer -doc (-fox) gtk -libressl -qml qt5 -sensors -serialport -test -webkit"
   [ebuild     U  ] app-office/gnucash-3.8b [3.7] PYTHON_SINGLE_TARGET="-python3_7% -python3_8%"

Previously, that dependency was conditional on USE="aqbanking":

   $ grep --before-context=4 'gwenhywfar.*gtk' /var/db/repos/gentoo/app-office/gnucash/gnucash-3.7.ebuild 
        gui? (
                gnome-base/dconf
                net-libs/webkit-gtk:4=
                >=x11-libs/gtk+-3.14.0:3
                aqbanking? ( >=sys-libs/gwenhywfar-4.20.2[gtk] )

That condition has been removed in 3.8b:

        gui? (  
                >=x11-libs/gtk+-3.14.0:3
                gnome-base/dconf
                net-libs/webkit-gtk:4=
                sys-libs/gwenhywfar[gtk]
        )

Was this intentional? I can see nothing in the Gnucash docs that suggest sys-libs/gwenhywfar is required if you are not using aqbanking.
Comment 14 Aaron W. Swenson gentoo-dev 2020-03-30 16:18:15 UTC
(In reply to Karl-Johan Karlsson from comment #13)
> Was this intentional? I can see nothing in the Gnucash docs that suggest
> sys-libs/gwenhywfar is required if you are not using aqbanking.

Nope. It was unintentional. Thanks for pointing it out. I'll get it fixed in a revbump either today or tomorrow.
Comment 15 Larry the Git Cow gentoo-dev 2020-04-03 17:30:30 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28c81d28176d8f2e6a0ee96b8195a9ce7035b44a

commit 28c81d28176d8f2e6a0ee96b8195a9ce7035b44a
Author:     Aaron W. Swenson <titanofold@gentoo.org>
AuthorDate: 2020-04-03 17:30:09 +0000
Commit:     Aaron W. Swenson <titanofold@gentoo.org>
CommitDate: 2020-04-03 17:30:14 +0000

    app-office/gnucash: Dep & python fix
    
    Correct mistaken change on sys-libs/gwenhywfar dependency. It's only needed with
    net-libs/aqbanking. Thanks to Karl-Johan Karlsson for spotting the error.
    
    Also, address QA warning by optimizing Python code. Thanks to Chris Mayo for
    submitting the fix.
    
    Bug: https://bugs.gentoo.org/715344
    Bug: https://bugs.gentoo.org/704632
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>

 app-office/gnucash/gnucash-3.8b-r1.ebuild | 211 ++++++++++++++++++++++++++++++
 1 file changed, 211 insertions(+)