GNOME Bugzilla – Bug 746977
scm ccache files should be in pkglibdir not pkgdatadir
Last modified: 2018-06-29 23:39:55 UTC
The scm ccache files that are installed to pkgdatadir are architecture-dependent (they rely on endianness and integer size) so they should be installed to pkglibdir instead. http://www.gnu.org/prep/standards/html_node/Directory-Variables.html This makes packaging awkward on Debian/Ubuntu as the pkgdatadir files would normally go into the architecture-independent package. Moving only the ccache files requires patching src/bin/environment.in and all the Makefiles. src/report/report-system/Makefile.am has inconsistent variable names with the other directories, "gncmodscmcachedir" should be changed to "gncscmrptcachedir".
Created attachment 300542 [details] [review] Patch against 2.6.5 to move the ccache directory
Created attachment 300544 [details] [review] Patch against 2.6.6 to move the ccache directory There are other further problems on Debian/Ubuntu because the timestamps on the .scm files in the gnucash-common package will only match the gnucash package for i386 and the amd64 version may have older precompiled files depending on which build finishes first.
(In reply to Simon Arlott from comment #2) > There are other further problems on Debian/Ubuntu because the timestamps on > the .scm files in the gnucash-common package will only match the gnucash > package for i386 and the amd64 version may have older precompiled files > depending on which build finishes first. A quick "find debian/tmp/usr/share/gnucash/scm -name \*.scm -exec touch -t 201503282004.45 \{\} \;" to make the .scm file timestamp match the (earlier) source archive solved that problem. Package maintainers need to be aware of this issue if you want the precompiled files to be used.
Review of attachment 300544 [details] [review]: Thank you for bringing up this issue and for providing a patch. I have committed this to our source repository and it will still be included in gnucash 2.6.6. Note that while they are in the release tarballs the Makefile.in files are not in our source repository. As such your corrections in those files are discarded from the commit. The Makefile.in files will inherit the proper fixes when the release tarball will be made though.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=746977. Please update any external references or bookmarks.