Thread 'Misconfiguration or identification of required client sources in ".gitignore"'

Message boards : BOINC client : Misconfiguration or identification of required client sources in ".gitignore"
Message board moderation

To post messages, you must log in.

AuthorMessage
ProfileJoseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 93640 - Posted: 12 Nov 2019, 3:33:22 UTC
Last modified: 12 Nov 2019, 3:38:37 UTC

Ran into a problem building both windows and Linux version of the boinc-master
Not going to submit this as an "issue" as maybe I didn't order the builds correctly. Maybe someone can decide if there is a problem or not
If so I will submit it as an issue unless it is already known

Background: Wanted to have single copy of Boinc source at my upstream and create working windows and Linux versions of same source.

Created private upstream "boinc-master" empty
Created local git repository on my windows system and downloaded the full "zip" from the boinc repository (thanks!)
Initialized and pushed the local repository to my upstream
On my Linux system I did a git clone of my upstream and attempted a build which failed

The Linux build failed because (among other missing items) the file "client\scripts\boinc_client.im was missing
I looked in .gitignore and sure enough that file was excluded with the comment "build by configure"
that means when I did my upstream "push" that file was not pushed and as a result did not show up in the clone.

I don't believe that file is created by "configure" and assume the comment in .gitignore is incorrect.

The order of building the client on Linux is to run the scripts
./_automake
./configure --disable-server --disable-manager


that "automake" script fails and reports (among other stuff)
configure.ac:1289: error: required file 'client/scripts/boinc-client.in' not found
configure.ac:1289: error: required file 'client/scripts/boinc-client.service.in' not found


Since "configure" is done after _automake then it is not possible for those files to be created by "configure" (unless there is a neat trick)

I believe those two files (there are others) need to be removed from .gitignore or a change to "_automake" to create them.

I suspect that the developers work from a single copy of the sources when finalizing both Linux and windows versions. I am trying to do the same thing and it is strange that a "windows push" excludes required Linux files.
ID: 93640 · Report as offensive
ProfileJoseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 93650 - Posted: 12 Nov 2019, 13:26:43 UTC

Solved - sort of.

Should have started with the Linux one first, pushed it to the upstream then cloned the windows version.

However, if you start with the windows version then decide you want to clone the Linux you will need to remove or comment out the following files from .gitignore or you will be unable to build for Linux.
#pkginfo
#prototype
#client/scripts/boinc-client
#client/scripts/boinc-client.service

#py/Boinc/version.py
#py/setup.py


Probably just needs a warning in the build wiki to clone the windows from the Linux.
ID: 93650 · Report as offensive

Message boards : BOINC client : Misconfiguration or identification of required client sources in ".gitignore"

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.