Difference between revisions of "Gentoo"

From GnuCash
Jump to: navigation, search
(Formatting; technology is called *ofx* direct connect.)
Line 2: Line 2:
  
 
There are 5 options for running gnucash on Gentoo:
 
There are 5 options for running gnucash on Gentoo:
* 2.0.x : official portage unstable ebuild with direct connect
+
* 2.0.x : official portage unstable ebuild with OFX direct connect
 
* 1.8.x : official portage stable ebuild
 
* 1.8.x : official portage stable ebuild
 
* 1.9.x : non-portage, overlay-able, ebuild of the development releases.  See [http://bugs.gentoo.org/show_bug.cgi?id=122337 Bug#122337].
 
* 1.9.x : non-portage, overlay-able, ebuild of the development releases.  See [http://bugs.gentoo.org/show_bug.cgi?id=122337 Bug#122337].
Line 36: Line 36:
 
     =gnome-extra/libgsf-1.13.3 ~x86
 
     =gnome-extra/libgsf-1.13.3 ~x86
  
= For GnuCash 2.0.x with direct connect=
+
= For GnuCash 2.0.x with OFX direct connect=
  
 
Here is what you need, and the order is important:
 
Here is what you need, and the order is important:
  
  1]. Make sure you libofx-0.8.2 or greater installed
+
# Make sure you libofx-0.8.2 or greater installed
  2]. Make sure you have aqbanking-2.2.1 or better with "USE=hbci" installed
+
# Make sure you have aqbanking-2.2.1 or better with "USE=hbci" installed
  3]. Finally emerge gnucash-2.0.1 or better with "USE= ofx hbci"
+
# Finally emerge gnucash-2.0.1 or better with "USE= ofx hbci"
  
 
=Problems=
 
=Problems=
Line 50: Line 50:
 
====Emerging libofx-0.8.2====
 
====Emerging libofx-0.8.2====
  
This version or better of the package is necessary for direct connect support.
+
This version or better of the package is necessary for OFX direct connect support.
 
As of current speaking (see above) this package is not availabe in gentoo  
 
As of current speaking (see above) this package is not availabe in gentoo  
 
portage.  So you will have to use an custom overlay e-build. Do i hear some
 
portage.  So you will have to use an custom overlay e-build. Do i hear some
 
bitch and moan?  Don't worry this is real easy. Here is what you got to do:
 
bitch and moan?  Don't worry this is real easy. Here is what you got to do:
  
  1]. Emerge the current available version of libofx, which currently is libofx-0.8.1-r1
+
* Emerge the current available version of libofx, which currently is libofx-0.8.1-r1
  2]. Create the following directory
+
* Create the following directory
        a). $ mkdir -p /usr/local/portage/dev-libs/libofx
+
  $ mkdir -p /usr/local/portage/dev-libs/libofx
  3]. Make portage aware of your overlay directory
+
* Make portage aware of your overlay directory
        a). $ echo 'PORTDIR_OVERLAY=/usr/local/portage' >> /etc/make.conf
+
  $ echo 'PORTDIR_OVERLAY=/usr/local/portage' >> /etc/make.conf
  4]. Copy libofx-0.8.1-r1 e-build and patches to new overlay directory
+
* Copy libofx-0.8.1-r1 e-build and patches to new overlay directory
        a). $ cp -R /usr/portage/dev-libs/libofx/libofx-0.8.1-r1.ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild
+
  $ cp -R /usr/portage/dev-libs/libofx/libofx-0.8.1-r1.ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild
  5]. Finally copy any patches (you proboably will not need these but just in case)
