[GNC-dev] archive of GnuCash

John Ralls jralls at ceridwen.us
Tue Nov 12 22:56:28 EST 2019



> On Nov 12, 2019, at 4:39 PM, Stephen M. Butler <kg7je at arrl.net> wrote:
> 
> On 11/12/19 4:25 PM, John Ralls wrote:
>>> On Nov 12, 2019, at 2:10 PM, Stephen M. Butler <kg7je at arrl.net> wrote:
>>> 
>>> On 11/12/19 1:21 PM, John Ralls wrote:
>>>>> On Nov 12, 2019, at 12:58 PM, Stephen M. Butler <kg7je at arrl.net> wrote:
>>>>> 
>>>>> How is the archive generated that is used as the source for distribution?
>>>>> <<snip>>
>>>>> 
>>>> make (or ninja) dist
>>>> 
>>>> distcheck will make the tarballs then untar one of them, build, test, and clean. It passes only if all of that works and there isn't anything left over.
>>>> 
>>>> Regards,
>>>> John Ralls
>>> 
>>> After setting GMOCK_ROOT to /usr/src/googletest/googlemock, and doing
>>> make dist, I get:
>>> 
>>> CMake Error at doc/CMakeLists.txt:50 (file):
>>>  file failed to open for writing (Permission denied):
>>> 
>>>    /home/steve/Projects/GnuCash/gnucash/doc/tip_of_the_day.list
>>> 
>>> 
>>> CMake Error at libgnucash/doc/design/CMakeLists.txt:29 (file):
>>>  file failed to open for writing (Permission denied):
>>> 
>>>    /home/steve/Projects/GnuCash/gnucash/libgnucash/doc/design/version.texi
>>> 
>>> 
>>> CMake Error at libgnucash/doc/design/CMakeLists.txt:30 (file):
>>>  file failed to open for writing (Permission denied):
>>> 
>>>    /home/steve/Projects/GnuCash/gnucash/libgnucash/doc/design/stamp-vti
>>> 
>>> 
>>> Looks like a lot of files have only the read bit set.  Should I reclone
>>> the repository and checkout 3.7 again?
>> Please remember to copy the list on all replies.
>> 
>> Since I can't drive your computer I don't know what you've put in /home/steve/Projects/Gnucash/gnucash. Is it a source or a build directory? If it's source, is it from a tarball checkout or a git clone? If it's source and from a git clone, why is make trying to write doc/tip_of_the_day.list into it? Does doc/tip_of_the_day.list already exist? If so, how did it get there, as it's a build product?
> 
> It's a git clone.  I've done some debian package builds that were
> supposed to go into ./.build -- who knows what might have gone wrong a
> time or two (or more).
> 
>> 
>> On the other hand, if it's a build directory (and it should be) why would you think that recloning the source directory would affect the permissions in the build directory? If make is creating files r-r-r then most likely your umask is messed up. Fix that, delete the directory, and re-run cmake.
>> If it's both, don't do that.
> I was already coming to the point of creating the orig.tar.gz file and
> using that in another location for doing the debian package creation. 
> So, with red face, ya, I did both. 
>> 
>> Suggestion going forward: Name your directories to indicate what's what. For example on Linux where I need build only GnuCash itself I use ~/gnucash-git for the git working directory and ~/gnucash-build for the build directory. If I need to build a bunch of dependencies I'll group them under whatever key parameters define the build and separate the source, build, and install trees, perhaps ~/gnucash-x86_64-maint/src/gnucash-git, ~/gnucash-x86_64-maint/build/gnucash-git, ~/gnucash-x86_64-maint/inst/.
> 
> OK.  We'll start with a clean clone and then attempt to create the
> tarball of 3.7.  When that works we'll figure out the next step.  Just
> to be sure I'm on the correct page, after the git clone:
> 
> cd into the clone
> 
> git checkout 3.7
> 
> make dist
> 

No. Anything involving make, ninja, cmake, gcc, clang, guild, etc. is a build operation and should happen in a build directory. So after getting the clone to the commit you want and assuming that the clone is in a directory named gnucash.git:

mkdir ../gnucash-build && cd ../gnucash-build
cmake -DWHATEVER_OPTIONS ../gnucash.git
make dist

Regards,
John Ralls



More information about the gnucash-devel mailing list