早些時候,我成功創建了debian軟件包,這很簡單。但現在,我必須爲我的應用程序創建相同的應用程序,這取決於外部程序包。 libwebkitgtk-1.0-0和jdk1.7.0是所需的外部軟件包。我希望他們自動安裝。另外我的軟件有一定的數據,需要存儲在用戶的主目錄中。在Ubuntu 12.04上創建Debian軟件包LTS
請指導我。
早些時候,我成功創建了debian軟件包,這很簡單。但現在,我必須爲我的應用程序創建相同的應用程序,這取決於外部程序包。 libwebkitgtk-1.0-0和jdk1.7.0是所需的外部軟件包。我希望他們自動安裝。另外我的軟件有一定的數據,需要存儲在用戶的主目錄中。在Ubuntu 12.04上創建Debian軟件包LTS
請指導我。
您的debian/control
文件需要爲其需要的其他包聲明Depends:
。 Apt將爲您下載並安裝它們,dpkg
將拒絕安裝,除非它們已安裝。
Debian軟件包沒有用戶主目錄的條目。如果所需的文件丟失,可能會創建一個包含用戶主目錄的包裝,其中包含/usr/share/yourpackage/config/*
的副本。
#!/bin/sh
test -d $HOME/.yourpackage ||
cp -r /usr/share/yourpackage/config $HOME/.yourpackage
exec /usr/lib/yourpackage/yourpackage.bin "[email protected]"
所以真正的二進制是yourpackage.bin
,這是包裝/usr/bin/yourpackage
。
對於額外的點,請使用環境變量,以便路徑不會完全硬編碼。對你自己來說更重要(使測試更容易),而不是對你的用戶來說更重要,但要牢記兩者的需求。
(提示:${YOURPACKAGE_SITE_CONFIG-/usr/share/yourpackage/config}
將擴大到$YOURPACKAGE_SITE_CONFIG
的值,如果它被設置,否則/usr/share/yourpackage/config
你可能想要做的$YOURPACKAGE_CONFIG
和$YOURPACKAGE_BIN
類似的東西,以便能夠在構建目錄中覆蓋了運行一個簡單的測試。全部三個)。