Hello tout le monde. J'imagine que cette question a était posée plusieurs fois sur le forum mais je ne trouve pas quelque chose qui se resemble avec ce que j'ai comme problème.
Je vous explique. J'ai fait un package statique du perl-5.12 dans un répértoire qui s'appelle ocsinventory-agent. Dans ce répértoire j'ai installer avec l'aide de cpan les modules nécéssaires au fonctionement du ocs. Ca marche super bien. Mais voilà j'aimerai faire un rpm de ce répértoire qui a était mis dans une archive tar.gz.
J'ai créer l'arboresance suivante :
drwxr-xr-x 3 USER GROUPE 4096 Nov 8 16:38 BUILD
drwxr-xr-x 3 USER GROUPE 4096 Nov 9 11:52 ocsinventory-agent
drwxr-xr-x 3 USER GROUPE 4096 Nov 9 11:06 ocsinventory-agent-1.1-root
drwxr-xr-x 6 USER GROUPE 4096 Nov 8 16:50 RPMS
drwxr-xr-x 3 USER GROUPE 4096 Nov 9 10:29 SOURCES
drwxr-xr-x 2 USER GROUPE 4096 Nov 9 13:08 SPECS
drwxr-xr-x 2 USER GROUPE 4096 Nov 8 15:37 SRPMS
drwxr-xr-x 2 USER GROUPE 4096 Nov 8 15:37 tmp
Et ca c'est ce que j'ai dans chaque répertoire.
BUILD:
ocsinventory-agent
ocsinventory-agent:
ccv
ocsinventory-agent-1.1-root:
ccv
RPMS:
i386 i586 noarch x86_64
SOURCES:
ocsinventory-agent ocsinventory-agent-1.1.tar.gz ocsinventory-agent_rh_i386.tar.gz
SPECS:
ocs.spec
SRPMS:
tmp:
Tous ca se trouve dans
/ccv/home/USER/rpm/
J'ai créer un fichier .spec dans le répertoire SPECS qui s'appelle ocs.spec.
Ce fichier contiens les lignes suivantes :
# This is a sample spec file for wget
%define _topdir /ccv/home/USER/rpm/ocsinventory-agent
Summary: Faire l'inventaire du parc des machines CCV
Name: ocsinventory-agent
Version: 1.1
Release: 1
License: GPL
Group: System Environement/Base
Source: /ccv/home/USER/rpm/SOURCES/ocsinventory-agent-1.1.tar.gz
BuildRoot: %{_topdir}-%{version}-root
%description
Un program pour tenir l'inventaire des machines
%prep
%setup
%build
%install
if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
mkdir -p $RPM_BUILD_ROOT/ccv/app/ocsinventory-agent
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent
$RPM_BUILD_ROOT/ccv/app
mkdir -p $RPM_BUILD_ROOT/ccv/app/ocsinventory-agent
mkdir -p $RPM_BUILD_ROOT/ccv/app/ocsinventory-agent/ocsagentwork
mkdir -p $RPM_BUILD_ROOT/ccv/app/ocsinventory-agent/perl512
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent/perl512
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent/ocsagentwork
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent/runocsagent.sh
install -m 755 $RPM_BUILD_DIR/ocsinventory-agent/runocsagent_cron.sh
%clean
if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
rm -rf $RPM_BUILD_DIR-%{version}
%files
%defattr(-,root,root)
/ccv/app/ocsinventory-agent/*
Je suis sur que tout ce que j'ai mis dans ce fichiers et faut. Mais j'ai pas vraiment compris comment faire. Je veux dire j'ai compris pour les tar.gz que l'on doit compiler mais mon tar.gz l'est déja.
Et comment je peux dire a rpmbuild ou placer les fichiers en suite quand on installe le rpm ?
Et j'aimerai aussi que quelqu'un puisse m'expliquer l'histoire des droits sur les fichiers dans la partie %install.
Merci beaucoup pour votre aide car tout ça est super important pour mon boulot. Et après des recherches sur le net j'ai toujours pas vraiment compris comment faire ce fichier ...
Et encore une chose la commande c'est bien
rpmbuild -ba SPECS/ocs.spec
Merci encore une fois pour votre aide.