緣由
使用apt套件管理可以看到,安裝函式庫通常是使用apt-get install libxxx。但是如果編譯時就會需要額外安裝libxxx-dev套件。該套件通常就是多了靜態函式庫以及header files。由於libxxx和libxxx-dev應該從同一包tarball產生,好奇之餘整理一下如何從一包tarball產生多個套件的方式。
步驟
- 更改debian/control,加入新的打包名稱,以及相依套件。
- 範例:原本的套件是libxxx,那麼舊新增libxxx-dev,並且和相依於libxxx。
- 新增debian/
套件名稱.install
,並且寫套件想要安裝的檔案。
- 範例:debian/libxxx.install和debian/libxxx-dev.install
測試
直接使用之前的測試方法裏面的套件,照上面的方式修改。
debian/control新增testautotools-dev套件1
2
3
4
5
6
7
| 16,21d15
<
< Package: testautotools-dev
< Architecture: any
< Depends: ${shlibs:Depends}, ${misc:Depends} testautotools
< Description: <insert up to 60 chars description>
< <insert long description, indented with spaces>
|
另外兩個install 檔案列出如下
debian/testautotools.install1
2
| usr/lib/*.so.0*
usr/bin/my_test
|
debian/testautotools-dev.install1
2
3
4
| usr/lib/*.a
usr/lib/*.so
usr/lib/*.la
usr/include
|
更改後跑dpkg-buildpackage -uc -us
產生的檔案如下
產生的檔案列表1
2
3
4
5
| testautotools_0-1.dsc
testautotools_0-1_amd64.changes
testautotools_0-1_amd64.deb
testautotools-dev_0-1_amd64.deb
testautotools_0-1.debian.tar.gz
|