+
* Finally copy any patches (you proboably will not need these but just in case)
        a). $ cp -R /usr/portage/dev-libs/libofx/files/* /usr/local/portage/dev-libs/libofx/files/
+
  $ cp -R /usr/portage/dev-libs/libofx/files/* /usr/local/portage/dev-libs/libofx/files/
  6]. Make a digest
+
* Make a digest
        a). $ ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild digest
+
  $ ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild digest
  
  
Line 75: Line 75:
 
   inherit utils
 
   inherit utils
  
If you do comment it out.  The line tells the e-build to apply patches, it is highly likely you don't need it (more below).
+
If this line exists, comment it out.  The line tells the e-build to apply patches, and it is highly likely you don't need it (more below).
  
 
   #inherit utils
 
   #inherit utils
  
Now look for the src_unpack routine, note it could be a little different, note the last three lines before the brace, that means a patch was applied.  The src_unpack routine in my case looked like this.
+
Now look for the src_unpack routine. Note it could be a little different, note the last three lines before the brace, that means a patch was applied.  The src_unpack routine in my case looked like this.
 
     src_unpack() {
 
     src_unpack() {
 
       unpack ${A}
 
       unpack ${A}
Line 92: Line 92:
 
     }
 
     }
  
It is highly proboable that the patch is included in the latest software version so,
+
It is highly probable that the patch is included in the latest software version so,
 
comment out the last three lines.
 
comment out the last three lines.
  
Line 118: Line 118:
 
====Emerging aqbanking 2.2.1====
 
====Emerging aqbanking 2.2.1====
  
The package aqbanking-2.2.1 and it's dependencies( gwenhywfwar-2.4.0 AND ktoblzcheck-1.11) are currently marked unstable in portage.   
+
The package aqbanking-2.2.1 and its dependencies( gwenhywfwar-2.4.0 AND ktoblzcheck-1.11) are currently marked unstable in portage.   
  
 
So to get it add these lines to /etc/portage/package.keywords before you emerge aqbanking.
 
So to get it add these lines to /etc/portage/package.keywords before you emerge aqbanking.

Revision as of 08:08, 11 September 2006

Options

There are 5 options for running gnucash on Gentoo:

  • 2.0.x : official portage unstable ebuild with OFX direct connect
  • 1.8.x : official portage stable ebuild
  • 1.9.x : non-portage, overlay-able, ebuild of the development releases. See Bug#122337.
  • svn-ebuild : non-portage, overlay-able, ebuild which pulls from SVN. See Bug#118862.
  • svn, direct : just build and install yourself, independent of portage

If you're unsure which you want, then you want either the 1.8.x stable version or the 1.9.x development/unstable version, and you probably want the latter.

Quickstart

 $ cd «your portage overlay dir»
 $ mkdir -p app-office/gnucash
 $ cd app-office/gnucash
 $ wget http://svn.gnucash.org/repo/gnucash/trunk/packaging/gnucash-1.9.x.ebuild -O gnucash-1.9.2.ebuild
 $ ebuild gnucash-1.9.2.ebuild digest
 $ emerge =gnucash-1.9.2

Notes

If you're unfamiliar with how to setup an portage overlay, see the Gentoo Handbook's section on adding unoffical ebuilds.

The 1.9.x and svn ebuilds use the same ebuild script, which changes its behavior based on the package name ("gnucash" or "gnucash-svn").

The 1.9.x ebuild DEPENDs on the currently (2006-03-06) keyworded x11-libs/goffice ebuild, which itself depends on a masked gnome-extra/libgsf ebuild. As the gnucash ebuild it itself keyworded ~x86 (and ~amd64), you'll need to add all 3 to your /etc/portage/package.keywords file:

   =app-office/gnucash-1.9.2 ~x86
   =x11-libs/goffice-0.1.0 ~x86
   =gnome-extra/libgsf-1.13.3 ~x86

For GnuCash 2.0.x with OFX direct connect

Here is what you need, and the order is important:

  1. Make sure you libofx-0.8.2 or greater installed
  2. Make sure you have aqbanking-2.2.1 or better with "USE=hbci" installed
  3. Finally emerge gnucash-2.0.1 or better with "USE= ofx hbci"

Problems

The following are some problems you (i did as of Sept. 9 2006) might run into:

Emerging libofx-0.8.2

This version or better of the package is necessary for OFX direct connect support. As of current speaking (see above) this package is not availabe in gentoo portage. So you will have to use an custom overlay e-build. Do i hear some bitch and moan? Don't worry this is real easy. Here is what you got to do:

  • Emerge the current available version of libofx, which currently is libofx-0.8.1-r1
  • Create the following directory
  $ mkdir -p /usr/local/portage/dev-libs/libofx
  • Make portage aware of your overlay directory
  $ echo 'PORTDIR_OVERLAY=/usr/local/portage' >> /etc/make.conf
  • Copy libofx-0.8.1-r1 e-build and patches to new overlay directory
  $ cp -R /usr/portage/dev-libs/libofx/libofx-0.8.1-r1.ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild
  • Finally copy any patches (you proboably will not need these but just in case)
  $ cp -R /usr/portage/dev-libs/libofx/files/* /usr/local/portage/dev-libs/libofx/files/
  • Make a digest
  $ ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild digest


Now edit the ebuild file by running

  $ nano /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild

Look for a line at the top of the file that looks like this (you might not have it)

  inherit utils

If this line exists, comment it out. The line tells the e-build to apply patches, and it is highly likely you don't need it (more below).

  #inherit utils

Now look for the src_unpack routine. Note it could be a little different, note the last three lines before the brace, that means a patch was applied. The src_unpack routine in my case looked like this.

   src_unpack() {
     unpack ${A}
     # because we redefine docdir in src_install, we need to make sure the
     # dtd's go to the right place, LIBOFX_DTD_DIR
     cd "${S}"/dtd
     sed -i -e 's/$(DESTDIR)$(docdir)/$(DESTDIR)$(LIBOFX_DTD_DIR)/g' \
          Makefile.in
     cd "${S}"
     # bug 116208
     epatch "${FILESDIR}"/${P}-tree.diff
   }

It is highly probable that the patch is included in the latest software version so, comment out the last three lines.

   src_unpack() {
     unpack ${A}
     # because we redefine docdir in src_install, we need to make sure the
     # dtd's go to the right place, LIBOFX_DTD_DIR
     cd "${S}"/dtd
     sed -i -e 's/$(DESTDIR)$(docdir)/$(DESTDIR)$(LIBOFX_DTD_DIR)/g' \
          Makefile.in
     #cd "${S}"
     # bug 116208
     #epatch "${FILESDIR}"/${P}-tree.diff
   }

Save the e-build file, if you made any changes. NOTE: If you made any changes to the e-build file run the digest command again.

   $ ebuild /usr/local/portage/dev-libs/libofx/libofx-2.0.1.ebuild digest

Now just emerge libofx and you should be upgraded 0.8.2

   $ emerge libofx


Emerging aqbanking 2.2.1

The package aqbanking-2.2.1 and its dependencies( gwenhywfwar-2.4.0 AND ktoblzcheck-1.11) are currently marked unstable in portage.

So to get it add these lines to /etc/portage/package.keywords before you emerge aqbanking.

    $ echo 'net-libs/aqbanking ~x86' >> /etc/portage/package.keywords
    $ echo 'sys-libs/gwenhwywfar ~x86' >> /etc/portage/package.keywords
    $ echo 'app-misc/ktoblzcheck ~x86' >> /etc/portage/package.keywords