Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-610

The SConstruct file is not installed by "scons install"

    Details

    • Type: Improvement
    • Status: Won't Fix
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: sconsUtils
    • Labels:
      None
    • Team:
      SQuaRE

      Description

      The SConstruct file is not installed by "scons install". This can be a bit of a headache for afw, since the unit tests are not built during installation (DM-609) and without an SConstruct file they cannot be built later.

        Attachments

          Issue Links

            Activity

            Hide
            ktl Kian-Tat Lim added a comment -

            The tests are already installed at present. This ticket is to install the top-level SConstruct file that could be used to build the tests (and other parts of the code).

            As I see it, C++ sources (in src) are installed only to make it easy to do source-level debugging on the installed code. There is no expectation that the end user will build from them in the installed location in the stack, nor that the end user will copy them out. In fact, I'd say it is undesirable for someone to build within the installed stack as opposed to a separate git clone. So I'm not in favor of including more files in the installation that would tend to encourage building in the installed stack and would prefer that this ticket be closed as Won't Fix.

            Show
            ktl Kian-Tat Lim added a comment - The tests are already installed at present. This ticket is to install the top-level SConstruct file that could be used to build the tests (and other parts of the code). As I see it, C++ sources (in src ) are installed only to make it easy to do source-level debugging on the installed code. There is no expectation that the end user will build from them in the installed location in the stack, nor that the end user will copy them out. In fact, I'd say it is undesirable for someone to build within the installed stack as opposed to a separate git clone. So I'm not in favor of including more files in the installation that would tend to encourage building in the installed stack and would prefer that this ticket be closed as Won't Fix.
            Hide
            rowen Russell Owen added a comment -

            I agree that once DM-609 is fixed for afw the afw unit tests can be run one at a time. It would be a shame not to have some way to run all the test automatically, but I suppose we can live with that.

            Regarding C++ code: I can think of several reasons to include .cc files:

            • Sometimes the only way you can figure out how something works is to read the source. Our documentation is not uniformly strong, and even if it was, advanced users may need details that didn't make it into the documentation.
            • In the early days our programming standards called for documentation to be in .cc files instead of the .h files. We changed that rule, but I doubt all our code has been updated.
            • K-T's point about source level debugging is also a consideration, though I wonder how useful the source really is for debugging a code built using our default of opt=3.
            Show
            rowen Russell Owen added a comment - I agree that once DM-609 is fixed for afw the afw unit tests can be run one at a time. It would be a shame not to have some way to run all the test automatically, but I suppose we can live with that. Regarding C++ code: I can think of several reasons to include .cc files: Sometimes the only way you can figure out how something works is to read the source. Our documentation is not uniformly strong, and even if it was, advanced users may need details that didn't make it into the documentation. In the early days our programming standards called for documentation to be in .cc files instead of the .h files. We changed that rule, but I doubt all our code has been updated. K-T's point about source level debugging is also a consideration, though I wonder how useful the source really is for debugging a code built using our default of opt=3.
            Hide
            rhl Robert Lupton added a comment -

            Tim Jenness Not installing the C++ is equivalent to installing .pyc not .py. We should install all the source for the reasons given above.

            Show
            rhl Robert Lupton added a comment - Tim Jenness Not installing the C++ is equivalent to installing .pyc not .py. We should install all the source for the reasons given above.
            Hide
            mjuric Mario Juric added a comment -

            Robert Lupton: that may be a tad too strong – distributing .py files is common for Python programs; distributing C++ sources with the compiled binaries, less so.

            Show
            mjuric Mario Juric added a comment - Robert Lupton : that may be a tad too strong – distributing .py files is common for Python programs; distributing C++ sources with the compiled binaries, less so.
            Hide
            ktl Kian-Tat Lim added a comment -

            If advanced users want to read the source, github or a git clone seems like it's a lot more appropriate than installing it for all users.

            If any user wants to read C++ documentation, they should read it in doxygen, which ought to be more comprehensive and cross-linked. Reading it in source files seems inappropriate.

            I'm fine with having optional installation of anything, as long as it doesn't require bulking up the package more than necessary, but I'm less certain than Robert Lupton that default installation of C++ sources is required, given that few other groups do it.

            Show
            ktl Kian-Tat Lim added a comment - If advanced users want to read the source, github or a git clone seems like it's a lot more appropriate than installing it for all users. If any user wants to read C++ documentation, they should read it in doxygen, which ought to be more comprehensive and cross-linked. Reading it in source files seems inappropriate. I'm fine with having optional installation of anything, as long as it doesn't require bulking up the package more than necessary, but I'm less certain than Robert Lupton that default installation of C++ sources is required, given that few other groups do it.

              People

              • Assignee:
                frossie Frossie Economou
                Reporter:
                rowen Russell Owen
                Watchers:
                John Swinbank, Kian-Tat Lim, Mario Juric, Robert Lupton, Russell Owen, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel