我使用的是 Eclipse 3.5.2,并且使用以下信息创建了 p2.inf:
instructions.install = \
chmod(targetDir:@artifact,targetFile:$os$/libfoo.so,permissions:755);
instructions.install.import= \
org.eclipse.equinox.p2.touchpoint.natives.chmod
我将p2.inf放在片段的META-INF文件夹中,但是当我安装更新站点时,libfoo.so没有执行权限。
在拔掉我的头发后,我尝试了引用不存在的 *.so 的 p2.inf,但似乎什么也没有发生。没有任何类型的错误消息、异常或警告表明 P2 接触点操作失败...
这是怎么回事?有什么想法吗?
最佳答案
导入行应该是org.eclipse.equinox.p2.touchpoint.eclipse.chmod
(即eclipse而不是natives),根据 org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ChmodAction 的以下评论
// This basically a copy of the chmod action in the native touchpoint,
// only it provides @artifact support.
(要进行比较,请参阅 'natives' chmod action )
我还没有检查对“os”等插值变量的支持。
关于eclipse - P2 Touchpoint chmod 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2580080/