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

Warning, important 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...).

Warning, important 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

checkout_remote.jpg
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.

build_remote.jpg
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)

platform_remote.jpg
Figure 3 -WA Platform and etics-client version selection Fields

-- AndresAbadRodriguez - 25-Oct-2011

Edit | Attach | Watch | Print version | History: r30 < r29 < r28 < r27 < r26 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r30 - 2012-09-03 - ValeryTschoppExCern
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EMI All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback