Provo a mettere in valigia alcuni file di mappe per il nostro geoserver in un pacchetto rpm interno. Per la parte di costruzione, questo è solo per copiare i file. Penso che funzioni come previsto. Ma ci vuole molto tempo per imballare quei 20 GB di immagini.rpmbuild modifica formato di compressione
Ho letto che rpm comprime internamente i dati e che questo può essere fatto con diversi algoritmi di compressione. Ma non ho idea di quale compressione scelga il mio rpm e di come posso influenzarlo. Non sono riuscito a trovare alcuna opzione per il comando rpmbuild, né per l'specfile né per le opzioni generali rpm posso elencare con rpmbuild --showrc
io non sono molto esperto con rpmbuild e specfiles, ma dopo aver letto un sacco di pagine di manuale e tutorial su rpm.org non ho altre idee.
specfile che uso si presenta come:
%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
io chiamo rpmbuild come questo:
rpmbuild -bb --define "_topdir $TOP_DIR" --define "_gpg_name ourkey" --define "_signature gpg" --sign $TOP_DIR/SPECS/$SPEC_FILE_NAME $RPM_BUILD_PARAMETER
Qualche suggerimento?
L'unica compressione di cui sono a conoscenza è '/ usr/lib/rpm/brp-compress' comprimerà le pagine man. –
poiché gli RPM sono molto più piccoli dei dati di input forniti, sono abbastanza sicuro che tutti i dati in essi contenuti siano compressi. Ho anche capito che gli archivi zip (nel mio caso i file jar) contenuti in un RPM verranno nuovamente compressi, in modo che il jar installato dall'RPM sia diverso rispetto all'ingresso (anche se il suo contenuto è identico) .. – mkraemerx
OK, Avrei dovuto specificare che con "l'unica compressione controllabile dall'utente", quindi ...;) –