免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1973 | 回复: 0
打印 上一主题 下一主题

devscripts 系列: mk-build-deps [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-31 11:52 |只看该作者 |倒序浏览


devscripts 系列: mk-build-deps
leave comments »
       
devscripts
是給 Debian developer 用的一些好用工具的集合,今天要介紹的是 mk-build-deps
Debian distribution 中包含了許多預先編譯好的 deb 檔,通常我們只要 apt-get install
安裝即可,但是當我們需要修改編譯參數或是製作新版本的套件時,就會需要 apt-get source 取得 source package
自行編譯。要製作 deb 時會要求先安裝一些相依套件,通常是 libfoo-dev 等,此時可以用 apt-get build-dep
自動安裝相依套件。
麻煩的地方是,透過 apt-get build-dep 安裝的套件並不是因為跟任何套件有相依性才被安裝的,相等於直接 apt-get
install,因此不會在你編譯完不需要的時候自動移除。如果時常要編一些東西的話,常常系統上會裝滿了許多 libxxx-dev
難以整理。有一個技巧就是利用
equivs
製作
metapackage
,把編譯需要的套件都包含進去,以後不需要了只要移除這個 metapackage 就可以把所有相依套件移除乾淨。
mk-build-deps 就是把這個技巧自動化的工具,使用範例如下:
view plain
copy to clipboard
print
?
% mk-build-deps network-manager-gnome  dh_testdir  dh_testroot  dh_clean -k  dh_testdir  dh_testroot  dh_install  dh_installdocs  dh_installchangelogs  dh_compress  dh_fixperms  dh_installdeb  dh_gencontrol  dh_md5sums  dh_builddeb  dpkg-deb: building package network-manager-applet-build-deps' in../network-manager-applet-build-deps_0.6.6-2_all.deb'.    The package has been created.  Attention, the package has been created in the current directory,  not in ".." as indicated by the message above!    % dpkg -f network-manager-applet-build-deps_0.6.6-2_all.deb depends  autotools-dev, cdbs, debhelper (>= 5.0.0), docbook-to-man, intltool,  libdbus-glib-1-dev (>= 0.60), libgconf2-dev, libglade2-dev, libglib2.0-dev  (>= 2.10), libgnome-keyring-dev, libgnome2-dev, libgnomeui-dev,  libgtk2.0-dev, libiw-dev (>= 27+28pre9), libnm-util-dev (>= 0.6.6),  libnotify-dev (>= 0.3.0), network-manager-dev (>= 0.6.6), pkg-config  % mk-build-deps network-manager-gnome
dh_testdir
dh_testroot
dh_clean -k
dh_testdir
dh_testroot
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package network-manager-applet-build-deps' in../network-manager-applet-build-deps_0.6.6-2_all.deb'.
The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
% dpkg -f network-manager-applet-build-deps_0.6.6-2_all.deb depends
autotools-dev, cdbs, debhelper (>= 5.0.0), docbook-to-man, intltool,
libdbus-glib-1-dev (>= 0.60), libgconf2-dev, libglade2-dev, libglib2.0-dev
(>= 2.10), libgnome-keyring-dev, libgnome2-dev, libgnomeui-dev,
libgtk2.0-dev, libiw-dev (>= 27+28pre9), libnm-util-dev (>= 0.6.6),
libnotify-dev (>= 0.3.0), network-manager-dev (>= 0.6.6), pkg-config
而 Frank Lichtenheld 更
整理
了一個 apt
repository
可以直接安裝已經製作好的 build-dep 套件!只要加入以下到 sources.list 即可:
view plain
copy to clipboard
print
?
deb http://sourcedeps.debian.net/ sid main contrib non-free  
deb http://sourcedeps.debian.net/ sid main contrib non-free
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/78998/showart_1763970.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP