私たちのジオサーバのマップファイルを内部rpmパッケージにパックしようとしました。ビルド部分では、ファイルをコピーするだけです。私はこれが期待どおりに機能すると思います。しかし、20GBの画像をパックするのにはかなり時間がかかります。rpmbuildは圧縮形式を変更します
私はrpmが内部的にデータを圧縮していることを読みました。これは、いくつかの異なる圧縮アルゴリズムで実行できます。しかし、私はrpmが選択した圧縮と、これにどのように影響を与えることができるかという手がかりは持っていません。 rpmbuildコマンド、specfile、一般的なrpmオプションのオプションは見つかりませんでした。rpmbuild --showrc
rpmbuildとspecfilesはあまり経験がありませんが、多くのマニュアルページとチュートリアルを読んだ後ですrpm.orgに私はそれ以上のアイデアはありません。
私が使用するspecファイルは次のようになります。私はこのようなrpmbuildのを呼び出す
%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
任意の提案ですか?
「/ usr/lib/rpm/brp-compress'は、マニュアルページを圧縮することのみを認識しています。 –
RPMは提供された入力データよりはるかに小さいので、そこにあるすべてのデータが圧縮されていることは間違いありません。私はRPMに入っているzipアーカイブ(私の場合はjarファイル)が再び圧縮されてRPMからインストールされたjarファイルが入力ファイルと同じであることを知りました。 – mkraemerx
OK、私は "唯一のユーザー制御可能な圧縮"で始めるべきだったが...;) –