Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Représenter Fedora au Capitole du Libre 2019

#1 07/06/2011 16:30:21

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

[Résolu] Script de packaging

Bonjour,

Je suis l'auteur du projet ffDiaporama http://ffdiaporama.tuxfamily.org : Un petit soft pour monter ses photo/vidéo de vacance.
J'aimerais packager l'application pour F14 et F15, dans un 1er temps pour publication sur mon site WEB, et dans un 2eme temps pour proposition à RPM Fusion.

Je sais, c'est pas bien, je devrais le faire moi-même ...,
... mais j'avoue préférer me consacrer au dev. de mon appli. plutôt qu'à son packaging.

Du coup, je fais appel aux bonnes volontés et à votre contribution : L'un d'entre vous accepterait-il de me faire un script (en bash ou python) pour réaliser automatiquement le packaging de ffDiaporama. L'idée serait que je n'ai qu'à lancer le script pour fabriquer un .rpm à chaque fois que je décide de publier une nouvelle version.


Merci d'avance.

Hors ligne

#2 07/06/2011 17:03:09

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

c'est pas un script qu'il te faut c'est un fichier spec, la doc l'explique très bien d'ailleurs smile


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#3 07/06/2011 19:08:55

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

argh ... moi qui voulait faire le faignant .... tant pis pour moi ...

Pour que je comprennes bien : On construit le RPM à partir des sources ou à partir du résultat compilé ?

Si c'est à partir des sources, sachant que mes dépendances de compilation sont :
yum groupinstall "Development Tools"
yum install qt-devel
yum install ffmpeg-devel
yum install SDL-devel SDL_mixer-devel

Que dois-je mettre dans BuildRequires ou BR sachant qu'il y a du groupinstall et du install simple ?
Peux tu me donner un exemple ?

Pour la section Requires, mes dépendances sont seulement ffmpeg, le reste est censé être installé par défaut avec la distribution
Dois-je quand même indiquer l'ensemble des paquets, même ceux installés par défaut avec la distribution ?
Existe-t'il un utilitaire pour identifier l'ensemble des paquets en dépendance ?

Dans la section %build, comment lui indique t'on qu'on veut faire un qmake-qt4 et non pas un configure ?

Si c'est à partir du résultat compilé :
Comment convertir mon make install (qui dépend des fichiers dans build) en un make install se basant sur les fichiers finaux (sans les fichiers intermédiaire) ?

Merci d'avance pour ton aide

Hors ligne

#4 07/06/2011 19:14:38

proxy
Membre
Lieu : Localhost
Inscription : 15/08/2007
Messages : 8 805
Site Web

Re : [Résolu] Script de packaging

Bonsoir,

  avec la commande yumdownloader --source UNPAQUET, tu vas récupérer le srpm de UNPAQUET.
Tu installes ce srpm avec rpm -ivh, et tu auras un exemple de .spec dans ton $HOME/rpmbuild/SPECS


F23 / KDE 5
Il date de quand votre dernier backup ?

Hors ligne

#5 07/06/2011 22:33:15

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

bon, j'avance : ça compile

J'en suis à l'étape 1.11 de la doc, à la partie Empaquetage, contrôles des %files

