用“make package”制作一个简单的FreeBSD包

时间:2012-05-29 18:18:03

标签: makefile freebsd ports

这是FreeBSD端口的Hello World情况。

我正在尝试为我制作的小型webapp制作一个FreeBSD .tbz文件。该项目由一个foo.war文件组成,我将其压缩到foo.tgz中。我把这个.tgz放在/ usr / ports / distfiles中。然后在/ usr / ports / textproc / foo中我创建了Makefile,distinguishedfo,pkg-descr和pkg-plist文件。我想通过运行“make package”来创建tbz。当我运行make package时,我的Makefile会产生错误。我正在使用来自另一个端口的改编的Makefile,我从根本上不了解简单的Makefile需要什么。这是我在Makefile中的内容:

8 PORTNAME=>  foo
9 PORTVERSION=>   1.0
10 CATEGORIES=>textproc java
11 MASTER_SITES=>  ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
12 MASTER_SITE_SUBDIR=>
13 EXTRACT_SUFX=>  .tgz
14
15 MAINTAINER=>...
16 COMMENT=>   ...
17
18 LICENSE=>   AL2
19 JAVA_VERSION=>  1.5+
20 NO_BUILD=>  yes
21 PLIST_SUB+=>PORTVERSION="${PORTVERSION}"
22 USE_JAVA=>  yes
23 PORTEXAMPLES=>  *
24
25 do-install:
26 >   cd ${WRKSRC}/dist && ${COPYTREE_SHARE} \* ${JAVAJARDIR}
27 .if !defined(NOPORTEXAMPLES)
28 >   ${MKDIR} ${EXAMPLESDIR}
29 >   cd ${WRKSRC}/example && ${COPYTREE_SHARE} \* ${EXAMPLESDIR}
30 .endif
31
32 .include <bsd.port.mk>

从另一个文件复制do-install块,这就是我看到错误的地方:

"Makefile", line 26: Missing dependency operator
"Makefile", line 28: Missing dependency operator
"Makefile", line 29: Missing dependency operator

我的Makefile需要更改什么?或者在FreeBSD上用单个文件创建tbz的任何建议?

谢谢!

P.S。我目前也遇到以下错误并且无法理解它:“/ usr /ports / MK /bsd.port.mk”,第4370行:警告:目标“foo._usr_local”的重复脚本被忽略。

1 个答案:

答案 0 :(得分:1)

确保您确实拥有制表符。该错误通常表示带有空格的行,其中应该有标签。