[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [be] Re: bibledit-3.3 released
From: |
Neil Mayhew |
Subject: |
Re: [be] Re: bibledit-3.3 released |
Date: |
Thu, 19 Jun 2008 16:35:18 -0600 |
User-agent: |
Mozilla-Thunderbird 2.0.0.14 (X11/20080509) |
On 18/06/08 10:41 PM Teus Benschop wrote:
Neil Mayhew wrote:
I'm not sure this should be a requirement of the build process. git
needs to be on the machine where bibledit will run, but as far as I
can tell it's not needed to build bibledit. So I don't think the
configure script should require it.
Without the git program bibledit is rather crippled. For that reason
the ./configure script checks that git is there. The configure script
also check that zip is there, and tee, and unzip and gzip, and so on,
a whole lot of dependencies that are not needed to build, but are
required for proper operation of Bibledit.
I agree, but I don't think that configure is the right place to do it.
Git is required at ./configure stage, because I am afraid that if this
would not be done there would be people who just install it without
git, and forget about the rest being lazy, and then make support calls
saying this or that functionality does not work, and what to do.
Again, I see your point, but configure doesn't entirely solve the
problem. It does, for people building from source and installing on the
same machine, but hopefully this will become quite rare as Bibledit
becomes packaged (and kept up-to-date) for various systems. However, it
doesn't solve the problem for someone who is given a binary from a
friend, or who copies it to one of their other computers, or who
subsequently removes one of the necessary packages (like git) from their
system.
I think it would be much better to have a check in Bibledit at startup,
so that it refuses to run if git, zip, tee, gzip etc. aren't there. You
can do that like this:
if (system("which git") != 0 || system("which zip") != 0 || ... )
refuseToRun();
You could, of course, factor that into a subroutine that takes an array
of command names and returns a single result.
--Neil