[GNC-dev] Building 3.5 package for Disco

Stephen M. Butler kg7je at arrl.net
Tue Apr 30 11:19:49 EDT 2019


OK.  I'll dig in and see if I can make sense of the tool and the file
debian folder I found on the Debian site for GnuCash 3.4.  Guess I
should be thankful it worked so well out of the box for Ubuntu 18.04.

--Steve

PS.  I keep hoping Demintry (sp?) will post one for GnuCash 3.5 and I
can swipe that!

On 4/30/19 7:29 AM, John Ralls wrote:
> The arguments I gave you are for the cmake command line. I don't know the packaging tool you're using, but it's obviously constructing a cmake command line out of compressed arguments: The snippet --with python3,aqbanking would be passed to cmake as -D WITH_PYTHON=ON -D WITH_AQBANKING=ON.
>
> You'll need to read the docs on the packaging tool to find out how to set other kinds of cmake options.
>
> Regards,
> John Ralls
>
>
>> On Apr 29, 2019, at 7:48 PM, Stephen M. Butler <kg7je at arrl.net> wrote:
>>
>> On 4/26/19 4:04 PM, John Ralls wrote:
>>>> On Apr 26, 2019, at 10:04 AM, Stephen M. Butler <kg7je at arrl.net> wrote:
>>>>
>>>> Based on the following, have I run into a problem with googletest on
>>>> Disco?  Additional Guidance sure appreciated.
>>>>
>>> Just point GnuCash at the source directories with -DGTEST_ROOT and -DGMOCK_ROOT. It will take care of building them.
>>>
>>> Regards,
>>> John Ralls
>>>
>>>
>> Showing my ignorance now.  Found this line in the rules file:
>>
>> dh $@ --buildsystem=cmake --with python3,aqbanking --builddirectory=.build
>>
>> Only place in the file that I found 'cmake'.  Modified the line to say:
>>
>> dh $@ --buildsystem=cmake --with python3,aqbanking
>> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
>> -DGMOCK_ROOT=/usr/src/googletest/googlemock
>>
>> Now both the clean and build report problems:
>>
>> $ fakeroot debian/rules clean
>> dh clean --buildsystem=cmake --with python3,aqbanking
>> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
>> -DGMOCK_ROOT=/usr/src/googletest/googlemock
>>    dh_testdir -O--buildsystem=cmake -O--builddirectory=.build
>> -O-DGTEST_ROOT=/usr/src/googletest/googletest
>> -O-DGMOCK_ROOT=/usr/src/googletest/googlemock
>>    debian/rules override_dh_auto_clean
>> make[1]: Entering directory '/home/steve/Projects/GnuCash/gnucash'
>> rm -f -rv .build/__gtest */*/*/.libs */*/.libs
>> find . -type l -exec rm -v \{\} \;
>> rm -fv debian/gnucash-icon-32x32.xpm
>> dh_auto_clean
>> Use of uninitialized value $abspath in -d at
>> /usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 133.
>> dh_auto_clean: invalid or non-existing path to the source directory:
>> GMOCK_ROOT=/usr/src/googletest/googlemock
>> make[1]: *** [debian/rules:32: override_dh_auto_clean] Error 2
>> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
>> make: *** [debian/rules:26: clean] Error 2
>>
>>
>> $ dpkg-buildpackage -rfakeroot -b -uc
>> dpkg-buildpackage: info: source package gnucash
>> dpkg-buildpackage: info: source version 1:3.5
>> dpkg-buildpackage: info: source distribution disco
>> dpkg-buildpackage: info: source changed by Steve Butler
>> <Stephen.M.Butler at gmail.com>
>> dpkg-buildpackage: info: host architecture amd64
>>  dpkg-source --before-build .
>> dpkg-source: info: using options from gnucash/debian/source/options:
>> --extend-diff-ignore=(^|/)(src/scm/build-config.scm)$
>>  fakeroot debian/rules clean
>> dh clean --buildsystem=cmake --with python3,aqbanking
>> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
>> -DGMOCK_ROOT=/usr/src/googletest/googlemock
>>    dh_testdir -O--buildsystem=cmake -O--builddirectory=.build
>> -O-DGTEST_ROOT=/usr/src/googletest/googletest
>> -O-DGMOCK_ROOT=/usr/src/googletest/googlemock
>>    debian/rules override_dh_auto_clean
>> make[1]: Entering directory '/home/steve/Projects/GnuCash/gnucash'
>> rm -f -rv .build/__gtest */*/*/.libs */*/.libs
>> find . -type l -exec rm -v \{\} \;
>> rm -fv debian/gnucash-icon-32x32.xpm
>> dh_auto_clean
>> Use of uninitialized value $abspath in -d at
>> /usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 133.
>> dh_auto_clean: invalid or non-existing path to the source directory:
>> GMOCK_ROOT=/usr/src/googletest/googlemock
>> make[1]: *** [debian/rules:32: override_dh_auto_clean] Error 2
>> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
>> make: *** [debian/rules:26: clean] Error 2
>> dpkg-buildpackage: error: fakeroot debian/rules clean subprocess
>> returned exit status 2
>>
>>
>> Here are the files in /usr/src/googletest:
>>
>> $ cd /usr/src/googletest
>> $ ls -l
>> total 12
>> -rw-r--r--  1 root root  584 Aug 31  2018 CMakeLists.txt
>> drwxr-xr-x 10 root root 4096 Apr 21 20:36 googlemock
>> drwxr-xr-x 15 root root 4096 Apr 26 09:45 googletest
>>
>>
>> And lines 130ff in /usr/share/perl5/Debian/Debhelper/Buildsystem.pm are:
>>
>>                 # Get relative sourcedir abs_path (without symlinks)
>>                 my $abspath = Cwd::abs_path($opts{sourcedir});
>>                 if (! -d $abspath || $abspath !~ /^\Q$this->{cwd}\E/) {
>>                         error("invalid or non-existing path to the
>> source directory: ".$opts{sourcedir});
>>                 }
>>                 $this->{sourcedir} = File::Spec->abs2rel($abspath,
>> $this->{cwd});
>>         }
>>
>> --Steve (in the deep water without my scuba gear)
>>
>> -- 
>> Stephen M Butler, PMP, PSM
>> Stephen.M.Butler51 at gmail.com
>> kg7je at arrl.net
>> 253-350-0166
>> -------------------------------------------
>> GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
>>
>>
>

-- 
Stephen M Butler, PMP, PSM
Stephen.M.Butler51 at gmail.com
kg7je at arrl.net
253-350-0166
-------------------------------------------
GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8



More information about the gnucash-devel mailing list