标签: rpm

在RPM包中添加许可协议

是否可以在RPM包中添加许可协议?当用户安装RPM时,它应该提示接受用户许可协议.

licensing rpm package

4
推荐指数
1
解决办法
4064
查看次数

如何使用一个脚本构建.deb .rpm .dmg等

这是我的问题:

我有一个程序,并希望以二进制格式分发它,以便用户不需要自己编译它.

我已经构建了一个.deb包.但是,我记得,应该有一些程序,它需要一个配置文件,并生成不同格式的不同二进制包,如.deb,.rpm,甚至.dmg,.msi等.意思是,我只需要告诉它哪个文件应该包含在包中(以及如何构建它),它可以为我生成不同的包.

在搜索了一些关键词后,我注意到在不知道其名称的情况下很难找到这样的程序.(我确实应该有类似的东西.事实上,我记得我在某个地方看过它.)

debian rpm

4
推荐指数
2
解决办法
3433
查看次数

使用外星人 RPM 到 DEB 的转换。设置 DEB 特定的元数据

我有一个 RPM 包,我使用 Alien 将其转换为 Debian 包。当我尝试使用 ubuntu 软件中心在 ubuntu 上安装它时,它会发出警告,如维护者姓名/地址格式错误(当我使用 dpkg -i 命令时,它安装时没有任何错误警告)。

我的问题是在构建 RPM 包时我在哪里设置维护者名称和地址(以及其他 debian 特定的元数据),以便外星人将它设置在 debian 包中?

ubuntu packaging rpm deb alien

4
推荐指数
1
解决办法
360
查看次数

使用 maven 的 RPM 包

我正在尝试使用 maven 插件构建 RPM 包。

如果我添加插件配置 RPM 包没有被制作,RPM 插件站点上的手册说包标签应该是 RPM 但这似乎导致构建失败,说这个目标是有效的。

有没有人有任何可以分享的例子?

编辑 错误是未知包装:rpm

<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>rpm</packaging>

<profile>
            <id>local</id>
            <build>
                <resources>
                    <resource>
                        <directory>src/main/resources/properties/dev</directory>
                    </resource>
                    <resource>
                        <directory>src/main/resources/txt</directory>
                    </resource>
                    <resource>
                        <directory>src/main/resources/universal</directory>
                    </resource>
                </resources>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>rpm-maven-plugin</artifactId>
                        <version>2.1-alpha-3</version>
                        <extensions>true</extensions>
                        <executions>
                            <execution>
                                <id>generate-rpm</id>
                                <goals><goal>rpm</goal></goals>
                                <phase>prepare-package</phase>
                            </execution>
                        </executions>
                        <configuration>
                            <summary>...</summary>
                            <name>...</name>
                            <version>...</version>
                            <release>...</release>
                            <vendor>...</vendor>
                            <packager>...</packager>
                            <group>Application</group>
                            <mappings>
                                <mapping>
                                    <directory>/tmp/testing</directory>
                                </mapping>
                            </mappings>
                            <!--<requires>filesystem, bash, grep</requires>-->

                            <description>
                                ...
                            </description>

                            <prepareScript>RPMScripts/prep.bash</prepareScript>
                            <preinstallScript>RPMScripts/preInstall.bash</preinstallScript>
                            <install>RPMScripts/install.bash</install>
                            <postinstall>RPMScripts/postInstall.bash</postinstall>
                            <cleanScript>RPMScripts/clean.bash</cleanScript>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.1</version>
                        <configuration>
                            <failOnError>true</failOnError>
                        </configuration>
                    </plugin>
                    <plugin> …
Run Code Online (Sandbox Code Playgroud)

java unix rpm maven rpm-maven-plugin

4
推荐指数
1
解决办法
2万
查看次数

什么是RPM包中的SPEC文件中的1%{?dist}

1%{?dist}是什么意思?这是什么意思?我没有在任何地方找到这个意思

Name:           hello
Version:        2.8
Release:        1%{?dist}
Summary:        The "Hello World" program from GNU
License:        GPLv3+
URL:            http://ftp.gnu.org/gnu/%{name}
Source0:        http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
BuildRequires: gettext
Requires(post): info
Requires(preun): info
%description 
Run Code Online (Sandbox Code Playgroud)

