[GNC-dev] Building 3.5 package for Disco

Stephen M. Butler kg7je at arrl.net
Mon Apr 29 22:48:09 EDT 2019


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




More information about the gnucash-devel mailing list