2012-08-30 24 views
2

我爲mongo C++驅動程序創建了一個debian軟件包(請參閱https://launchpad.net/~28msec/+archive/utils/+sourcepub/2616490/+listing-archive-extra)。但是包中缺少一個非常重要的文件。位於/ var/lib/dpkg/info /中的shlibs文件。 現在,我瘋狂地搜索瞭解如何告訴debian打包機制來創建這個shlibs文件。但我無法做到。有人知道如何配置這個文件嗎?howto configure/var/lib/dpkg/info/<packagename> .shlibs

我檢出了其他軟件包。例如。在libarchive,執行dh_makeshlibs -v命令時,我看到以下內容: RM -f的Debian/libarchive-dev的/ DEBIAN/shlibs中 RM -f的Debian/libarchive12/DEBIAN/shlibs中 回波 'libarchive 12 libarchive12' >>的Debian/libarchive12/DEBIAN/shlibs中 回聲 「#由dh_makeshlibs自動添加」 >>的Debian/libarchive12.postinst.debhelper sed的 「」 在/ usr /共享/ debhelper的/自動腳本/的postinst-makeshlibs >>的Debian/libarchive12.postinst.debhelper echo'#結束自動添加節'>> debian/libarchive12.postinst.debhelper echo「#自動添加dh_makeshlibs」> debian/libarchive12.postrm.debhelper.new sed「」/ usr/share/debhelper/autoscripts/postrm -makeshlibs >> debian/libarchive12.postrm.debhelper.new echo'#E nd自動添加節'>> debian/libarchive12.postrm.debhelper.new cat debian/libarchive12.postrm.debhelper >> debian/libarchive12.postrm.debhelper.new mv debian/libarchive12.postrm.debhelper.new debian/libarchive12 .http://blog.csdn.net/shenzhen/article/details/8455160 chmod 644 debian/libarchive12/DEBIAN/shlibs chown 0:0 debian/libarchive12/DEBIAN/shlibs (grep -s -v misc:Pre-Depends debian/libarchive12.substvars;回聲misc:Pre-Depends = multiarch-support)> debian/libarchive12.substvars.new mv debian/libarchive12.substvars.new debian/libarchive12.substvars rm -f debian/bsdtar/DEBIAN/shlibs rm -f debian/bsdcpio/DEBIAN/shlibs

這些命令來自哪裏?我沒看到它。

回答

0

dh_makeshlibs debhelper工具應該照顧你,可能在binary-arch規則下。你正在使用debhelper,對吧?

+0

是的,我正在使用debhelper。那麼,我不必將 .shlip文件添加到debian目錄中? –

+0

對。如果在構建過程中正確的位置調用了dh_makeshlibs,那麼它將掃描debian/$ packagename構建目錄中的任何共享庫,然後將適當的調用放到postinst和prerm中的'ldconfig'中新的軟件包,以便在正確的時間生成.shlibs文件。 –

+0

如果這不起作用?你知道我可以如何調試嗎?這是我的規則文件:https://www.dropbox.com/s/s8afawa1r0829mv/rules。如果你可以看看,會很棒! –