如何制作Debian OpenERP软件包,或对现有软件包进行反向工程?

如何制作Debian OpenERP软件包,或对现有软件包进行反向工程?,debian,openerp,Debian,Openerp,我想构建我自己的Debian包,类似于我自己的分支机构提供的Debian包。我看到openobject服务器有一个debian/目录,但这似乎不是那么简单: ~/openobject-server$ dpkg-buildpackage -us -uc changing mode of /Network/Servers/xserve.macprofessionals.lan/Volumes/Data/Users/pfrost/openobject-server/7.0/debian/openerp

我想构建我自己的Debian包,类似于我自己的分支机构提供的Debian包。我看到openobject服务器有一个debian/目录,但这似乎不是那么简单:

~/openobject-server$ dpkg-buildpackage -us -uc
changing mode of /Network/Servers/xserve.macprofessionals.lan/Volumes/Data/Users/pfrost/openobject-server/7.0/debian/openerp/usr/bin/openerp-server to 755
   dh_install
   dh_installdocs
   dh_installchangelogs
install: omitting directory `./history'
dh_installchangelogs: install -o 0 -g 0 -p -m644 ./history debian/openerp/usr/share/doc/openerp/changelog returned exit code 1
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
如果我删除./history,那么我可以得到一个要构建的包,我假设有更好的方法告诉dh_installchangelogs真正的变更日志在哪里,这样./history/就不会混淆它

即便如此,像这样的打包也不包括openobject插件和openerp web项目,因为它们没有debianized,但是openerp.com的夜间构建确实包括。有没有一种更简单的方法来复制这种包装,或者我只需要从头开始重新包装所有东西

编辑:


因为似乎没有人知道OpenERP是如何构建他们的包的(我怀疑它不是公开的),所以我有什么想法可以从提供的二进制包中提取有用的包位并在我自己的包中重用它们吗?我发现的少数几个包反汇编说明只涉及源包。

根据
dh\U installchangelogs
手册页,您可以使用
-X
--exclude
标志排除上游变更日志:

-Xitem,--exclude=项目
不安装文件名中任何位置包含项的上游变更日志文件

如果这确实是构建中唯一的问题,只需将其添加到
debian/rules
中的
dh_insallchangelogs
行中即可:


OpenERP SA用于夜间构建的代码作为包的一部分放在launchpad上。具体来说,这里是。它有效地做到了这一点:

bzr export lp:~openerp/openobject-server/7.0 server bzr export lp:~openerp/openobject-addons/7.0 addons bzr export lp:~openerp/openerp-web/7.0 web mv addons/* server/openerp/addons/ mv web/addons/* server/openerp/addons cd server dpkg-buildpackage bzr导出lp:~openerp/openobject服务器/7.0服务器 bzr导出lp:~openerp/openobject插件/7.0插件 bzr导出lp:~openerp/openerp web/7.0 web mv addons/*server/openerp/addons/ mv web/addons/*server/openerp/addons 光盘服务器 dpkg构建包 感谢Antony Lesuisse在中提供此信息

我已经找到了许多对propper构建所需的打包的修复。我已经准备好了,这样包就可以在一个干净的环境中构建,比如pbuilder。我也是。此外,我也很高兴。我还开发了包装,并分开包装,虽然我会认为这个包装非常笨拙,反映了我的基本知识。欢迎改进


所有这些更改,加上我为本地版本所做的一些功能调整,都被合并到和中。

谢谢,这很有帮助。然而,它并不能帮助我复制官方OpenERP包中的所有功能。进一步看,我发现它不仅包含了三个项目(服务器、插件和web模块),而且还安装了init.d脚本、创建用户以及其他一些东西。我开始怀疑OpenERP SA是否出于任何原因想对其打包方法保密。尝试安装
fakeroot
并将
-rfakeroot
添加到命令行?我正试图通过bzr builder来实现这一点,bzr builder本身也有问题。看见 bzr export lp:~openerp/openobject-server/7.0 server bzr export lp:~openerp/openobject-addons/7.0 addons bzr export lp:~openerp/openerp-web/7.0 web mv addons/* server/openerp/addons/ mv web/addons/* server/openerp/addons cd server dpkg-buildpackage