Releasing DPM through EPEL

DPM is released via EPEL and Fedora. As the legacy stack has been retired and the previously separate plugins have been assimilated into the dmlite source tree, this now involves only the dmlite project (https://src.fedoraproject.org/rpms/dmlite).

Current situation

At time of writing (Jun 2020) the DPM releases are in a rather particular state. This is due to the transition to python3, the arrival of CentOS8 and support for xrootd 5.

Build and release status

  • EPEL6 is based on xrootd4. Source is taken from standard tags on the master dmlite source branch
  • EPEL7 is based on xrootd5 but is otherwise the same as EPEL6. Source is taken from standard tags on the master dmlite source branch
  • Fedora 3* and rawhide share the same spec file and source. Source is taken from the shell_py3 dmlite branch which contains the python3 support
  • CentOS8 is not released

CentOS8

CERN has announced it has no plans to support DPM on CentOS8, therefore this branch, while present in the Fedora source, is unmaintained and has never been tested. Note that support for CentOS7 is expected to end during Run 3 and support for SL6 ends November 2020.

XRootD 5

Support for xrootd 5 in packaging has been implemented for CentOS7 only.

Python 3

The latest Fedora releases have obsoleted python2, including a build time check that python code compiles under python3. This latter check means that all the unmodified python2 code in dmlite causes the build to fail.

All builds on Fedora 30 and later are therefore running on a separate branch, shell_py3, adapted to support python3 and, where necessary, eliminate python2.

shell_py3

This is the dmlite branch with all the python3 modifications. Notably;

  • all python2 code has been run through futurize to make it compile in python 3 (and python 2). The plan is to have a single code base which supports both python2 and python3. It has not been tested.
  • python/CMakeLists.txt has been reworked to handle the new combinations of python support required
  • boost support has been modified to handle changes in python version

shell_py3 is currently branched off dmlite 1.13. It will need to be rebased if releases on Fedora are to keep up with the mainstream. However, a simple git rebase is probably not sufficient, it would be better to rerun futurize on the python2 codebase in master.

Fedora releases (not used in production) from this branch are currently versioned 1.13.99 to indicate their non-standard nature.

Note that both python2 and python3 are present in CentOS8.

Dynafed

Dynafed has a close link to dmlite. In general the two packages can be released independently but sometimes dynafed depends on an updated dmlite and the two have to be released together. In this case one has to release dmlite to EPEL-test and then configure a build override in order to build the Dynafed release against the new dmlite version.

The Fedora specfile for Dynafed will use python3 for Fedora>=31 or CC8.

Current status

Dynafed currently fails to build at the cmake level in f33 & f34 due to syntax errors trapped by a stricter cmake. Behind that lurks the following - https://its.cern.ch/jira/browse/LCGDM-2904

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2020-11-03 - OliverKeeble
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    DPM 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