ETICS Client

Release 1.5.0-1 (2011-02-21)

This release introduces a number of important new features and fixes to be more compatible with standard build practices on linux operating systems. The main effect of theese changes is that some actions that ETICS was managing for the software to be build, must now be supported by the operating system and/or the software to be built, especially the installation of dependencies. The previous functionality is still fully supported for older project configurations or if you prefer to build within a standard ETICS workspace rather than installing dependencies in your system.

Functional changes

  1. DEFAULT properties for the dependencies are not needed anymore (but can be used)
    When the client must resolve a dependency for a package and no DEFAULT property is defined, it will now look in the OS and its configured Yum/APT repositories to find a suitable package to be installed. If the DEFAULT properties are defined, the client will try to take them from the ETICS repo as usual or check whether they are already installed in the OS, but it will not try to pull from Yum/APT.
    If the build is run as root or as a user with sudo privileges, the client will install the packages and continue. Otherwise, the dependency is marked as Unresolved, but a list of packages to be installed is provided at the end of the built.
    A new type of DEFAULT property called OS.DEFAULT is also available. Setting a DEFAULT property to OS.DEFAULT is equivalent to not setting it at all, but it is useful if you still want to keep track of the dependencies in the project configuration.
    A new property is available, package.repo, that allows to specify the URL of a repo file to be installed in the machine before the checkout in addition to the standard repo files typically found in /etc/yum.repos.d
    NOTE : this functionality currently works only with YUM repositories. The equivalent functionality for APT systems and Debian is being developed
  2. New status identifiers for OS packages
    Packages that have been taken from the OS or installed from Yum repos are shown in the reports with the special decorators OSD for build-time and build-and-run-time deps and OSR for run-time only deps
  3. RPM-based installation from the ETICS Repository
    If a dependency defined using a DEFAULT property is available in RPM format from ETICS, the client tries to install the RPM instead of using the tarball. For this to work the build must be run as root or with sudo privileges, otherwise the client defaults to the usual method based on tarballs
  4. Parentless locked configurations
    If a locked configuration has been locked without a project config, the missing properties are evaluated as if it were not locked and are taken from the specified project config or from the OS. This means that parentless locked configurations may produce differerent esults when built in different moments or with different project configs. However this is useful if you consider the OS as your main reference at any given time, rather the status at the time the config was locked. It also greatly eases the problems with dependency overrides for locked configurations, which is currently a major headache
  5. Fedora Mock integration
    Mock is now optionally integrated within an ETICS build. It is activated by using the build option --repackage=configuration, where configuration is the name of the mock configuration to be used. The mock configuration can be one of the standard configurations shipped with mock or one of the custom configurations sihpped with ETICS and stored in $ETICS_HOME/etc/mock. You can also create your own custom configurations and store them either in /etc/mock or $ETICS_HOME/etc/mock. The --repackage option works only if the build is run as root or as a user with sudo privileges.
  6. Package compliance map report
    A new package report type shows a "compliance map" of the packages created by a build. This report is best used when running mock, although it can be used also without running mock. It is available from the existing Package List report by selecting the Report Type on the page. The map shows in colour whether a package of a given type exists and if it was generated by mock or by ETICS.
  7. Multi-node testing
    Support for multi-node testing is now officially available. It can be used to execute distributed tests composed of several nodes and services as root or as standard user
  8. New Execution Info report
    A new report called Execution info is availabel in the menu bar on the left side of the ETICS Build Reports. The report show links to get the full raw log of the build and separate mini logs of the ERRORS and WARNINGS logged by the client. In addition it shows the checkout statistics and the lists of RPMS Unresolved and Installed during the build execution from the locally configured Yum repositories.
  9. Changes in some RPM spec file generation rules
    A number of small, but important changes have been introduced in the way spec files are generated:
    1. From this release, the platform family identifier (e.g. sl5, el5, ubuntu0, etc) is appended to the age string of the packages also in the source spec file and also for noarch packages. This is in compliance with the Fedora packaging guidelines.
    2. The python version is not appended anymore to the python packages (e.g. py24), since it is accepted practice to qualify the package name with the python version and not the age if a specific version of python is required or supported by the package.
    3. A property to specify the URL tag of spec files has been added (package.URL)

Bugs fixed:

  • #63153 etics-checkout crashes with UndefinedPropertyError
  • #63152 CVSROOT is ignored during checkout
  • #62815 Reports generated after a failed subsystem build have wrong configuration information
  • #62812 Commits after etics-configuration modify fail with Duplicate Key error
  • #59246 Cannot disable update notifications
  • #51291 >= inside --property package.requires="..." results in an error finding = sign
  • #46295 etics-platform broken
  • #44720 1.4.0: accept more recent dependencies
  • #31767 cannot check out HEAD configuration
  • #31238 Problems using the 'version' property of an ini file
  • #27359 Deploying a file to /etc
  • #26752 etics-build prints wrong platform


Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2011-02-21 - unknown
    • 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-2021 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