Quand je lance rpmbuild -bi --short-circuit ffDiaporama.spec, j'obtiens :
install -m 755 -p /home/dominique/rpmbuild/BUILD/build/ffDiaporama /usr/bin/
install: cannot create regular file `/usr/bin/ffDiaporama': Permission denied
make: [install_TARGET] Error 1 (ignored)

Le make install refuse de s'exécuter car je suis avec un compte user !

Aurais-je raté une étape ?

Ci dessous, un bout de mon .spec

%prep
%setup -q


%build
qmake-qt4
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
desktop-file-install --vendor=""                                 \
       --dir=%{buildroot}%{_datadir}/applications/   \
       %{buildroot}%{_datadir}/applications/ffDiaporama.desktop

%files
%doc

Hors ligne

#6 07/06/2011 22:59:23

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

il y aurai pas un problème dans ton makefile là ?

Visiblement il essais d'installer quelque chose dans /usr/bin donc forcément il a pas le droit (et c'est très bien ainsi).

Pense à donner le spec en entier, la sortie de la console en entier et éventuellement un lien vers le src.rpm wink


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#7 07/06/2011 23:39:47

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Je pense comprendre : Effectivement, il essaye d'installer normalement dans /usr/share et /usr/bin au lieu de rpmbuild/BUILDROOT

Voici mon fichier .SPEC complet (Je l'ai intégrer aux sources !) :

Name:           ffDiaporama
Version:        0.99.2
Release:        1%{?dist}
Summary:        Movie creator from photos and video clips
License:        GPLv2
URL:            http://ffdiaporama.tuxfamily.org
Group:        Applications/Multimedia
Source0:        ffDiaporama-0.99.2.tar.gz
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  qt-devel, ffmpeg-devel, SDL-devel, SDL_mixer-devel, desktop-file-utils
Requires:       ffmpeg

%description
ffDiaporama is an application of creation of videos sequences established by
    * titles, fixed or livened up.
    * images or by photos, fixed or livened up.
    * movie clip
    * music

These sequences are assembled in slide show by means of transitions of sequence
to produce complete videos

Main features:
    * Refocused of images and photos and refocused and cutting of video clips
    * Note (addition of text) for images, photos, sequences and animations
    * Graphic filters on the images and the videos (passage in black and white,
      dust removal, equalization of colors, etc.)
    * Creation of animation by zoom, rotation or Ken Burns Effect on part of 
      images or photos
    * Correction of the images and the videos during the animations
      (luminosity, contrast, gamma, colors, etc.)
    * Transitions between sequence with definition of the transition type, 
      sequence by sequence.
    * Addition of a background sound (wav, mp3 or ogg) with customizable 
      effects of volume, fade in/out and passage in pause, sequence by
      sequence.
    * Generation of usable videos by most of the current videos equipments 
      (DVD player/smartphone, multimedia box, hard drive, etc.) but also 
      publishable on the main video sharing Web sites (YouTube, Dailymotion, 
      etc.)

%prep
%setup -q


%build
qmake-qt4
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
desktop-file-install --vendor=""                                 \
       --dir=%{buildroot}%{_datadir}/applications/   \
       %{buildroot}%{_datadir}/%{name}/ffDiaporama.desktop

%files
%doc

%post
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%postun
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%changelog

Pour créer le paquet à partir de mon SVN, j'ai créé le script suivant :

#!/bin/bash
cd ~
rm -Rf rpmbuild
mkdir rpmbuild
mkdir rpmbuild/SOURCES
mkdir rpmbuild/SPECS
cd rpmbuild/SOURCES
wget -O ffDiaporama.tar.gz http://svn.tuxfamily.org/viewvc.cgi/ffdiaporama_trunk.tar.gz?view=tar
tar -xzf ffDiaporama.tar.gz
rm ffDiaporama.tar.gz
cd ffdiaporama_trunk
cp ffDiaporama/ffDiaporama.SPEC ../../SPECS
mv ffDiaporama ffDiaporama-0.99.2
tar -czf ../ffDiaporama-0.99.2.tar.gz *
cd ..
rm -Rf ffdiaporama_trunk
cd ~
rpmbuild -ba rpmbuild/SPECS/ffDiaporama.SPEC

Ce que je crois comprendre, c'est que dans la ligne :
make install DESTDIR=$RPM_BUILD_ROOT

La variable DESTDIR n'est pas prise en compte.
Cela vient probablement de mon fichier .pro que voici :

#-------------------------------------------------
#
# Project created by QtCreator 2010-12-30T08:14:00
#
#-------------------------------------------------

QT          += core gui xml
QMAKE_STRIP = echo
PREFIX      = /usr

TARGETAPP   = ffDiaporama
TARGET      = $$TARGETAPP
TEMPLATE    = app
unix {
    LIBS        += -lavformat -lavcodec -lavutil -lswscale -lSDL
    DESTDIR     += ../build/
    OBJECTS_DIR += ../build/
    MOC_DIR     += ../build/
    UI_DIR      += ../build/
    ICON        = img/logo.png
    INCLUDEPATH += /usr/include/ffmpeg/  # Specific for Fedora
}
win32 {
    DESTDIR     += ../winbuild/
    OBJECTS_DIR += ../winbuild/
    MOC_DIR     += ../winbuild/
    UI_DIR      += ../winbuild/
    RC_FILE     = ffDiaporama.rc
    INCLUDEPATH += . \
                   C:\\Qt\\ffmpeg-win32-dev\\include \                  #------ ffmpeg library path
                   C:\\Qt\\SDL-1.2.14\\include                          #------ SDL library path

    LIBS        += -L"C:\\Qt\\ffmpeg-win32-dev\\lib" \                  #------ ffmpeg library path
                   -L"C:\\Qt\\SDL-1.2.14\\lib" \                        #------ SDL library path
                   -lavformat -lavcodec -lavutil -lswscale -lSDL
}

SOURCES +=  _ApplicationDefinitions.cpp \
            _SoundDefinitions.cpp \
            _ImagesDefinitions.cpp \
            _ImageFileWrapper.cpp \
            _VideoFileWrapper.cpp \
            _Diaporama.cpp \
            wgt_QVideoPlayer.cpp \
            wgt_QCustomRuller.cpp \
            wgt_QCustomThumbnails.cpp \
            fmt_filters.cpp \
            wgt_QBackgroundDefWidget.cpp \
            DlgApplicationSettings.cpp \
            DlgBackgroundProperties.cpp \
            wgt_QCompositionWidget.cpp \
            cCustomGraphicsRectItem.cpp \
            cCustomComboBox.cpp \
            wgt_QCustomBrush.cpp \
            DlgMusicProperties.cpp \
            DlgRenderVideo.cpp \
            DlgTransitionProperties.cpp \
            DlgAbout.cpp \
            mainwindow.cpp \
            main.cpp \
    DlgSlideProperties.cpp \
    DlgImageCorrection.cpp \
    DlgImageTransformation.cpp \
    DlgVideoEdit.cpp \
    DlgTextEdit.cpp

HEADERS  += _GlobalDefines.h \
            _SoundDefinitions.h \
            _ImagesDefinitions.h \
            _ApplicationDefinitions.h \
            _ImageFileWrapper.h \
            _VideoFileWrapper.h \
            _Diaporama.h \
            wgt_QVideoPlayer.h \
            wgt_QCustomRuller.h \
            wgt_QCustomThumbnails.h \
            fmt_filters.h \
            wgt_QBackgroundDefWidget.h \
            DlgApplicationSettings.h \
            DlgBackgroundProperties.h \
            wgt_QCompositionWidget.h \
            cCustomGraphicsRectItem.h \
            cCustomComboBox.h \
            wgt_QCustomBrush.h \
            DlgMusicProperties.h \
            DlgRenderVideo.h \
            DlgTransitionProperties.h \
            DlgAbout.h \
            mainwindow.h \
    DlgSlideProperties.h \
    DlgImageCorrection.h \
    DlgImageTransformation.h \
    DlgVideoEdit.h \
    DlgTextEdit.h

FORMS    += mainwindow.ui \
    wgt_QVideoPlayer.ui \
    wgt_QBackgroundDefWidget.ui \
    DlgApplicationSettings.ui \
    DlgBackgroundProperties.ui \
    wgt_QCompositionWidget.ui \
    wgt_QCustomBrush.ui \
    DlgMusicProperties.ui \
    DlgRenderVideo.ui \
    DlgTransitionProperties.ui \
    DlgAbout.ui \
    DlgSlideProperties.ui \
    DlgImageCorrection.ui \
    DlgImageTransformation.ui \
    DlgVideoEdit.ui \
    DlgTextEdit.ui

OTHER_FILES += \
    ffDiaporama.xml \
    TODO-LIST.txt \
    licences.txt \
    licences.rtf \
    ffDiaporama.rc \
    BUILDVERSION.txt \
    ffDiaporama.SPEC \
    ffDiaporama.desktop

TRANSLATIONS += locale/locale_fr.ts

#install
unix {
    TARGET.path         = $$PREFIX/bin
    TARGET.files        = ../build/$$TARGET
    translation.path    = $$PREFIX/share/$$TARGETAPP/locale
    translation.files   = locale/*.qm
    background.path     = $$PREFIX/share/$$TARGETAPP/background
    background.files    = background/*.*
    img.path          = $$PREFIX/share/$$TARGETAPP/img
    img.files         = img/*.*
    tr_img.path       = $$PREFIX/share/$$TARGETAPP/transitions-img
    tr_img.files      = transitions-img/*.*
    luma.path           = $$PREFIX/share/$$TARGETAPP/luma
    luma.files          = luma/*.*
    luma_Bar.path       = $$PREFIX/share/$$TARGETAPP/luma/Bar
    luma_Bar.files      = luma/Bar/*.*
    luma_Box.path       = $$PREFIX/share/$$TARGETAPP/luma/Box
    luma_Box.files      = luma/Box/*.*
    luma_Center.path    = $$PREFIX/share/$$TARGETAPP/luma/Center
    luma_Center.files   = luma/Center/*.*
    luma_Checker.path   = $$PREFIX/share/$$TARGETAPP/luma/Checker
    luma_Checker.files  = luma/Checker/*.*
    luma_Clock.path     = $$PREFIX/share/$$TARGETAPP/luma/Clock
    luma_Clock.files    = luma/Clock/*.*
    luma_Snake.path     = $$PREFIX/share/$$TARGETAPP/luma/Snake
    luma_Snake.files    = luma/Snake/*.*
    documentation.path  = $$PREFIX/share/$$TARGETAPP/help
    documentation.files = help/*.*
    General.path        = $$PREFIX/share/$$TARGETAPP
    General.files       = ffDiaporama.xml BUILDVERSION.txt ../licence.rtf ../licences.txt libx264-hq.ffpreset ffDiaporama.desktop

    INSTALLS += TARGET translation background img tr_img luma luma_Bar luma_Box luma_Center luma_Checker luma_Clock luma_Snake documentation General
}

Peut être en utilisant un autre mot clef au lieu de DESTDIR dans le .SPEC ?

Hors ligne

#8 08/06/2011 18:07:33

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Bon, j'ai fini par trouver et effectivement, il fallait bien remplacer DESTDIR par INSTALL_ROOT pour les programmes en QT :
make install INSTALL_ROOT=$RPM_BUILD_ROOT

Au passage j'ai également amélioré quelques bricoles et je me posais deux questions :
- Est-il possible de donner plusieurs traduction dans le .SPEC (comme on le fait dans le .desktop) ?
- Comment faire pour donner une icône au paquet (la ligne icon + une icone en .xpm dans SOURCES n'y suffit pas)

Ci joint : mon fichier .SPEC

Name:           ffDiaporama
Version:        0.99.2
Release:        1%{?dist}
Summary:        Movie creator from photos and video clips
License:        GPLv2
URL:            http://ffdiaporama.tuxfamily.org
Group:        Applications/Multimedia
Icon:        logo.xpm
Source0:        ffDiaporama-0.99.2.tar.gz
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  qt-devel, ffmpeg-devel, SDL-devel, SDL_mixer-devel, desktop-file-utils
Requires:       ffmpeg

%description
ffDiaporama is an application of creation of videos sequences established by
titles, images, photos, movie clip and music.

These sequences are assembled in slide show by means of transitions of
sequence to produce complete videos

Main features:
    * Refocused of images and photos and refocused and cutting of video clips
    * Note (addition of text) for images, photos, sequences and animations
    * Graphic filters on the images and the videos (passage in black and
      white, dust removal, equalization of colors, etc.)
    * Creation of animation by zoom, rotation or Ken Burns Effect on part of
      images or photos
    * Correction of the images and the videos during the animations
      (luminosity, contrast, gamma, colors, etc.)
    * Transitions between sequence with definition of the transition type,
      sequence by sequence.
    * Addition of a background sound (wav, mp3 or ogg) with customizable
      effects of volume, fade in/out and passage in pause, sequence by
      sequence.
    * Generation of usable videos by most of the current videos equipments
      (DVD player/smartphone, multimedia box, hard drive, etc.) but also
      publishable on the main video sharing Web sites (YouTube, Dailymotion,
      etc.)

%prep
%setup -q


%build
qmake-qt4
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install INSTALL_ROOT=$RPM_BUILD_ROOT
desktop-file-install --vendor=""                                 \
       --dir=%{buildroot}%{_datadir}/applications/   \
       %{buildroot}%{_datadir}/ffDiaporama/ffDiaporama.desktop

%files
%doc
%{_datadir}/
/usr/bin/ffDiaporama

%post
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%postun
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%changelog

J'ai déposé le paquet 32 bits pour F14 ici : http://download.tuxfamily.org/ffdiapora … 4.i686.rpm
et le paquet 32 bits pour F15 ici : http://download.tuxfamily.org/ffdiapora … 5.i686.rpm
(Je ferais les 64 bits ce soir ou demain.)

J'aimerai bien avoir votre avis sur ces paquets : sont-ils correct ?
Merci d'avance

Hors ligne

#9 08/06/2011 18:19:52

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

Crois moi tu n'as pas encore fini smile

* C'est cool ça compile et sors un rpm ! Bravo smile
* Maintenant il faut passer rpmlint sur tous les rpm (y compris le src.rpm) et corriger les différentes erreurs et warning

* Pour l'icône, j'imagine que tu parles de l'icônes du .desktop et bien il te faut l'installer. Inspire toi d'autre paquet pour voir comment c'est fait (vois geany, guake ou tout autre paquet apporter un .desktop)

* La trad du spec est possible, même si assez peu utilisé, voir le paquet earth-and-moon-backgrounds pour un example


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#10 08/06/2011 18:59:52

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Argh ... que de boulot !

rpmlint ffDiaporama-0.99.2-1.fc15.i686.rpm

ffDiaporama.i686: I: enchant-dictionary-not-found en_US
ffDiaporama.i686: E: no-changelogname-tag
ffDiaporama.i686: W: no-documentation
ffDiaporama.i686: E: standard-dir-owned-by-package /usr/share
ffDiaporama.i686: W: no-manual-page-for-binary ffDiaporama
1 packages and 0 specfiles checked; 2 errors, 2 warnings.

no-changelogname-tag est non documenté : est-ce grave ?
standard-dir-owned-by-package /usr/share : Solution:- You should not make Systems standard directory's to belong to your package.
=> Je ne comprends pas la solution préconisée

rpmlint ffDiaporama-debuginfo-0.99.2-1.fc15.i686.rpm

ffDiaporama-debuginfo.i686: I: enchant-dictionary-not-found en_US
ffDiaporama-debuginfo.i686: E: no-changelogname-tag
1 packages and 0 specfiles checked; 1 errors, 0 warnings.

Idem précédent

rpmlint ffDiaporama-0.99.2-1.fc15.src.rpm

ffDiaporama.src: I: enchant-dictionary-not-found en_US
ffDiaporama.src: E: no-changelogname-tag
ffDiaporama.src: E: no-spec-file
1 packages and 0 specfiles checked; 2 errors, 0 warnings.

no-spec-file est non documenté : est-ce grave ?

Pour l’icône, non, je parlais de l’icône qui apparaît dans ajouter/supprimer des logiciels  (j'ai la standard : la boite ouverte).
Sinon, j'ai bien l’icône dans le menu Son & vidéo

Pour la traduction, je vais suivre ton conseil et regarder earth-and-moon-backgrounds

Hors ligne

#11 08/06/2011 19:06:08

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

* Le changelog faut le remplir (si, si) !
* La documentation faut la mettre (oui, oui) !
* Pour standard-dir-owned-by-package, il faut ajuster la section %files

Je t'avais dit wink


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#12 08/06/2011 20:47:50

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Ok, j'ai ajouté un changelog et mis la licence en doc.
Maintenant, ça donne :

rpmlint '/home/dominique/rpmbuild/RPMS/i686/ffDiaporama-0.99.2-1.fc14.i686.rpm' 
ffDiaporama.i686: I: enchant-dictionary-not-found en_US
ffDiaporama.i686: E: standard-dir-owned-by-package /usr/share
ffDiaporama.i686: W: no-manual-page-for-binary ffDiaporama
1 packages and 0 specfiles checked; 1 errors, 1 warnings.

Pour l'histoire du standard-dir-owned-by-package, soit plus clair, s'il te plait :
je dois changer quoi dans la section %files ?

PS: J'ai mis les 2 nouveaux paquets sur les liens que je donnais tout à l'heure

Hors ligne

#13 08/06/2011 22:35:11

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

voir: http://doc.fedora-fr.org/wiki/La_cr%C3% … n_.25files pour la section %files

Sinon la première ligne tu peux l'ignorer, la troisième comme tu es le dev à toi de voir si elle vaut le coup wink


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#14 09/06/2011 09:41:17

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

J'ai réussi à franciser le paquet et maintenant j'ai ça :

rpmlint '/home/dominique/rpmbuild/RPMS/x86_64/ffDiaporama-0.99.2-1.fc15.x86_64.rpm'
ffDiaporama.x86_64: I: enchant-dictionary-not-found en_US
ffDiaporama.x86_64: W: name-repeated-in-summary C FFDIAPORAMA
ffDiaporama.x86_64: I: enchant-dictionary-not-found fr
ffDiaporama.x86_64: W: name-repeated-in-summary fr FFDIAPORAMA
ffDiaporama.x86_64: E: standard-dir-owned-by-package /usr/share
ffDiaporama.x86_64: W: no-manual-page-for-binary ffDiaporama
1 packages and 0 specfiles checked; 1 errors, 3 warnings.

Je n'ai toujours pas de solution pour l'erreur : standard-dir-owned-by-package (la doc ne m'aide pas !)

Mon fichier spec :

Name:           ffDiaporama
Version:        0.99.2
Release:        1%{?dist}
Summary:        FFDIAPORAMA - Movie creator
Summary(fr):    FFDIAPORAMA - Créateur de film
License:        GPLv2
URL:            http://ffdiaporama.tuxfamily.org
Group:        Applications/Multimedia
Icon:        logo.xpm
Source0:        ffDiaporama-0.99.2.tar.gz
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  qt-devel, ffmpeg-devel, SDL-devel, SDL_mixer-devel, desktop-file-utils
Requires:       qt, SDL, SDL_mixer, ffmpeg, exiv2

%description
ffDiaporama is an application of creation of videos sequences established by
titles, images, photos, movie clip and music.

These sequences are assembled in slide show by means of transitions of
sequence to produce complete videos

Main features:
* Refocused of images and photos and refocused and cutting of video clips
* Note (addition of text) for images, photos, sequences and animations
* Graphic filters on the images and the videos (passage in black and
  white, dust removal, equalization of colors, etc.)
* Creation of animation by zoom, rotation or Ken Burns Effect on part of
  images or photos
* Correction of the images and the videos during the animations
  (luminosity, contrast, gamma, colors, etc.)
* Transitions between sequence with definition of the transition type,
  sequence by sequence.
* Addition of a background sound (wav, mp3 or ogg) with customizable
  effects of volume, fade in/out and passage in pause, sequence by
  sequence.
* Generation of usable videos by most of the current videos equipments
  (DVD player/smartphone, multimedia box, hard drive, etc.) but also
  publishable on the main video sharing Web sites (YouTube, Dailymotion,
  etc.)

%description -l fr
ffDiaporama est une application de création de séquences vidéos constituées de
titres, d'images ou de photographies, de clips vidéo et de musiques.

Ces séquences sont assemblées en diaporama à l'aide de transitions de séquence
pour constituer des vidéos complètes.

Principales fonctionnalités :
* Recadrage des images, photos, titres et vidéos et découpage des clips vidéos
* Annotation (ajout de texte) des images, des photos, des vidéos et des
  animations
* Filtres graphiques sur les images et vidéos (passage en noir et blanc,
  dépoussiérage, égalisation des couleurs, etc...)
* Création d'animation par effet de zoom, de rotation, de déplacement sur des
  portions d'images (effet Ken Burns)
* Correction des images et des vidéos pendant les animations
  (correction luminosité, contraste, gamma, couleurs, etc...)
* Transitions entre séquences avec définition séquence par séquence.
* Ajout de musique pendant le diaporama avec effets de volume, de fondu et
  passage en pause paramétrables séquence par séquence.
* Génération de vidéos exploitables par la plupart des équipements vidéos
  (lecteurs de DVD de salon, disques durs multimédia, mobile/smartphone, etc.)
  mais également diffusables sur les principaux sites WEB de partage vidéo
  (Youtube, Dailymotion, etc.)

%prep
%setup -q

%build
qmake-qt4
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install INSTALL_ROOT=$RPM_BUILD_ROOT
desktop-file-install --vendor=""                                 \
       --dir=%{buildroot}%{_datadir}/applications/   \
       %{buildroot}%{_datadir}/ffDiaporama/ffDiaporama.desktop

%files
%doc %{_datadir}/ffDiaporama/licences.txt
%{_datadir}/
%{_bindir}/%{name}

%post
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%postun
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor;
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :

%changelog

* Wed Jun  8 2011 Dominique LEVRAY <levray.dominique@bbox.fr> %{version}-%{release}
- Initial release

Je me doute bien que le problème vient du %files :
%doc %{_datadir}/ffDiaporama/licences.txt
%{_datadir}/
%{_bindir}/%{name}
et même probablement du %{_datadir}/
Mais il faut mettre quoi à la place ? (la doc ne le dis pas !)

Hors ligne

#15 09/06/2011 09:48:23

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

DomLeDom a écrit :

J

%changelog

* Wed Jun  8 2011 Dominique LEVRAY <levray.dominique@bbox.fr> %{version}-%{release}
- Initial release

Je me doute bien que le problème vient du %files :
%doc %{_datadir}/ffDiaporama/licences.txt
%{_datadir}/
%{_bindir}/%{name}
et même probablement du %{_datadir}/
Mais il faut mettre quoi à la place ? (la doc ne le dis pas !)

* Ne met pas %{version} et %{release} dans le changelog

* Pour %files tu as tout bon c'est bien la ligne %{_datadir}/ qui pose problème.
Cette section du spec sert à dire à rpm quels sont les fichiers installés par ce rpm (et donc inversement, à quel rpm appartient un fichier). Voir les commandes rpm -ql <paquet> et rpm -qf <fichier/dossier>.
Avec ça tu indiques à rpm ce qu'il installe et ce qu'il doit déinstallé quand tu retires ce rpm. Tiens-tu vraiment à virer /usr/share quand tu retires ton rpm ? smile


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#16 09/06/2011 17:40:09

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Effectivement, je ne veux pas supprimer /usr/share !

Donc :

%files
%doc %{_datadir}/ffDiaporama/licences.txt
%{_datadir}/%{name}/
%{_bindir}/%{name}
%{_datadir}/applications/ffDiaporama.desktop

Ce qui donne :

rpmlint '/home/dominique/rpmbuild/RPMS/x86_64/ffDiaporama-0.99.2-1.fc15.x86_64.rpm' 
ffDiaporama.x86_64: I: enchant-dictionary-not-found en_US
ffDiaporama.x86_64: W: name-repeated-in-summary C FFDIAPORAMA
ffDiaporama.x86_64: I: enchant-dictionary-not-found fr
ffDiaporama.x86_64: W: name-repeated-in-summary fr FFDIAPORAMA
ffDiaporama.x86_64: W: no-manual-page-for-binary ffDiaporama
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

Je te remercie beaucoup pour ton aide.
Je vais essayer de passer le post en résolu

Hors ligne

#17 09/06/2011 17:44:49

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Script de packaging

Il te reste un warning à corriger dans rpmlint:

ffDiaporama.x86_64: W: name-repeated-in-summary fr FFDIAPORAMA

Ensuite le dernier test c'est de construire le rpm avec mock wink


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#18 09/06/2011 19:24:05

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Euh ... c'est grave docteur ?

mock -r "fedora-14-x86_64-rpmfusion_free" rebuild '/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm' 
INFO: mock.py version 1.1.10 starting...
State Changed: init plugins
INFO: selinux enabled
State Changed: start
INFO: Start(/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm)  Config(fedora-14-x86_64)
State Changed: lock buildroot
State Changed: clean
State Changed: unlock buildroot
State Changed: init
State Changed: lock buildroot
Mock Version: 1.1.10
INFO: Mock Version: 1.1.10
INFO: enabled root cache
INFO: enabled yum cache
State Changed: cleaning yum metadata
INFO: enabled ccache
State Changed: running yum
ERROR: Exception(/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm) Config(fedora-14-x86_64) 2 minutes 30 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-14-x86_64/result
ERROR: Command failed: 
 # ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-14-x86_64/root/', 'groupinstall', 'buildsys-build', '--setopt=tsflags=nocontexts']

================================================================================
 Package               Arch   Version                    Repository        Size
================================================================================
Installing:
 bash                  x86_64 4.1.7-3.fc14               fedora           907 k
 bzip2                 x86_64 1.0.6-1.fc14.1             fedora            49 k
 coreutils             x86_64 8.5-7.fc14                 updates-released 3.1 M
 cpio                  x86_64 2.11-2.fc14                fedora           204 k
 diffutils             x86_64 2.8.1-29.fc14              fedora           198 k
 fedora-release        noarch 14-1                       fedora            24 k
 findutils             x86_64 1:4.5.9-2.fc14             fedora           454 k
 gawk                  x86_64 3.1.8-3.fc14               updates-released 785 k
 gcc                   x86_64 4.5.1-4.fc14               fedora            14 M
 gcc-c++               x86_64 4.5.1-4.fc14               fedora           5.1 M
 grep                  x86_64 2.8-1.fc14                 updates-released 277 k
 gzip                  x86_64 1.4-1.fc14                 fedora           114 k
 info                  x86_64 4.13a-13.fc14              updates-released 178 k
 make                  x86_64 1:3.82-3.fc14              updates-released 414 k
 patch                 x86_64 2.6.1-8.fc14               updates-released  91 k
 redhat-rpm-config     noarch 9.1.0-5.fc14               fedora            63 k
 rpm-build             x86_64 4.8.1-5.fc14               fedora           126 k
 sed                   x86_64 4.2.1-5.fc14               fedora           215 k
 shadow-utils          x86_64 2:4.1.4.2-11.fc14          updates-released 907 k
 tar                   x86_64 2:1.23-9.fc14              updates-released 814 k
 unzip                 x86_64 6.0-3.fc14                 fedora           149 k
 util-linux-ng         x86_64 2.18-4.8.fc14              updates-released 1.5 M
 which                 x86_64 2.19-5.fc12                fedora            37 k
 xz                    x86_64 4.999.9-0.2.beta.20100401git.fc14
                                                         fedora           153 k
Installing for dependencies:
 audit-libs            x86_64 2.1.1-1.fc14               updates-released  62 k
 basesystem            noarch 10.0-3                     fedora           4.2 k
 binutils              x86_64 2.20.51.0.7-8.fc14         updates-released 3.5 M
 bzip2-libs            x86_64 1.0.6-1.fc14.1             fedora            37 k
 ca-certificates       noarch 2010.63-3.fc14             fedora           538 k
 chkconfig             x86_64 1.3.49-1.fc14              updates-released 158 k
 cloog-ppl             x86_64 0.15.7-2.fc14              fedora            93 k
 coreutils-libs        x86_64 8.5-7.fc14                 updates-released  46 k
 cpp                   x86_64 4.5.1-4.fc14               fedora           4.0 M
 cracklib              x86_64 2.8.16-4.fc14              fedora            67 k
 cracklib-dicts        x86_64 2.8.16-4.fc14              fedora           3.6 M
 curl                  x86_64 7.21.0-6.fc14              updates-released 210 k
 cyrus-sasl-lib        x86_64 2.1.23-12.fc14             fedora           136 k
 db4                   x86_64 4.8.30-2.fc14              fedora           600 k
 db4-utils             x86_64 4.8.30-2.fc14              fedora           133 k
 elfutils              x86_64 0.152-1.fc14               updates-released 202 k
 elfutils-libelf       x86_64 0.152-1.fc14               updates-released 170 k
 elfutils-libs         x86_64 0.152-1.fc14               updates-released 182 k
 expat                 x86_64 2.0.1-10.fc13              fedora            76 k
 file                  x86_64 5.04-16.fc14               updates-released  46 k
 file-libs             x86_64 5.04-16.fc14               updates-released 320 k
 filesystem            x86_64 2.4.35-1.fc14              fedora           1.0 M
 gamin                 x86_64 0.1.10-8.fc14              fedora           122 k
 gdb                   x86_64 7.2-51.fc14                updates-released 2.3 M
 gdbm                  x86_64 1.8.3-8.fc14               updates-released  30 k
 glib2                 x86_64 2.26.0-2.fc14              fedora           1.6 M
 glibc                 x86_64 2.13-1                     updates-released 3.8 M
 glibc-common          x86_64 2.13-1                     updates-released  14 M
 glibc-devel           x86_64 2.13-1                     updates-released 968 k
 glibc-headers         x86_64 2.13-1                     updates-released 599 k
 gmp                   x86_64 4.3.1-7.fc14               fedora           209 k
 kernel-headers        x86_64 2.6.35.13-91.fc14          updates-released 744 k
 keyutils-libs         x86_64 1.2-6.fc12                 fedora            18 k
 krb5-libs             x86_64 1.8.2-10.fc14              updates-released 680 k
 less                  x86_64 436-11.fc14                updates-released 108 k
 libacl                x86_64 2.2.49-8.fc14              fedora            24 k
 libattr               x86_64 2.4.44-6.fc14              updates-released  15 k
 libblkid              x86_64 2.18-4.8.fc14              updates-released 111 k
 libcap                x86_64 2.17-1.fc13                fedora            29 k
 libcom_err            x86_64 1.41.12-6.fc14             updates-released  34 k
 libcurl               x86_64 7.21.0-6.fc14              updates-released 185 k
 libffi                x86_64 3.0.9-1.fc13               fedora            25 k
 libgcc                x86_64 4.5.1-4.fc14               fedora            53 k
 libgomp               x86_64 4.5.1-4.fc14               fedora            72 k
 libidn                x86_64 1.18-1.fc14                fedora           205 k
 libmount              x86_64 2.18-4.8.fc14              updates-released  81 k
 libmpc                x86_64 0.8.1-1.fc13               fedora            44 k
 libselinux            x86_64 2.0.96-6.fc14.1            updates-released 107 k
 libsepol              x86_64 2.0.41-3.fc14              fedora           128 k
 libssh2               x86_64 1.2.4-1.fc14               fedora            77 k
 libstdc++             x86_64 4.5.1-4.fc14               fedora           264 k
 libstdc++-devel       x86_64 4.5.1-4.fc14               fedora           1.3 M
 libutempter           x86_64 1.1.5-4.fc12               fedora            22 k
 libuuid               x86_64 2.18-4.8.fc14              updates-released  62 k
 libxml2               x86_64 2.7.7-3.fc14               updates-released 802 k
 lua                   x86_64 5.1.4-7.fc14               updates-released 184 k
 mpfr                  x86_64 2.4.2-1.fc13               fedora           158 k
 ncurses               x86_64 5.7-9.20100703.fc14        updates-released 274 k
 ncurses-base          x86_64 5.7-9.20100703.fc14        updates-released  66 k
 ncurses-libs          x86_64 5.7-9.20100703.fc14        updates-released 249 k
 nspr                  x86_64 4.8.8-1.fc14               updates-released 111 k
 nss                   x86_64 3.12.10-1.fc14             updates-released 770 k
 nss-softokn           x86_64 3.12.10-1.fc14             updates-released 175 k
 nss-softokn-freebl    x86_64 3.12.10-1.fc14             updates-released 130 k
 nss-sysinit           x86_64 3.12.10-1.fc14             updates-released  31 k
 nss-util              x86_64 3.12.10-1.fc14             updates-released  47 k
 openldap              x86_64 2.4.23-4.fc14              updates-released 252 k
 openssl               x86_64 1.0.0d-1.fc14              updates-released 1.4 M
 pam                   x86_64 1.1.1-6.fc14               updates-released 645 k
 pcre                  x86_64 8.10-1.fc14                fedora           218 k
 perl                  x86_64 4:5.12.3-143.fc14          updates-released  11 M
 perl-Module-Pluggable noarch 1:3.90-143.fc14            updates-released  38 k
 perl-Pod-Escapes      noarch 1:1.04-143.fc14            updates-released  31 k
 perl-Pod-Simple       noarch 1:3.13-143.fc14            updates-released 211 k
 perl-libs             x86_64 4:5.12.3-143.fc14          updates-released 594 k
 perl-threads          x86_64 1.81-1.fc14                fedora            47 k
 perl-threads-shared   x86_64 1.32-143.fc14              updates-released  51 k
 pkgconfig             x86_64 1:0.25-2.fc14              fedora            50 k
 popt                  x86_64 1.13-7.fc14                fedora            39 k
 ppl                   x86_64 0.10.2-10.fc12             fedora           1.1 M
 python                x86_64 2.7-8.fc14.1               fedora           5.1 M
 python-libs           x86_64 2.7-8.fc14.1               fedora           660 k
 readline              x86_64 6.1-2.fc14                 fedora           183 k
 rpm                   x86_64 4.8.1-5.fc14               fedora           903 k
 rpm-libs              x86_64 4.8.1-5.fc14               fedora           309 k
 setup                 noarch 2.8.28-1.fc14              updates-released 152 k
 shared-mime-info      x86_64 0.80-1.fc14                updates-released 249 k
 sqlite                x86_64 3.6.23.1-1.fc14            fedora           304 k
 tzdata                noarch 2011d-3.fc14               updates-released 448 k
 xz-libs               x86_64 4.999.9-0.2.beta.20100401git.fc14
                                                         fedora            92 k
 zlib                  x86_64 1.2.5-2.fc14               fedora            82 k

Transaction Summary
================================================================================
Install     115 Package(s)

Total download size: 100 M
Installed size: 363 M


Transaction Check Error:
  installing package gcc-4.5.1-4.fc14.x86_64 needs 2MB on the / filesystem
  installing package libgomp-4.5.1-4.fc14.x86_64 needs 2MB on the / filesystem
  installing package cpio-2.11-2.fc14.x86_64 needs 3MB on the / filesystem
  installing package keyutils-libs-1.2-6.fc12.x86_64 needs 3MB on the / filesystem
  installing package pkgconfig-1:0.25-2.fc14.x86_64 needs 3MB on the / filesystem
  installing package gamin-0.1.10-8.fc14.x86_64 needs 3MB on the / filesystem
  installing package rpm-4.8.1-5.fc14.x86_64 needs 6MB on the / filesystem
  installing package libutempter-1.1.5-4.fc12.x86_64 needs 6MB on the / filesystem
  installing package filesystem-2.4.35-1.fc14.x86_64 needs 64MB on the / filesystem

Error Summary
-------------
Disk Requirements:
  At least 64MB more space needed on the / filesystem.

Hors ligne

#19 09/06/2011 19:35:35

Pikachu_2014
Retraité
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : [Résolu] Script de packaging

At least 64MB more space needed on the / filesystem.

Je crois que tout est dit.


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#20 09/06/2011 21:21:44

DomLeDom
Membre
Inscription : 06/05/2011
Messages : 18
Site Web

Re : [Résolu] Script de packaging

Plus c'est gros et moins on le voit !

Après avoir étendu mon disque :

mock -r "fedora-14-x86_64-rpmfusion_free" rebuild '/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm' 
INFO: mock.py version 1.1.10 starting...
State Changed: init plugins
INFO: selinux enabled
State Changed: start
INFO: Start(/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm)  Config(fedora-14-x86_64)
State Changed: lock buildroot
State Changed: clean
INFO: chroot (/var/lib/mock/fedora-14-x86_64) unlocked and deleted
State Changed: unlock buildroot
State Changed: init
State Changed: lock buildroot
Mock Version: 1.1.10
INFO: Mock Version: 1.1.10
INFO: enabled root cache
INFO: enabled yum cache
State Changed: cleaning yum metadata
INFO: enabled ccache
State Changed: running yum
State Changed: creating cache
State Changed: unlock buildroot
State Changed: setup
ERROR: Exception(/home/dominique/rpmbuild/SRPMS/ffDiaporama-0.99.2-1.fc14.src.rpm) Config(fedora-14-x86_64) 1 minutes 17 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-14-x86_64/result
ERROR: No Spec file found in srpm: ffDiaporama-0.99.2-1.fc14.src.rpm

Hors ligne

#21 09/06/2011 22:08:09

Sat
King & his horse
Rédacteur Wiki
Lieu : Lyon
Inscription : 31/08/2004
Messages : 3 291
Site Web

Re : [Résolu] Script de packaging

s/qt-devel/qt4-devel/
La différence, c'est que ton paquet ne sera pas cassé quand qt5 deviendra la version par défaut de qt et tu n'auras pas besoin de tester la version de Qt installé.

Dernière modification par Sat (09/06/2011 22:08:19)


I don't fight because i want to win, i fight because i have to win.

Hors ligne

Pied de page des forums