{{tag>RPM Paquet}} # Notes paquet RPM Redhat CentOS Voir aussi yum createrepo ## Création et modification Voir : * http://doc.fedora-fr.org/wiki/La_cr%C3%A9ation_de_RPM_pour_les_nuls_:_Cr%C3%A9ation_du_fichier_SPEC_et_du_Paquetage * http://www.tldp.org/HOWTO/RPM-HOWTO/build.html * https://fedoraproject.org/wiki/How_to_create_an_RPM_package * http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html * https://github.com/ImmobilienScout24/svn2rpm/blob/master/svn2rpm.spec * https://github.com/tomhillable/consul-rpm * https://stereochro.me/ideas/rpm-for-the-unwilling * Mock ~~~bash yum install rpmdevtools mkdir -p rpmbuild/{BUILDROOT,SPECS} cd rpmbuild/SPECS/ rpmdev-newspec plop ~~~ Récupérer les fichiers ~~~bash rpm2cpio ../plop-1.8.8-2.noarch.rpm | cpio -idmv ~~~ ~~~ For Reference: the cpio arguments are : -i = extract -d = make directories -m = preserve modification time -v = verbose ~~~ Récup script post-install ~~~bash rpm -qp --scripts plop-1.8.8-2.noarch.rpm ~~~ Éditer un paquet RPM en modifiant le SPEC ~~~bash sudo yum install rpmrebuild rpmrebuild -e -p plop-1.8.8-2.noarch.rpm ~~~ Générer un SPEC d'un RPM existant ~~~bash rpmrebuild -s plop.spec -p ../plop-1.8.8-2.noarch.rpm ~~~ Créer un RPM ~~~bash cd ~/rpmbuild rpmbuild --target=noarch -bb --sign SPECS/plop.spec cd RPMS/noarch ~~~ Exemple de fichier .spec avec PHP (pas de compilation) `plop.spec` ~~~ %define name superrpm %define version 1.5.6 %define release 2 Summary: Application super RPM Name: %{name} Version: %{version} Release: %{release} Vendor: Acme URL: http://www.acme.fr/ License: GPL3 Group: Web application Prefix: %{_prefix} Requires: php >= 5.2.4, mysql-server, php-pdo, httpd, php-soap, php-mbstring, php-mysql, php-xml, dmraid >= 1.0.0.rc13-53,php-gd BuildArch: noarch %description Super paquet RPM %post chmod -R 777 /var/www/Superrpm/ chown root:root /etc/httpd/conf.d/superrpm.conf service httpd reload %files #%defattr(755,root,root,644) %defattr(-,-,-) #/* /etc/cron.daily/update-plop /etc/cron.hourly/tache_plop.sh /etc/httpd/conf.d/plop.conf /etc/yum.repos.d/plop.repo /etc/php-fpm.d/plop.conf /etc/my.cnf.d/plop.cnf /var/www/plop/ %changelog * Mon Apr 25 2016 Equipe dev Acme - Plop : bugfixed * Mon May 4 2009 Equipe dev Acme - Première paquet RPM ~~~ Notes attr ~~~ 1. The default permissions, or "mode" for files. 2. The default user id. 3. The default group id. 4. The default permissions, or "mode" for directories. ~~~ ### Autres ~~~ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) ~~~