我的计划包括:
>一个库项目(“生成器”),用我的程序创建的数据.
>使用Gtk#的ui(“接口”)项目.这个项目有两个子目录:“glade”(gtk用于构建小部件的xml文件)和“book”(我的程序使用的数据).
>库和接口项目使用的实用程序项目(“Utils”).
>刚刚启动界面的主项目(“MyProgramName”).
(我想)我想做的事情非常简单(我认为):
>编译我的应用程序
>复制.exe和.dll文件(到/usr/local / bin?)
>复制“book”目录(到/usr/local / bin?)
>复制“glade”目录(到/usr/local / bin?)
哦,我想这样做.deb包.我想如果我能让tarball工作,那么.deb包应该不会太麻烦,但这就是我最终要做的事情.
我仍然不确定如何做到这一点.我用MonoDevelop创建了一个Tarball.当我安装tarball(使用./configure,make,sudo checkinstall)时,它似乎安装了可执行代码(甚至创建了一个运行该程序的命令),但忘记了“book”和“glade”目录.
我该怎么做呢?对不起,如果这是一个基本/广泛的问题.我一直在谷歌搜索,我似乎找不到任何不认为我知道包装的基本知识的东西(即使它声称它不承担这一点).
解决方法
>在构建目录中安装tarball.
>使用控制文件添加DEBIAN目录.我发现this article很有帮助.
>使用dpkg –build创建包.
我将从学习GNU的autotools开始:autoconf和automake.它们使得在构建目录中安装程序变得非常容易.你提到过./configure.所以我假设这个项目已经有了一些结构.从描述中,听起来像项目可能需要……
> configure.in中的条目用于“book”和“glade”中的文件.
>“book”和“glade”中的Makefile.am文件.
将所有内容放在一起,以下命令将生成名为project.deb的包文件.
# ./configure --prefix build/usr # make && make install # dpkg --build build project.deb