c – 打包Linux软件,同时保持理智的文件结构

栏目: 服务器 · 发布时间: 6年前

内容简介:通常你会在tarball中找到一个名为’debian’的目录,其中包含debian特定文件.我会走相同的路线并创建一个目录’archlinux’并将文件放在那里.然后我会继续在archlinux目录中放置一个文件README,它解释了如何正确使用PKGBUILD.一种解决方案可能是将规则写入Makefile’package-arch’,将PKGBUILD复制到根目录,运行makepkg,然后删除冗余PKGBUILD.
所以我创建了一个软件,我想打包并发布到Arch Linux

用户存储库,AUR,请注意,我以前从未为任何发行版打包过任何东西 – 而且我也已将它打包并安装在我自己的机器上通过Arch的包管理员Pacman成功,但现在我想知道我是怎么构建文件夹和文件的?

通常,当我编写软件时,我使用这种结构:

建立/ | src / |生成文件

至少,在这个软件的情况下,makefile只是编译从.rc /到build /的.cpp文件.

要制作Arch包,我还必须创建一个.rc文件,正确使用该程序作为守护进程和PKGBUILD文件,该文件告诉makepkg程序如何构建installer-package – 这两个文件,但是,特定于Arch.

如果我想打包程序说debian,我还需要另外一组文件来做这个,但这些文件只适用于debian.现在,我不能只将.rc文件和PKGBUILD文件放入程序根目录文件夹中,因为这样会“乱七八糟”,特别是如果我还有文件来为debian构建一个包,但我在哪里放特定于发行版的文件?我需要在程序根文件夹中找到它 – 至少 – 能够跟踪它,我最初的想法是使用像distro / arch /这样的结构来获取Arch Linux特定文件,然后是PKGBUILD文件只是在程序根文件夹中运行makefile并将编译后的文件从build /复制到distro / arch /之后再做其他任何事情,但我发现我无法让PKGBUILD以这种方式工作,而且在Freenode上#archlinux上的人也是说这不是一个聪明的主意.

那么我在哪里放置发行版特定文件?如果我知道我只需要为Arch提供这个程序,那么只为Makepkg构建它很容易,但我不喜欢将软件这样监禁,我也可以想象为debian等其他市长发行版提供包,所以如何在保持理智的文件结构的同时实现这一目标?

问候,

克里斯Buchholz

通常你会在tarball中找到一个名为’debian’的目录,其中包含debian特定文件.我会走相同的路线并创建一个目录’archlinux’并将文件放在那里.

然后我会继续在archlinux目录中放置一个文件README,它解释了如何正确使用PKGBUILD.

一种解决方案可能是将规则写入Makefile’package-arch’,将PKGBUILD复制到根目录,运行makepkg,然后删除冗余PKGBUILD.

这是hackish,所以我也会为Arch人员写一个bug报告来修复这个限制.但是,您是否尝试过makepkg -p archlinux / PKGBUILD?

翻译自:https://stackoverflow.com/questions/4498159/packaging-linux-software-while-keeping-a-sane-file-structure


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

天涯虚拟社区

天涯虚拟社区

刘华芹 / 民族出版社 / 2005-11 / 23.00元

网络空间很复杂,好多人并不完全了解或者只是了解到一些皮毛。比如说好多人对于见网友一事总是抱着浪漫或者暖昧的想法,而事实却并不总是想象的那样。作者在做虚拟社区研究甚至是在有这个想法之前并不常呆在网上,互联网对于作者来说就是查查资料、收发信年、看看新闻的工具。担是看着越来越多的人把时间花在网上,一处文化上的直觉告诉作者:有一种新的生活方式产生了。强烈的好奇心驱使着作者走到了网上,走到了天涯虚拟社区,并......一起来看看 《天涯虚拟社区》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器