Skip to content

fix/add rebuild capability to NESSI #313

@trz42

Description

@trz42

In #311 we aimed at adding rebuild capability (as implemented in EESSI with PR 488 and PR 518) and test this for OpenMPI. However, at the moment (April 2024) we do not have access to any build instance that supports the required features: --fakeroot and user namespaces. Hence, we made #311 a draft and replaced it by #312 which adds the rebuild functionality, but we couldn't test it.

An alternative approach for rebuilding package X could be as follows:

  1. Determine directory of software under which it would be installed. Determine path to module file for the software.
  2. Bind mount a /cvmfs/REPO that is natively installed/available on the build node and bind mount empty directories on top of that for the paths of software that needs to be rebuild.
  3. Build the software as it would usually be built.
  4. Create the tarball taking the directories determined in (1) into account.
  5. Deploy the software. (deployment may still need manual intervention for replacing existing packages)

Additional work may be needed to support both the rebuilding of a software package and a change to other files. For example, #311 aimed at rebuilding OpenMPI and changing SitePackage.lua.

Strangely, #311 was merged too (by merging #312) but its changes were apparently reverted by #312. Since we have the issue #313 everything should be fine.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions