按照书上的步骤,我一步步操作
先说说我的解决步骤:
(1)theos安装目录,发现当前用户组Andrew 没有 /opt/theos/bin 的rwx权限
MacBook-Pro:iosreproject Andrew$ ls -l /opt/Theos/bin
total 200
-rwxr-xr-x 1 root wheel 491 Dec 13 09:58 deb_build_num.sh
-rwxr-xr-x 1 root wheel 1022 Dec 13 09:58 denicify.pl
lrwxr-xr-x 1 root wheel 21 Dec 13 09:58 dm.pl → …/vendor/dm.pl/dm.pl
-rwxr-xr-x 1 root wheel 61 Dec 13 09:58 dm.pl.txt
-rwxr-xr-x 1 root wheel 892 Dec 13 09:58 fakeroot.sh
-rwxr-xr-x 1 root wheel 148 Dec 13 09:58 install.copyFile
-rwxr-xr-x 1 root wheel 313 Dec 13 09:58 install.exec
-rwxr-xr-x 1 root wheel 213 Dec 13 09:58 install.mergeDir
drwxr-xr-x 6 root wheel 192 Dec 13 09:58 lib
-rwxr-xr-x 1 root wheel 2125 Dec 13 09:58 logify.pl
-rwxr-xr-x 1 root wheel 29276 Dec 13 09:58 logos.pl
-rwxr-xr-x 1 root wheel 9161 Dec 13 09:58 nic.pl
-rwxr-xr-x 1 root wheel 3616 Dec 13 09:58 nicify.pl
-rwxr-xr-x 1 root wheel 980 Dec 13 09:58 package_version.sh
-rwxr-xr-x 1 root wheel 1122 Dec 13 09:58 post-update
-rwxr-xr-x 1 root wheel 437 Dec 13 09:58 target.pl
-rwxr-xr-x 1 root wheel 1033 Dec 13 09:58 update-git-repo
-rwxr-xr-x 1 root wheel 552 Dec 13 09:58 vercmp.pl
(2)在公司运维同事的帮助下,当前用户获取到了 /opt/theos 的rwx权限:
MacBook-Pro:Demo Andrew$ ls -l /opt/theos/bin/
total 200
-rwxr-xr-x 1 Andrew wheel 491 Dec 13 09:58 deb_build_num.sh
-rwxr-xr-x 1 Andrew wheel 1022 Dec 13 09:58 denicify.pl
-rwxr-xr-x 1 Andrew wheel 61 Dec 13 09:58 dm.pl.txt
lrwxr-xr-x 1 Andrew wheel 21 Dec 13 09:58 dpkg-deb → …/vendor/dm.pl/dm.pl
-rwxr-xr-x 1 Andrew wheel 892 Dec 13 09:58 fakeroot.sh
-rwxr-xr-x 1 Andrew wheel 148 Dec 13 09:58 install.copyFile
-rwxr-xr-x 1 Andrew wheel 313 Dec 13 09:58 install.exec
-rwxr-xr-x 1 Andrew wheel 213 Dec 13 09:58 install.mergeDir
drwxr-xr-x 6 Andrew wheel 192 Dec 13 09:58 lib
-rwxr-xr-x 1 Andrew wheel 2125 Dec 13 09:58 logify.pl
-rwxr-xr-x 1 Andrew wheel 29276 Dec 13 09:58 logos.pl
-rwxr-xr-x 1 Andrew wheel 9161 Dec 13 09:58 nic.pl
-rwxr-xr-x 1 Andrew wheel 3616 Dec 13 09:58 nicify.pl
-rwxr-xr-x 1 Andrew wheel 980 Dec 13 09:58 package_version.sh
-rwxr-xr-x 1 Andrew wheel 1122 Dec 13 09:58 post-update
-rwxr-xr-x 1 Andrew wheel 437 Dec 13 09:58 target.pl
-rwxr-xr-x 1 Andrew wheel 1033 Dec 13 09:58 update-git-repo
-rwxr-xr-x 1 Andrew wheel 552 Dec 13 09:58 vercmp.pl
(3)按照书上的配置,将dm.pl成功修改为dpkg-deb,然后参考过http://bbs.iosre.com/t/make-package/1445 这个帖子,执行:
MacBook-Pro:retest Andrew$ perl -i -pe ‘y|\r||d’ /opt/theos/bin/dpkg-deb
MacBook-Pro:retest Andrew$ echo $?
0
MacBook-Pro:retest Andrew$ perl -i -pe ‘y|\r||d’ /opt/theos/bin/dpkg-deb
MacBook-Pro:retest Andrew$ ls !$
ls /opt/theos/bin/dpkg-deb
/opt/theos/bin/dpkg-deb
MacBook-Pro:retest Andrew$ file !$
file /opt/theos/bin/dpkg-deb
/opt/theos/bin/dpkg-deb: Perl script text executable
(4)貌似是执行成功了,然后执行下面的代码,依然是报错
MacBook-Pro:retest Andrew$ make package messages=yes
==> Error: /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires dm.pl.
make: *** [internal-package-check] Error 1
目前我的theos 环境是这样的:
MacBook-Pro:~ Andrew$ ls -l /opt/theos/bin
total 216
-rwxrwxrwx 1 Andrew wheel 491 Dec 13 09:58 deb_build_num.sh
-rwxrwxrwx 1 Andrew wheel 1022 Dec 13 09:58 denicify.pl
-rwxrwxrwx 1 Andrew wheel 61 Dec 13 09:58 dm.pl.txt
-rwxrwxrwx@ 1 Andrew wheel 6673 Dec 13 11:44 dpkg-deb
-rwxrwxrwx 1 Andrew wheel 892 Dec 13 09:58 fakeroot.sh
-rwxrwxrwx 1 Andrew wheel 148 Dec 13 09:58 install.copyFile
-rwxrwxrwx 1 Andrew wheel 313 Dec 13 09:58 install.exec
-rwxrwxrwx 1 Andrew wheel 213 Dec 13 09:58 install.mergeDir
drwxrwxrwx 7 Andrew wheel 224 Dec 13 14:07 lib
-rwxrwxrwx 1 Andrew wheel 2125 Dec 13 09:58 logify.pl
-rwxrwxrwx 1 Andrew wheel 29276 Dec 13 09:58 logos.pl
-rwxrwxrwx 1 Andrew wheel 9161 Dec 13 09:58 nic.pl
-rwxrwxrwx 1 Andrew wheel 3616 Dec 13 09:58 nicify.pl
-rwxrwxrwx 1 Andrew wheel 980 Dec 13 09:58 package_version.sh
-rwxrwxrwx 1 Andrew wheel 1122 Dec 13 09:58 post-update
-rwxrwxrwx 1 Andrew wheel 437 Dec 13 09:58 target.pl
-rwxrwxrwx@ 1 Andrew wheel 1033 Dec 13 09:58 update-git-repo
-rwxrwxrwx 1 Andrew wheel 552 Dec 13 09:58 vercmp.pl
MacBook-Pro:~ Andrew$
昨天晚上搞到1点多,始终卡在打包环节。对命令行不熟悉,上午拉着运维同事帮我一起看问题,期间也新建过项目,按照书上将的重新来配置,目前依旧没有解决
请有经验的老司机指点一二 ,多谢了!!