2012-04-01 20 views
12

我正在創建一個小的deb包來安裝幾個文件。其中一些將位於/ usr/lib/mypackage /中,並且我想創建從/ usr/lib/mypackage/mybin到/ usr/bin/mybin的符號鏈接debian規則文件做一個符號鏈接

對於/ usr/lib/mypackage文件夾我使用mypackage.install並在那裏複製文件。這似乎工作正常。

但是,爲了創建我的符號鏈接,我明白我需要在那裏使用debian規則文件,我不知道如何繼續,這裏是我需要添加的行,應該在哪裏添加和怎麼樣?謝謝

ln -s /usr/lib/mypackage/mybin /usr/bin/mybin 

回答

20

最好的方法是使用dh_link,它是debhelper套件的一部分。有關其操作的詳細信息,請參閱man dh_link。正如你可以從看,你可能想要的東西就像在一個文件中的以下稱爲debian/$mypackage.links

/usr/lib/mypackage/mybin /usr/bin/mybin 

你應該把dh_linkdebian/rules,如果它不是已經存在,取決於你怎麼做你的包裹。如果你使用的是Debhelper,那麼你的debian/rules可能已經有dh_link照顧(雖然如果你使用的是經典Debhelper,那麼dh_link行可能會被註釋掉,你需要取消註釋)。使用更新式的Debhelper(dh)或CDBS-plus-debhelper(include /usr/share/cdbs/1/rules/debhelper.mk)也可算在這裏;他們會幫你照顧dh_link

但是,如果你不使用Debhelper,並且你不想啓動,那麼dh_link可能不是一個選項。在這種情況下,你只需要確保你符合Debian Policy on the subject(這意味着你的符號鏈接應該是相對的,而不是絕對的)。你可能想在你的debian/rulesbuild目標中建立鏈接。例如:

build: 
    # ... other stuff ... 
    mkdir -p debian/$mypackage/usr/bin 
    ln -s ../lib/mypackage/mybin debian/$mypackage/usr/bin/mybin 
+0

製作符號鏈接相對解決我的問題 – user877329 2017-07-29 12:35:40

+0

而不是供應'* .links'文件,你還可以在'rules'添加替代配置。只需在'%:'配置塊結束後放置'override_dh_link:\ n \ t dh_link源/文件目標/文件'即可。 '\ n \ t'代表一個換行符,後跟一個製表符。 – iFreilicht 2017-12-01 17:38:12

相關問題