开发者

List CPAN modules that have been made but not installed

Is there an easy/clean wa开发者_C百科y to do this in Linux/ a Linux-like environment?

Purpose

My aim is to run CPAN with admin permissions only during the installation phase, not at the get/make/test phases.


The CPAN configuration items make_install_make_command and mbuild_install_build_command deal with this. Change them to enable sudo support.


Assuming you're using CPAN.pm for that, I have a somewhat unorthodox suggestion.

Make a subclass of CPAN.pm, which actually publishes the results/stages of each module it works with to a registry (via a suplied callback API to make the registry implementation flexible).

Then you need to simply check that registry.

(or you can try to put that as a patch into CPAN.pm itself)


For the sake of documenting an approach that seems promising, but doesn't work - the shell command:

find . -type d -mindepth 1 -maxdepth 1 -print | while read -r DIR; do pushd $DIR;  make -q; mk=$?; make -q install; inst=$?; make -q test; tst=$?; echo Directory "$DIR $mk $inst $tst"; popd; done| fgrep -ve /build

when executed in the cpan build dir lists the exit statuses of make -q for "", "test" and "install", which says whether that make goal needs any work to achieve.

But all have nonzero exit statuses, which means they all will do something if you execute them, even if the make has successfully been completed. So you can't tell anything this way.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