#10 Allow for custom installation layout

closed-implemented
DRC
VirtualGL (13)
5
2014-08-05
2011-07-25
Lekensteyn
No

In VirtualGL 2.3, a custom prefix can be defined using the -DMAKE_INSTALL_PREFIX option of cmake. However, this does not change the paths in the shell scripts (rr/vglrun, rr/vglconnect, etc).

Can this be fixed, together with the ability to use the GNU installation layout? E.g. docs should not go in $prefix/doc, but $datadir/doc ($datadir=$prefix/share).

Discussion

  • DRC
    DRC
    2011-07-26

    I added two new CMake variables, VGL_BINDIR and VGL_DOCDIR, which should give you the desired level of configurability.

     
  • DRC
    DRC
    2011-07-26

    • labels: 664688 -->
    • assigned_to: dcommander --> nobody
    • status: open --> closed-fixed
     
  • Lekensteyn
    Lekensteyn
    2011-07-26

    It's not fully fixed, the shellscripts and documentation have hardcoded paths, please run `grep -IHrn '/opt' .` in the source tree to get the lines that should be fixed.

    Could you also allow for a custom `fakelib` location? E.g. /usr/lib/virtualgl/fakelib
    The documentation needs to be updated with these options too.

    Thank you for your efforts!

     
  • DRC
    DRC
    2011-07-26

    vglrun makes the assumption that the faker libraries are in LD_LIBRARY_PATH or a system library path. It is not designed for the type of mass customization you seem to want. In general, VirtualGL isn't, either. For vglconnect to work properly, it has to know where certain scripts are on the server, which is why we go to great lengths to ensure that everything is either installed under /opt/VirtualGL or that sym links are provided under that directory. /opt/VirtualGL is the standard, supported location for VirtualGL.

    I could change the hard-coded path in vglconnect to be based on CMAKE_INSTALL_PREFIX, but that's a red herring, because changing it in vglconnect doesn't mean that the necessary scripts are installed in that directory on the server. In general, the way it works is that vglconnect always assumes that the scripts are in the "official" location on the server. If you are installing VirtualGL into another directory on the server, then you really need to be creating sym links under /opt/VirtualGL.

    Similarly, /opt/VirtualGL/fakelib is the standard, documented location for the libGL sym links. If you are installing into another directory, then you are breaking the standard, and such a configuration is not supported. That being said, there isn't any harm in making that configurable, as long as it's understood that the only option I document and support is putting things under /opt/VirtualGL.

    Documentation for advanced CMake options is provided by running ccmake.

     
  • Lekensteyn
    Lekensteyn
    2011-07-27

    I understand that you want an uniform installation layout and for that, /opt is perfectly fine. My purpose of this customization is that I can create a debian package of it which fits better in the installation layout. (to be exact, a PPA for Ubuntu)

    See also the patch provided as:
    https://sourceforge.net/tracker/index.php?func=detail&aid=3379541&group_id=117509&atid=678329

    Waiting for feedback.

     
  • DRC
    DRC
    2011-07-27

    Implemented in CVS HEAD per your suggested patch, minus modifications to vglconnect.

     
  • DRC
    DRC
    2011-12-17

    • assigned_to: nobody --> dcommander
     
  • DRC
    DRC
    2011-12-17

    • labels: --> VirtualGL
     
  • DRC
    DRC
    2014-08-05

    • Status: closed-fixed --> closed-implemented