"Hello World"计划,完成了适当的FOSS项目的所有功能,包括配置,构建,国际化,帮助文件等.

%prep
%autosetup
%build
%configure
make %{?_smp_mflags}
Run Code Online (Sandbox Code Playgroud)

linux packaging fedora rpm

4
推荐指数
2
解决办法
3667
查看次数

genisoimage加工文件名

我正在尝试为脱机RPM存储库构建ISO映像.我有我需要的文件和结构,但是当我创建ISO映像时,文件名是乱码:

ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

ConsoleKit-32bit-0.2.10-64..r
Run Code Online (Sandbox Code Playgroud)

我在命令行上使用以下选项尝试了此操作并获得了相同的结果:

genisoimage -f -U -o update.iso /data/iso
genisoimage -f -l -allow-lowercase -o update.iso /data/iso
genisoimage -f -l -allow-leading-dots -relaxed-filenames -allow-lowercase -allow-multidot -no-iso-translate -o update.iso /data/iso
Run Code Online (Sandbox Code Playgroud)

是否有任何我可能会遗漏的文件名将被保留?这对于ISO repo正常工作至关重要.

linux iso rpm

4
推荐指数
1
解决办法
3889
查看次数

RPM的名称-版本-发布规则是什么?

想象一个名为 的 RPM abc-123-1.x86.rpm,我在其中发现了一个错误。

但我不知道如何命名包。

也许abc-123-2.x86.rpm?但是如果有一个xyz.rpm依赖abc-123-1呢?

也许abc-123-1.x86.1.rpm,...

所以我的问题是RPM 的 Name-Version-Release 的规则什么?

rpm

4
推荐指数
1
解决办法
4652
查看次数

bash:使用 expect 来自动化 GPG 签名

我正在编写一个 bash 脚本,它可以在 YUM 存储库中自动签署 RPM 包。为了完成这项任务,我使用expect.

到目前为止,这是我的源代码:

/usr/bin/expect <<EOD
spawn bash -c "rpm --resign ${NEW_REPO}/packages/*.rpm"
expect "Enter pass phrase:"
send "${GPG_PASS}\r"
expect eof
EOD
Run Code Online (Sandbox Code Playgroud)

NEW_REPO是 YUM 存储库的路径,GPG_PASS是 GPG 密钥的密码。

在大多数情况下,这非常有效并且可以成功地对包进行签名。

问题:即使该目录包含 42 个包,此代码块也仅对 28-30 RPM 的包进行签名。从命令行手动签署一批 RPM 包工作正常,但expect我的脚本中的块只是在到达所有包之前停止。这是一些奇怪的怪癖expect,还是我做错了什么?欢迎提出解决方法/建议。

谢谢

bash rpm gnupg yum expect

4
推荐指数
1
解决办法
1919
查看次数

使用rpm规范在特定目录中使用符号链接

使用spec文件创建的rpm将创建目录"directory1"和/ var/lib/directory1中的所有文件.

对于另一个用例,我想在"/ var/lib"中创建另一个目录,该目录应该是directory1的符号链接.

eg: 
cd /var/lib/
ls -la
directory2 -> directory1 
directory1
Run Code Online (Sandbox Code Playgroud)

如何在不使用spec文件中的绝对路径的情况下实现此目的?

symlink rpm rpmbuild rpm-spec

4
推荐指数
1
解决办法
2743
查看次数

将 RPM 解压到当前目录以外的目录

我需要运行:

rpm2cpio mypackage.rpm | cpio -idmv
Run Code Online (Sandbox Code Playgroud)

但是,我需要将输出放在不同的目录中。有没有比做更优雅的解决方案

mv <output> <to/other/directory>
Run Code Online (Sandbox Code Playgroud)

执行提取后?

bash shell extract rpm cpio

4
推荐指数
1
解决办法
4586
查看次数

标签 统计

rpm ×10

bash ×2

linux ×2

packaging ×2

alien ×1

cpio ×1

deb ×1

debian ×1

expect ×1

extract ×1

fedora ×1

gnupg ×1

iso ×1

java ×1

licensing ×1

maven ×1

package ×1

rpm-maven-plugin ×1

rpm-spec ×1

rpmbuild ×1

shell ×1

symlink ×1

ubuntu ×1

unix ×1

yum ×1