Skip to content
Snippets Groups Projects
  1. Dec 08, 2020
  2. Dec 07, 2020
  3. Dec 04, 2020
  4. Dec 03, 2020
  5. Nov 30, 2020
  6. Nov 28, 2020
  7. Nov 26, 2020
  8. Nov 25, 2020
    • Mark OLESEN's avatar
      ENH: installation helpers · 9fe09ad2
      Mark OLESEN authored
      ----
      install-dirs: a general directory installer
      
        Copy installs non-binary (platform) directories.
        Eg,
      
            install-dirs -prefix=... -devel
            install-dirs -prefix=... -default -no-app
      
      ----
      install-platform: a platform (binary) installer
      
        This is primarily driven by the need to install into system mpi
        directories. The problem noted in issue #1893 is caused by the
        rpm-mpi-hooks (fedora and redhat-8).
      
        For the additional mpi library qualifier (openmpi-x86_64) to be
        added to the requirements, the mpi-specific libraries (eg,
        libPstream.so) need to be installed in the mpi system directory
        (eg, /usr/lib64/openmpi).
      
        However, then need symlinks from the system locations back to our
        local directories to ensure that the libraries are correctly found
        via our LD_LIBRARY_PATH and we don't get dummy libraries.
      
      ----
      update-mpi-links: a post-install update hook
      
        Expected paths are registered as persistent information into the
        hook during packaging. Triggering the hook after installation
        completes the creation of the symlinks.
      
      Normal usage,
      ```
      prefix="/tmp/local-install/openfoam"
      
      bin/tools/install-dirs -prefix="$prefix" -common
      bin/tools/install-platform -prefix="$prefix"
      ```
      Installs
       - /tmp/local-install/openfoam/META-INFO
       - /tmp/local-install/openfoam/bin
       - /tmp/local-install/openfoam/etc
       - /tmp/local-install/openfoam/platforms/linux64GccDPInt32Opt/bin
       - /tmp/local-install/openfoam/platforms/linux64GccDPInt32Opt/lib
      
      Can also place architecture-dependent bits elsewhere,
      ```
      prefix="/tmp/local-install/openfoam"
      multi_arch="$(dpkg-architecture -qDEB_TARGET_MULTIARCH)"
      
      bin/tools/install-dirs -prefix="$prefix" -common
      bin/tools/install-platform -exec-prefix="$prefix/$multi_arch"
      ```
      Installs
       - /tmp/local-install/openfoam/META-INFO
       - /tmp/local-install/openfoam/bin
       - /tmp/local-install/openfoam/etc
       - /tmp/local-install/openfoam/x86_64-linux-gnu/bin
       - /tmp/local-install/openfoam/x86_64-linux-gnu/lib
      
      Can use it to flatten out platforms entirely,
      ```
      prefix="/tmp/local-install/openfoam"
      bin/tools/install-dirs -prefix="$prefix" -common
      bin/tools/install-platform -exec-prefix="$prefix"
      ```
      Installs
       - /tmp/local-install/openfoam/META-INFO
       - /tmp/local-install/openfoam/bin
       - /tmp/local-install/openfoam/etc
       - /tmp/local-install/openfoam/lib
      9fe09ad2