2012-05-29 40 views
0

這是FreeBSD端口的Hello World情況。使用「make package」製作一個簡單的FreeBSD包

我正在嘗試爲我製作的小型webapp製作FreeBSD .tbz文件。該項目包含一個foo.war文件,我已將其壓縮到foo.tgz中。我把這個.tgz放在/ usr/ports/distfiles中。然後在/ usr/ports/textproc/foo中,我創建了Makefile文件,distinfo文件,pkg-descr文件和pkg-plist文件。我想通過運行「make package」來創建tbz。當我運行make包時,我的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-安裝塊從另一個文件拷貝,而這正是我所看到的錯誤:

"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」的重複腳本被忽略。

+0

更遠的起動器,你使用什麼版本的Make? (如果您不確定,請嘗試'make -v'。) – Beta

+0

您從哪裏得到所有'>'符號? – arrowd

+0

>標誌是製表符 –

回答

1

確保你確實有製表符。該錯誤通常表示帶有空格的行應該有製表符。