I am using makepp inside a utility which takes input files from various directories in the filesystem. For several reasons I choosed to employ MD5 signatures (first line in Makefile is "signature md5").
After a successfull run, mpp leaves an .makepp directory beside every input file in the filesystem (holding the md5 sums for the used files). These residual subdirs are scattered all over the filesystem, wherever mpp looked at a file and the user had write access - this is inconvenient.
I am not complaining about the .makepp/ in the current working directory, where mpp saves the log and checksums over intermediate targets.
The option "--no-cache-scaninfos" to makepp did not changed the behavior. Switching back to plain signatures is not suitable. Running a makeppclean afterwards in the directories of input files is risky due to parallel execution.
Do you have any suggestions?
Thank You,
Mirko
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
if you have a RootMakeppfile or equivalently mark everything outside of your tree as --dont-build, it might be considered a bug that makepp still creates files there. However fixing it would involve quite a few changes, as it is an assumption in various places, that metadata resides just beside the file. :-(
One easy way to work around this would be to have everything outside belong to a different user or be in read-only directories.
liebe Grüße – Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thank you for your comment. At least partially I have found a solution, let me explain.
I am doing no magic with RootMakeppfile or --dont-build at directory trees. A script is creating a temporary run directory, doing cd to it and running there 'mpp -f /<script_path>/Makefile'. This way all input and output files to the make process are outside of the current directory.</script_path>
The metadata beside input files can be omitted by using mpp with '--virtual-sandbox'. But, in directory of output file I still get an .makepp/ with metadata about the result. Couldn't this also be part of the sandbox?
I try to avoid unnecessary move/copy commands as the files are sometimes quite large. A cleanup with mppclean to the directory of output is not advisable due to potential parallel execution.
Gruesse,
Mirko
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I am using makepp inside a utility which takes input files from various directories in the filesystem. For several reasons I choosed to employ MD5 signatures (first line in Makefile is "signature md5").
After a successfull run, mpp leaves an .makepp directory beside every input file in the filesystem (holding the md5 sums for the used files). These residual subdirs are scattered all over the filesystem, wherever mpp looked at a file and the user had write access - this is inconvenient.
I am not complaining about the .makepp/ in the current working directory, where mpp saves the log and checksums over intermediate targets.
The option "--no-cache-scaninfos" to makepp did not changed the behavior. Switching back to plain signatures is not suitable. Running a makeppclean afterwards in the directories of input files is risky due to parallel execution.
Do you have any suggestions?
Thank You,
Mirko
Moin Mirko,
if you have a RootMakeppfile or equivalently mark everything outside of your tree as --dont-build, it might be considered a bug that makepp still creates files there. However fixing it would involve quite a few changes, as it is an assumption in various places, that metadata resides just beside the file. :-(
One easy way to work around this would be to have everything outside belong to a different user or be in read-only directories.
liebe Grüße – Daniel
Hey Daniel,
thank you for your comment. At least partially I have found a solution, let me explain.
I am doing no magic with RootMakeppfile or --dont-build at directory trees. A script is creating a temporary run directory, doing cd to it and running there 'mpp -f /<script_path>/Makefile'. This way all input and output files to the make process are outside of the current directory.</script_path>
The metadata beside input files can be omitted by using mpp with '--virtual-sandbox'. But, in directory of output file I still get an .makepp/ with metadata about the result. Couldn't this also be part of the sandbox?
I try to avoid unnecessary move/copy commands as the files are sometimes quite large. A cleanup with mppclean to the directory of output is not advisable due to potential parallel execution.
Gruesse,
Mirko