Tag Archives: deb

create a deb package on ubuntu for ncview

ncview is a X-windows based netCDF file browser. ncview是浏览netcdf文件格式非常好用的一个工具,还可以输出图像以及动画(连续的ppm)。 但是ncview现在只提供了源代码方式下载安装,在debian/ubuntu的官方库里都还没有对应的包,但fedora已经有了。 因为官方库还没有,搜索了一通,好像也没有别人在作,因此就尝试了一下自己从头制作DEB包。之前也简单接触过DEB打包,但那都是在别人已经DEB化的基础上所作的小修改,尝试之前就已经预计到会遇到麻烦。 参考ubuntu package guid complete上面的步骤,首先进行的是初始DEB化。这个没有任何问题,然后就是对应的修改,遇到了一堆的问题: 1、license的问题 upstream好像并没有明确声明采用什么LICENSE,但是看代码里没有文件头都有说明采用的是GPL-3的license。 2、orig.tar.gz的问题 ncview发布的包里包含了三个东西,一个是genoverlay,辅助生成overlay的小工具;一个是ncview;还有一个是udunits。udunits是第三方的软件,作者采用的是udunits 1.x的版本,但udunits的官方网站提示udunits现在已经发布了udunits-2版本,原有版本已经不再维护了(deprecated),同时udunits-2已经进入debian ftp master,但还没有审查通过。因此我在打包的时候就只选择了ncview的子目录,其他两个东西都没有考虑。 3、patch的问题 官方发布的软件,我第一次打包就遇到了BUG,是MAN中有一个大小写的错误,因此需要写patch。同时Makefile.in也需要作一些调整:改变NCVIEW_LIB_DIR到/usr/share/ncview目录,修正删除文件的错误(重复删除导致错误)。 没有采用patch管理系统,直接用patch/diff在rules文件中进行处理。开始直接用diff命令根据guide进行处理,最后发现在unpatch的时候就有问题。仔细看guide,原来是需要把新旧二者的目录名命名为new/old,这样就可以进行unpatch处理了。然后在rules文件中也需要进行小调整。 4、签名的问题 在control文件里要使用全名,使用缩写最后会提示一个警告。在制作deb包的时候,要加参数运行: debuild -kE40642E8 其中k后面的参数是我gpg的pub id。 5、发布的问题 本想发布到revu.ubuntuwire.com的,但死活访问不了,不管是否带tor。因此就想先发布PPA上。 先建立了~/.dput.cf,根据帮助,采用dput上传, dput ppa *.changes 但到网站上看就是没有反应,搜索了一下,发现会有信息到邮件,去邮件了看了下,果然是被拒。提示信息很奇怪: Rejected: Could … Continue reading

Posted in Linux | Tagged , , | Leave a comment

qgis 0.8svn版本的debian式安装

前面已经用checkinstall制作了qgis 0.8svn版本的deb包,现在或许我们可以用更加debian化的方式来进行打包: 首先更新代码: svn up 然后从www.debian.org或debian gis下载qgis 0.7.4的DEBIAN包,解开,然后拷贝其中的debian目录到qgis 0.8svn目录下。 进行修改: 1. 删除patches下的两个文件,这两个patch已经都没有用了,或许不删除也没有关系,打包时并没有调用。 2. 修改control文件,调整qt3为qt4,调整对应的软件包,包括gdal等。 3. 修改rules文件,调整对应的编译参数,或者添加你想使用的参数。 4. 修改三个*.install文件,调整其中对应的目录以及相应的文件,注意不要漏或重复。 然后打包: dch -i dpkg-buildpackage -rfakeroot

Posted in GIS, Linux | Tagged , , , | 1 Comment

deb重新打包

某软件的最新版本还没有进入当前debian包,但里面有些特性是当前所需要的,因此要对此软件重新打包。 1、该包进入了unstable 直接到debian网站下载该包的source,包括3个文件:dsc,tar.gz,diff.gz。 然后运行: dpkg-source -x xxx.dsc cd xxx dpkg-buildpackage -rfakeroot cd .. sudo dpkg -i xxx.deb 2、该包还未进入unstable 首先下载最新的source code,然后看其是否已经debian化。 若已经debian化,直接修改rules文件,定制自己的参数,然后打包、安装。 dpkg-buildpackage -rfakeroot sudo dpkg -i xxx.deb 若还没有debian化,那就首先要进行一系列debian文件的定制。然后再进行打包、安装。 参考:file:///usr/share/doc/maint-guide/maint-guide.zh_CN.html/index.zh-cn.html

Posted in Linux | Tagged , , | 1 Comment