ошибка в .spec (.spec-файл для qt приложения в opensuse build service)

Модератор: Модераторы разделов

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

ошибка в .spec

Сообщение Mifodix »

Здравствуйте!
Пытаюсь собрать простое приложение, написанное на с++ и qt 4.6, под разные дистрибутивы в opensuse build service. Написал такой .spec файл для opensuse 11.3:

Код: Выделить всё

Name:         QSeaFightTest
License:      GPL v2
Group:        Games
Summary:      bkabka
Version:      1
Release:      %revision
URL:          http://
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
BuildRequires:  libqt4-devel >= 4.5.0
Requires:       libqt4 >= 4.5.0
Recommends:    libqt4-debuginfo
Source0:      %{name}-%{version}.tar.gz
%description
Ptrololo
%prep
%setup -q -n %name-%version
%build
qmake
make
%install
mkdir -p $RPM_BUILD_ROOT/usr/bin
make install DESTDIR=$RPM_BUILD_ROOT
%files
%defattr (-,root,root)
/usr/bin/%{name}

Файл исходников называется QSeaFightTest-1.tar.gz.
Проект упорно не хочет компилироваться. В конце лога вылезает такая ошибка:

Код: Выделить всё

Executing(%prep): /bin/sh -e  /var/tmp/rpm-tmp.4LuDEg
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf QSeaFightTest-1
+ /usr/bin/gzip -dc /usr/src/packages/SOURCES/QSeaFightTest-1.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd QSeaFightTest-1
/var/tmp/rpm-tmp.4LuDEg: line 32: cd: QSeaFightTest-1: No such file or  directory
error: Bad exit status from /var/tmp/rpm-tmp.4LuDEg (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.4LuDEg (%prep)
SysRq : Power Off
Power down.

Прошу помощи.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: ошибка в .spec

Сообщение sash-kan »

подозреваю, что таки нет у вас в исходниках такого каталога:
QSeaFightTest-1
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: ошибка в .spec

Сообщение Mifodix »

sash-kan писал(а):
21.07.2010 22:47
подозреваю, что таки нет у вас в исходниках такого каталога:
QSeaFightTest-1

точно!:))) надо же было так облажаться...судя по логу, теперь компилирование прошло успешно, но всё равно failed :) я не совсем понимаю, что надо писать после %files.
Спасибо сказали:
Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: ошибка в .spec

Сообщение Mifodix »

Ура! Всё-таки удалось сделать пакет для openSUSE. В файл .pro проекта пришлось добавить следующие строки для генерации makefile с возможностью установки:

Код: Выделить всё

target.path = /usr/bin
INSTALLS += target

В итоге .spec файл стал выглядеть так:

Код: Выделить всё

Name:         QSeaFightTest
License:      GPL v2
Group:        Games
Summary:      bkabka
Version:      1
Release:      %revision
URL:          http://
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
################################################################################
#########
# SuSE, openSUSE
################################################################################
#########
%if 0%{?suse_version}
BuildRequires:  libqt4-devel >= 4.5.0
Requires:       libqt4 >= 4.5.0
%endif
################################################################################
#########
# Fedora, RHEL or CentOS
################################################################################
#########
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires:  qt4-devel >= 4.5
Requires:       qt4 >= 4.5.0
%endif
Source0:      %{name}-%{version}.tar.gz
%description
Ptrololo
%prep
%setup -q -n %name-%version
%build
qmake
make
%install
make DESTDIR=$RPM_BUILD_ROOT INSTALL_ROOT=$RPM_BUILD_ROOT install
%files
%defattr (-,root,root)
/usr/bin/QSeaFightTest

Интересны ваши замечания по поводу содержания .spec. Может быть что-то сделано совсем криво?
Теперь нерешённым остался только 1 вопрос: как в opensuse build service сделать .deb пакет для, например, Ubuntu?
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: ошибка в .spec

Сообщение deadhead »

Mifodix писал(а):
22.07.2010 15:38
Теперь нерешённым остался только 1 вопрос: как в opensuse build service сделать .deb пакет для, например, Ubuntu?
alien?
[x] close
Спасибо сказали:
Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: ошибка в .spec

Сообщение Mifodix »

deadhead писал(а):
22.07.2010 17:56
Mifodix писал(а):
22.07.2010 15:38
Теперь нерешённым остался только 1 вопрос: как в opensuse build service сделать .deb пакет для, например, Ubuntu?
alien?

Нашёл нормальный пример для build service: https://build.opensuse.org/package/files?pa...ct=home%3AEmmeG Если добавить сделанные по подобию файлы debian.rules, debian.control, debian.changelog, то deb-пакет будет собираться.
Спасибо сказали: