Changes between Version 15 and Version 16 of Commentary/GSoCMultipleInstances
- Timestamp:
- 05/23/12 07:05:52 (12 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Commentary/GSoCMultipleInstances
v15 v16 22 22 The hash contains the following information: 23 23 24 The hashes of all the package instances that are actually used for compilation. This is called the environment. Those are available in the installedPkgs field of LocalBuildInfo. 24 The hashes of all the package instances that are actually used for compilation. This is called the environment. Those are available in the installedPkgs field of LocalBuildInfo. [When? Where?] 25 25 26 The compiler, its version and its arguments and the tools and their version and their arguments. Available from LocalBuildInfo also. More specifically: compiler, withPrograms, withVanillaLib, withProfLib, withSharedLib, withDynExe, withProfExe, withOptimization, withGHCiLib, splitObjs, stripExes. And a lot more. 26 The compiler, its version and its arguments and the tools and their version and their arguments. Available from LocalBuildInfo also. More specifically: compiler, withPrograms, withVanillaLib, withProfLib, withSharedLib, withDynExe, withProfExe, withOptimization, withGHCiLib, splitObjs, stripExes. And a lot more. [Like what?] 27 27 28 The source code. This is necessary because if the source code changes the result of compilation changes. For released packages i would assume that the version number uniquely identifies the source code and only hash that but what about unreleased packages? From the PackageDescription's library field the exposedModules can be extracted. Also from PackageDescription extraSrcFiles can be extracted. What about the Other Modules? We should also make sure that GHC used/uses only the files we ware hashing for compilation.28 The source code. This is necessary because if the source code changes the result of compilation changes. For released packages i would assume that the version number uniquely identifies the source code and only hash that but what about unreleased packages? [Again, why is it important? Because we don't want to download the tarballs for hash computation? But then, do we just use the version? Can a dirty install ever have the same hash as a clean install?] From the PackageDescription's library field the exposedModules can be extracted. Also from PackageDescription extraSrcFiles can be extracted. What about the Other Modules? We should also make sure that GHC used/uses only the files we ware hashing for compilation. 29 29 30 Or we first ask a source tarball to be built as if the package was released and then this one is hashed. 30 Or we first ask a source tarball to be built as if the package was released and then this one is hashed. [Or? What's the difference? The compression?] 31 31 32 OS dependencies are not taken into account. 32 OS dependencies are not taken into account. [Why not?] 33 33 34 34 What is ComponentLocalBuildInfo for?
