Files
gnucash/packaging
Geert Janssens 1d528cd436 Bug #588414 - Got "Entry Point Not Found" errors starting GnuCash, but ran OK
The problem is caused by leftover files from a previous install.
The solution is to uninstall GnuCash before installing a new version in such cases.
This commit adds a compatibility test and uninstall step to the windows installer
that will automatically uninstall the previous gnucash release if it is considered
'incompatible' with the one to be installed. The user will be warned of this, so
he can decide to cancel the installation if he doesn't like the idea of uninstalling
his working GnuCash installation.
Currently, versions are considered 'incompatible' if their major or minor version
components are different, so 2.3.x is incompatible with 2.2.x and will trigger
an uninstall. Likewise, a 2.4.x install is incompatible with a 2.3.x and will
trigger an uninstall. This is a nice way to remove all testing 'cruft' from the 
system once the new release comes out.
Note that in the future installing 2.3.16+ over 2.4.x will also trigger the uninstall, which is
a good thing IMO. An older release can't know about changes made in a newer one,
so it's safer to first uninstall the newer one to avoid leftover files.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19528 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-09-01 13:09:57 +00:00
..

This directory contains spec files for building an RPM


  WATCH OUT: These spec file(s) might be heavily out of date and/or
  absolutely NOT SUITED to your distribution! They are particularly
  matched for the Fedora Core 4 distribution, but DO NOT USE THEM if
  you don't have exactly that distribution! Your own distribution
  probably has its own source RPM of gnucash, and this source RPM
  includes a spec file that is much better suited to your
  distribution.

  I repeat: DO NOT USE THIS SPEC file unless you either have Fedora
  Core 4 or you really know how you can modify it to suit your
  distribution.

  For German-speaking users, there are German build instructions for
  RPMs on http://linuxwiki.de/GnuCash/RpmInstallieren . 

------------------------------
Original file content:


Short instructions:

> I've never built an rpm; given a spec file, how do I do this?
> I understand the theory, just not clear on what to type up.

You'll need to be root in many distributions.  (It is possible to
avoid this requirement, but I haven't done the work to the RPM.) 
However, in some distributions (e.g. SuSE) these instructions will
work even as a normal user.

cd /usr/src/redhat/SOURCES
tar -zxvf xacc-1.x.tar.gz
cp xacc-1.x/rpm/xacc.spec ../SPECS
cp xacc-1.x/rpm/xacc.wmconfig .

cd /usr/src/redhat/SPECS
rpm -ba xacc.spec

wait a bit, and a new binary rpm will be in
/usr/src/redhat/RPMS/<arch> and a new src.rpm will be in
/usr/src/redhat/SRPMS.


================================

JPL version:

1) Obtain a GnuCash distribution (source code .tar.gz file), 
   either by downloading from an ftp site somewhere, or building
   from CVS using "make dist".  The file should have the nomenclature
   gnucash-X.Y.Z.tar.gz where X.Y.Z are the release numbers.

2) Copy and uncompress/tar the distribution in your 
   /usr/src/redhat/SOURCES directory.  You will need to do this as the 
   root user.  Note, use your distribution-specific path here, only 
   redhat uses "/usr/src/redhat".

   cd /usr/src/redhat/SOURCES
   cp /SOMEPATH/gnucash-X.Y.Z.tar.gz
   tar xvzf gnucash-X.Y.Z.tar.gz

3) Copy the rpm spec file to /usr/src/redhat/SPEC.

   cp gnucash-X.Y.Z/rpm/gnucash.spec /usr/src/redhat/SPECS/.
   
4) Edit the spec file, you probably will only need to modify the 
   following 3 lines, depending on what features you want to include 
   in the rpm:

   %define _with_postgres 0      (use postgres backend?)
   %define _with_ofx 0           (use openofx package?)
   %define _with_hbci 0          (use hbci package?)

5) Build the binary and source RPMs
   cd /usr/src/redhat/SPECS
   rpmbuild -ba gnucash.spec

   (note: older versions of rpm use "rpm -ba FILE.spec" to build) 
   
6) Wait a bit, and a new binary rpm will be in
   /usr/src/redhat/RPMS/<arch> and a new src.rpm will be in
   /usr/src/redhat/SRPMS.