Current ETICS clients
Recommended clients
- Development client (next release candidate): 1.6.15@client-dev
- For EMI builds, the recommended client is the default one: 1.6.14.
Default client (1.6.14)
The repackage versions are still the same as before for EMI 1:
- SL5: emi-1-sl5-x86_64 and emi-1-sl5-i386 (Mock configurations)
- Add the Custom Build Options
--repackage=emi-1-sl5-x86_64
- Add the Custom Build Options
--repackage=emi-1-sl5-i386
- SL6: emi-1-sl6-x86_64 (Mock configurations)
- Add the Custom Build Options
--repackage=emi-1-sl6-x86_64
- Debian6: emi-1-deb6-x86_64-test (Pbuilder configurations)
- Add the Custom Build Options
--repackage=emi-1-deb6-x86_64-test
For EMI 2 the repackage versions should be:
- SL5: emi-2-sl5-x86_64 and emi-2-sl5-i386 (Mock configurations)
- Add the Custom Build Options
--repackage=emi-2-sl5-x86_64
- Add the Custom Build Options
--repackage=emi-2-sl5-i386
- SL6: emi-2-sl6-x86_64 (Mock configurations)
- Add the Custom Build Options
--repackage=emi-2-sl6-x86_64
- Debian6: deb6-x86_64 (Pbuilder configurations)
- Add the Custom Build Options
--repackage=deb6-x86_64
Check below how to get and install it.
ETICS build instructions
Local build
In order to run locally the ETICS client, you need to have installed some prerequisites (these packages are not installed by the ETICS installation script and have to be present before running it):
- python-devel
- openssl
- openssl-devel
- flex
- gcc
- tar (>=1.20 recommended)
Configure a local ETICS worker node following these
instructions. If you do not need a special client version and you want to use the default one:
wget "http://eticssoft.web.cern.ch/eticssoft/repository/etics-client-setup.py" -O etics-client-setup
python etics-client-setup --skip-plugins
In order to build succesfully on some platforms, you need to use a still unreleased version of the etics-client. It can be installed locally using the following commands:
wget "http://eticssoft.web.cern.ch/eticssoft/repository/etics-client-setup.py" -O etics-client-setup
python etics-client-setup --release X --volatile Y --skip-plugins
If you find that it hangs indefinitely when you install it on Debian, the workaround is to install the python-4suite-xml package before installing the ETICS client.
Where X is the client release version (i.e.: 1.6.0-1) and Y is the volatile name where the client can be found (i.e.: etics_3_6_4)
The
--skip-plugins
option makes the local build faster, but you won't get any QA metrics out of your build.
For the
SL6 platform, the
sl6_x86_64_gcc445EPEL
platform is
not automatically recognized by the ETICS client, you will have to
set the
platform
parameter in your user-level etics-client configuration in
~/.etics.conf
or the system-level file in
$ETICS_HOME/etc/etics.conf
to
platform=sl6_x86_64_gcc445EPEL
After the usual workspace setup, you can checkout your configuration:
etics-checkout --config <subsys-config> --project emi --project-config <project-config> [--enablesudo] --verbose --continueonerror <emi.subsystem>
Use --enablesudo if you want the etics-client to install missing dependencies on your system. Note that if you want the etics-client to be able to install packages on your system, you should be in the sudoers file on the machine
without a password set, i.e. something like:
andres ALL=(ALL) NOPASSWD: ALL
Otherwise, just install the missing dependencies as listed by the etics-client after a checkout.
You can run a "normal" build with this command:
etics-build --config <subsys-config> --verbose --target postpublish --continueonerror --createsource <emi.subsystem>
In order to run the mock repackaging step use the following command:
etics-build --config <subsys-config> --verbose --target postpublish --continueonerror --repackage=Z <emi.subsystem>
Where Z is the Mock/Pbuilder configuration file (i.e.: emi-1-sl6-x86_64 )
Note that using the
--repackage
option automatically enables the
--createsource
option, so there is no need to use it explicitly. If you use this option, remember that you have to select
only one platform. The reason is that the configuration file used changes depending on the platform (repositories, etc...).
To run mock, you need to be in the sudoers file and to belong belong to "mock" group. You need to use mock in /usr/bin which links to consolehelper instead of /usr/sbin/mock, so check in your PATH if /usr/bin is before /usr/sbin. This will make possible to install mock (if missing), configure a local APT repository and run mock builds. You do not need to run etics-build as sudo - some errors have been found when doing so.
Remote build
- Checkout command:
- Select "Verbose" option
- Select to propagate the environment and properties from the project configuration you what to build against
- In the checkout options, add
--enablesudo
Figure 1 -WA Checkout Fields
- Build command:
- Select "do not stop on errors" option
- To enable Mock/Pbuilder repackage, you have to add, after pressing
More Options
tab, in the Custom Build Options
the value "--repackage=emi-1-sl6-x86_64"
. Remember to chose the correct "repackage" value according to the platform and etics-client version, as described above.
Figure 2 -WA Build Fields
- Platform & etics-client version selection:
- Select the platforms(s). Use CTRL to select more than one.
- If you want to use a different version of the client than the default, specify it in the
Appen Requirements
field, after pressing the More options
tab, the value "client_release=version@volatile" (i.e.: client_release=1.5.5-3@etics_3_5_0)
Figure 3 -WA Platform and etics-client version selection Fields
--
AndresAbadRodriguez - 25-Oct-2011