Subject Re: [firebird-support] Re: Non-interactive setup for travis-ci.org
Author Mateusz Loskot
On 16 February 2013 20:54, philippe makowski <pmakowski@...> wrote:
> mateuszloskot [2013-02-15 13:53] :
>> [...]
>> Firebird installation:
>>
>> sudo dpkg-reconfigure firebird2.5-super
>>
>> My first question is, how can I install, configure and run Firebird
>> without interactive steps?
>>
>> I have found that someone asked similar question to mine,
>> followed with suggestion to set ENABLE_FIREBIRD_SERVER in /etc/default/firebird2.5 file [2].
>> Then, my travis.yml config file [3] can execute:
>>
>> sed /ENABLE_FIREBIRD_SERVER=/s/no/yes/ -i /etc/default/firebird2.5
>>
>> Is this the recommended way to do it?
> First this more a Debian problem than a Firebird problem

Yes, I understand that.

> Second it seems that it solved :
> https://github.com/travis-ci/travis-cookbooks/issues/43

I pointed to that too, it's in discussion on travis-ci forum I linked
to in my first post:
https://groups.google.com/forum/#!topic/travis-ci/UxlnE5t9sTE/discussion

But, it seems it's never been released on Travis CI the hosted at travis-ci.org.
IOW, it's of little use for end users.

>> Next, I will have to create a new empty database which tests runner
>> will connect to, using required connection string,
>> and run tests against the database.
>>
>> What's the recommended way to create a database non-interactively?
>>
> isql with a sql script
> http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/isql-switches.html
>
> in that script you can write :
> CREATE DATABASE ...

Got it, thanks.


Anyway, with little help from folks on #firebird IRC channel, I
managed to set up Firebird for
my project. It basically involves the following steps executed from .travis.yml
(https://github.com/SOCI/soci/blob/master/.travis.yml):

- sudo apt-get update -qq
- sudo apt-get install -qq firebird2.5-super firebird2.5-dev
- sudo sed /ENABLE_FIREBIRD_SERVER=/s/no/yes/ -i /etc/default/firebird2.5
- sudo service firebird2.5-super start
- echo 'CREATE DATABASE "LOCALHOST:/tmp/soci_test.fdb" PAGE_SIZE =
16384;' > /tmp/create_soci_test.sql
- isql-fb -u SYSDBA -p masterkey -i /tmp/create_soci_test.sql -q

Then, I feed my tests runner with the folliwing connection string:

"service=LOCALHOST:/tmp/soci_test.fdb user=SYSDBA password=masterkey"

Everything works well.

Best regards
--
Mateusz Loskot, http://mateusz.loskot.net