- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我在具有特定处理包管理方式的任何风格的系统上工作时,我都会尝试坚持使用该标准来管理我的 Perl 模块。 “在罗马时,等等。”
例如,在使用 ActivePerl 的 Win32 系统上,我对所有内容都使用 PPM,并使用出色的 PPM::Make .在 RedHat 系统上,我更喜欢使用 RPM。
现在我正在开发一个 Debian 系统,并且发现自己需要一种将任意 CPAN 或 CPAN 风格的发行版转换为 deb 的方法。
Google 显示了 dh-make-perl、CPANPLUS::Dist::Deb 和 CPAN::Packager::Builder::Deb 等选项。
有没有使用这些不同工具经验的人对使用或避免使用什么有任何建议?
处理从标准 CPAN 模块构建 deb 文件的最佳方法是什么?
更新:
我找到了an article by Hans Dieter Piercy关于这个主题 - 他建议,为了自己的需要,CPANPLUS 工具。在某些情况下,他推荐使用 dh-make-perl。 Jeremiah Foster(撰写了 brian d foy 所指的文章)对 HDP 做出了回应,并为 dh-make-perl 提供了一个案例。
还有a post on idimmu.net描述了使用 dh-make-perl。
ATM,我倾向于 dh-make-perl,因为它已被推荐三次(brian d foy 作为 Jeremy Foster、idimmu.net 的作者和 hillu 的代理),而一次推荐给 CPANPLUS
最佳答案
dh-make-perl
在处理重复和繁重的工作以及从源头猜测信息方面做得很好。对于我打包为 Debian 软件包(官方或仅供内部使用)的几乎所有 CPAN 模块,它都可以正常工作。
也就是说,生成的包只应被视为正确 Debian 包的起点。 dh-make-perl
将警告注释放入自动生成的如debian/control
(即包和依赖项的描述)和debian/copyright
(许可信息)。
回复曼尼,我认为是很棒工作的想法与 操作系统或发行版提供的用于包管理的工具,而不是针对它们。对于 Debian,这意味着将内容放入 .deb
。软件包并安装它们。 Perl 的构建工具和 CPAN 在提供跨平台构建环境和分发源代码方面做得很好,但与现代 Linux 发行版中的包管理工具相比,它们的性能并不理想,因为通常需要额外的手动干预,即跨多台机器的自动化不如卷起一个包那么容易。
(对于一次性和测试安装,安装到 /usr/local/
并使用 stow(8)
作为穷人的包管理器可能没问题。)
即使您只是为自己使用构建软件包,如果您认为相关模块对其他人有用,请考虑联系 Debian Perl 小组并让某人赞助上传到 Debian。
关于perl - 将 CPAN 模块转换为 Debian 软件包的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1336836/
当我做 rpm -qa | grep nano我可以看到 Nano 文本编辑器已安装到我的 CentOS 机器上。 但是当我做 rpm -qpi nano-2.9.8-1.el8.x86_64.rpm
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 4年前关闭。 Improve this qu
我无法使用“yum”命令在RHEL服务器上安装“graphviz” 我下载了graphviz rhel.repo,并将其保存在/etc/yum.repos.d/上,然后使用“yum-y install
我想用 Go 检查 dot 包是否已安装并可在当前 OS 上执行。 我的第一个想法是检查 PATH 变量中的 /dot 字符串?有没有更好的方法来使用 Go 获取可执行/已安装的包? 任何建议都会有所
我已经在我的 ubuntu 上安装了 R(3.4.0)。我想使用 EdgeR 包。我尝试按照 Bioconductor 网站上的安装说明安装 Bioconductor 软件包。 我在 R 中使用了以下
我已经自定义编译了我自己的 ffmpeg 版本,并从这个包中制作了一个 .deb 文件。包描述如下control.txt Package: ffmpeg Version: 4.3-ubuntu1804
我正在尝试构建一个 debian 软件包,它会自动配置我所有的机器以使用相同的配置文件和设置。 例如,我正在尝试设置诸如 alter/etc/default/hostapd 之类的内容。我目前正在通过
我的configuration.nix中有一些要覆盖的软件包。因此,我将代码编写如下: nixpkgs.config = { allowUnfree = true; packageOverri
我想将我的 Ubuntu 从 19.04 升级到 20.04,但在我更新所有软件包之前这是不可能的。 ❯ sudo do-release-upgrade Checking for a new Ubun
我安装了 Homebrew 软件,但是我没有管理员权限。如何在没有管理员访问权限的情况下安装 Homebrew 软件包?是否有本地标签或我一直缺少的东西? 最佳答案 Homebrew 需要 /usr/
我想重建/重新编译具有特定标志的机器的所有 Debian 软件包。 我怎样才能用尽可能少的命令来做到这一点? 我发现 https://debian-administration.org/article
请帮我在 R 中安装 Rmpfr 包。 结果是: 安装包“Rmpfr”的退出状态非零,我无法安装它。 R控制台的代码发布如下: * installing *source* package ‘Rmpfr
有没有办法从这一行下载所有软件包,将它们保存在本地,然后将它们安装到没有互联网连接的机器上? yum install -y qemu-kvm qemu-img virt-manager libvirt
以下 R 命令将安装所有 CRAN 软件包: availablePackages <- available.packages()[,1] install.packages(availablePacka
我正在尝试在 OS X 10.12.6 上安装 RCurl,但出现以下错误: Error: package or namespace load failed for ‘RCurl’ in dyn.lo
我正在尝试自动设置开发人员机器软件安装。当您连接到 Internet 时,Chocolatey 很适合安装软件包。有没有办法离线安装软件包? 我只想将所有包放在共享网络文件夹中并使用该包进行安装。如果
这很奇怪,list-packages 缓冲区将实际安装的某些软件包的状态显示为“可用”。该列不应该为他们显示“已安装”吗?当我单击其中一个时,会打开一个新缓冲区,通知我该软件包已安装,但不提供卸载选项
我刚开始学习 Dart 。 首先,我从https://angular.io/docs/dart/latest/quickstart.html创建了一个基于angular2-dart的项目,它正常工作。
我在 ~/R/i486-pc-linux-gnu-library/2.11 下安装了一些 R 软件包。 我想让它们以及我从现在开始安装的任何其他 R 软件包可供所有 R 用户使用。我不介意在一个中立的
我是Renjin的新手,无法使用AetherPackageLoader安装软件包。我收到与Renjin can't load pckages中相同的错误,但看似正确的Gradle文件(请注意a4Bas
我是一名优秀的程序员,十分优秀!