- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在内部rpm包中打包一些用于Geoserver的 map 文件。对于构建部分,这只是复制文件。我认为这可以预期。但是打包这20GB的图像需要花费非常长的时间。
我读过rpm在内部压缩数据,并且可以使用几种不同的压缩算法来完成。但是,我不知道我的rpm选择哪个压缩以及如何影响它。我找不到rpmbuild命令的任何选项,也找不到规范文件的任何选项,也找不到可以用rpmbuild --showrc
列出的常规rpm选项的任何选项
我对rpmbuild和specfile不太有经验,但是在rpm.org上阅读了很多手册页和教程后,我没有更多的想法了。
我使用的specfile看起来像:
%define debug_package %{nil}
%global mapsversion 0.9
# If this is a snapshot, put the date here and uncomment
#global snapshot_version 20100519
# This is the version in a form acceptable
# an an RPM version string (i.e. no '-')
# Hier werden die Makros definiert.
%global rpmversion %(echo %{mapsversion} | tr '-' '_')
%global pkgversion %{mapsversion}%{?snapshot_version:-SNAPSHOT}
%global pkgname %{name}
Name: geoserver-maps-part2
Version: %{rpmversion}
Release: 1%{?dist}
Summary: Swiss Maps for GeoServer
Group: Application/ourApp
License: Copyright (c) 2011
URL: http://doc.polyalert.local
#Source0: %{name}-%{version}.tgz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: geoserver
%define mapshome /opt/geoserver/swisstopo
%define mapssource /home/user/polyalert_env/geoserver/swisstopo
%description
Swiss Maps for GeoServer
%prep
%build
/bin/true
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{mapshome}
cp -a %{mapssource}/pk100 $RPM_BUILD_ROOT%{mapshome}
%clean
rm -rf $RPM_BUILD_ROOT
%pre
%post
%preun
%files
%{mapshome}/pk100
%changelog
* Tue Feb 14 2012 user - 1.0
- First version of specfile
rpmbuild -bb --define "_topdir $TOP_DIR" --define "_gpg_name ourkey" --define "_signature gpg" --sign $TOP_DIR/SPECS/$SPEC_FILE_NAME $RPM_BUILD_PARAMETER
最佳答案
我今天正在处理一些RPM内容,但偶然发现了答案!
将它们放在您的spec
文件中:
%define _source_payload w0.gzdio
%define _binary_payload w0.gzdio
gzip
,但将
-0
传递给一个级别,该级别应存储。在我的RPM上,它从21MB增长到76MB,因此,我很确定这是您的答案!
macro
文件之一中,您还可以执行
bzdio
以及从
0
到
9
的任何数字以使用
bzip2
。这是在RHEL4上; RPM的更高版本似乎支持更多的压缩选项。但同样,对于您想要的,以上应该是您所需要的。
关于compression - rpmbuild更改压缩格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292243/
是否可以将参数传递给 rpmbuild 以填充在规范文件中调用的用户定义变量? 例子: 在 .spec 文件(但为空)中调用的用户定义变量 %{foobar} 应填充执行 rpmbuild 命令时传递
我正在从单一来源构建一系列 rpm,并且只想构建子包;即我不想创建一个空的主包,只想创建子包。 我该怎么做呢?它是 rpmbuild 开关还是我放入规范文件的东西? 谢谢 最佳答案 通常,您通过没有
我正在尝试构建我的第一个 RPM,但出现错误。我的 .rpmmarcos 文件如下所示: %packager Your Name %_topdir /home/snort/test %_tmppa
我正在尝试从 source-1.4.3-linux.tgz(已下载,因此我无法控制名称)构建 rpm,并将文件解压到目录 source-1.4.3-linux 中。在我的 source.spec 文件
我正在尝试制定 RPM 的构建流程。 当我生成源 RPM 时,它在文件名中包含 %{dist}。我希望它只对二进制 RPM 执行此操作,因为源 RPM 不是特定于发行版的。 dist 宏在 /etc/
我正在尝试创建一个仅更新系统上文件的包,但运行 rpmbuild 时不断出现错误。该错误表明文件丢失。 我已在 CentOS 5 和 6 上尝试过此操作,结果相同。 我使用rpmdev-setuptr
寻找某人在仅放置文件时澄清 %install 宏。我创建了一个没有错误的 RPM,它应该只是从 buildroot 中获取文件并将它们 cp 到/usr/lib。我在 %install 的 SPEC
我正在尝试构建一个 RPM(rpmbuild -bb 规范文件)。安装 rpm 时,一些可执行的 tcl 文件已损坏,并且所有文件的大小都相同。 最佳答案 在规范文件中声明“%global __os_
我想构建 RPM 文件,我希望它们被普遍使用,并且不依赖于安装的发行版。现在我发现了一个在 RHEL 和 SLES 上名称不同的需求。我发现这是可能的解决方案: %if 0%{?suse_versio
我在构建日志中收到以下信息: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CgE2Qn + umask 022 + cd /export/home/s
rpmbuild 可以通过查找包中包含的二进制文件所需的共享库来自动检测依赖关系,虽然这几乎每次都是一个很好的想法,但有时它是不可取的,但仅限于某些特定的库。我指的是某些二进制文件需要的库不是通过 r
我是 rpm 打包的初学者,据我所知,由于 cpio 限制,rpm-build 存在文件大小>4GB 的问题。因此,我将包中的大文件与 gnu 拆分为 512MB 的文件 [这是作为 rpmbuild
我正在使用 rpmbuild在AWS Lambda其存储限制为 512MB,磁盘空间即将用完。 我想删除原始文件/ Assets 以释放文件 /tmp/rpm-tmp.XXXX 之后的空间已创建且在最
我在/opt/MyApp 中有一个应用程序,我需要使用 FPM 将其打包到 RPM 包中如下: fpm -e -s dir -t rpm --name 'MyApp' --version '1.0'
我正在尝试为我制作的应用程序构建 rpm。我已经编写了spec文件并制作了一个额外的bash脚本来自动将所有必需的文件复制到rpmbuild目录结构中,即{BUILD,BUILDROOT,RPMS,S
我只是在学习为一些从源代码编译的自定义构建的软件制作 rpm 包(一些遗留的东西需要这个,所以我正在努力学习,因为一些包不能使用最新版本),但是遇到错误(我在 Vagrant 中以 root 身份执行
在过去的 6 个月里,我一直在努力弄清楚如何构建一个 rpm,但我仍在努力理解我在构建过程中遗漏了什么。我的目标是让我的 rpm 安装一个 tar.gz 文件。 这是我的 .rpmmacros 文件
在我正在处理的项目中,我需要使用私钥从我的输出可执行文件 (elf) 之一生成签名(签名形成 rpm 中的文件之一,私钥永远不会执行此操作离开构建机器)。目前,这是在我的 makefile 中完成的,
rpmbuild 在哪个目录下生成RPM? 我检查了 RPMS 目录:- [root@tom adil]# ls /usr/src/redhat/ BUILD RPMS SOURCES SPEC
假设我为 myprog1 和 myprog2 构建的包要安装在/usr/lib/mysystem/myprog1/和/usr/lib/mysystem/myprog2/中 根据一些发行版的文档,例如
我是一名优秀的程序员,十分优秀!