Page 1 of 13 12311 ... LastLast
Results 1 to 10 of 121

Thread: Вопросы по OBS

  1. #1
    Join Date
    Nov 2009
    Location
    Russia/Vladivostok
    Posts
    141

    Default Вопросы по OBS

    Так получилось, что один из собираемых пакетов предоставляет пакет, уже имеющийся в системе.
    Из за чего имею следующую ошибку:
    unresolvabel: have choice for fam-devel needed by libkde4-devel

    Как это можно обойти/исправить?

  2. #2
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    3,001
    Blog Entries
    1

    Default Re: Проблемы в OBS

    Ваш пакет предоставляет fam-devel?
    Тогда можно в настройках пакета отключить Use for Build Flag.

  3. #3
    Join Date
    Nov 2009
    Location
    Russia/Vladivostok
    Posts
    141

    Default Re: Проблемы в OBS

    Quote Originally Posted by Lazy_Kent View Post
    Ваш пакет предоставляет fam-devel?
    Тогда можно в настройках пакета отключить Use for Build Flag.
    Вот спасибо
    Хотя не смог проверить, ибо уже удалил пакет. Пакет был gamin.

  4. #4

    Default Вопросы по OBS

    Quote Originally Posted by Lazy_Kent View Post
    Плагины независимы от основной программы, они используют разделяемую библиотеку libvacuumutils.so.1.6.0.
    Поэтому для разработки плагинов необходимы заголовочные файлы и тот самый линк (libvacuumutils.so), который приходится удалять.
    При правильном раскладе библиотека должна упаковываться в отдельный пакет, хидеры и линк — в devel-пакет, и программа отдельно.
    Возможно, стоит обсудить этот вопрос с разработчиком.
    Дело в том, что vacuum не будет работать без этой библиотеки. она нужна не только для плагинов.
    Разработчики посоветовали собрать с помощью cmake. Собрал, но ошибка так и осталась; к ней добавился варнинг
    vacuum-im.i586: W: shlib-policy-missing-suffix
    Your package containing shared libraries does not end in a digit and should
    probably be split.
    Попробовал выделить эту либу в отдельный пакет - получилось еще хуже
    vacuum-im-libvacuumutils.i586: E: shlib-policy-name-error (Badness: 10000) libvacuumutils1_7
    Your package contains a single shared library but is not named after its
    SONAME.

    vacuum-im-libvacuumutils.i586: E: library-without-ldconfig-postun (Badness: 300) /usr/lib/libvacuumutils.so.1.7.0
    This package contains a library and provides no %postun scriptlet containing a
    call to ldconfig.

    vacuum-im-libvacuumutils.i586: E: library-without-ldconfig-postin (Badness: 300) /usr/lib/libvacuumutils.so.1.7.0
    This package contains a library and provides no %post scriptlet containing a
    call to ldconfig.

    vacuum-im.i586: W: explicit-lib-dependency libvacuumutils
    You must let rpm find the library dependencies by itself. Do not put unneeded
    explicit Requires: tags.

    vacuum-im-libvacuumutils.i586: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib/libvacuumutils.so
    A development file (usually source code) is located in a non-devel package. If
    you want to include source code in your package, be sure to create a
    development package.
    «Если не говорить пользователям, что линукс это сложно и страшно, то им совершенно все равно, в чем не разбираться. » — ЛОР

  5. #5
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    3,001
    Blog Entries
    1

    Default Re: Вопросы по OBS

    Дело в том, что vacuum не будет работать без этой библиотеки. она нужна не только для плагинов.
    Правильно. Она автоматически пропишется в зависимости к основному пакету.

    W: shlib-policy-missing-suffix
    E: shlib-policy-name-error
    Пакет должен называться libvacuumutils1.
    Packaging/Shared Libraries - openSUSE

    E: library-without-ldconfig-postun
    E: library-without-ldconfig-postin
    %post -p /sbin/ldconfig
    %postun -p /sbin/ldconfig
    для пакета с библиотекой.

    E: devel-file-in-non-devel-package (Badness: 50) /usr/lib/libvacuumutils.so
    Про это уже писал. Если нет devel-пакета, то удаляется в секции %install.
    %{__rm} -f %{buildroot}%{_libdir}/libvacuumutils.so

    И опять же:
    qmake CONFIG+=debug — зачем?
    Last edited by Lazy_Kent; 13-Jan-2011 at 12:20.

  6. #6

    Default Re: Вопросы по OBS

    Quote Originally Posted by Lazy_Kent View Post
    Пакет должен называться libvacuumutils1.
    Packaging/Shared Libraries - openSUSE
    RPMLINT report:
    ===============
    libvacuumutils1-7-0.i586: E: shlib-policy-name-error (Badness: 10000) libvacuumutils1_7
    Your package contains a single shared library but is not named after its
    SONAME.

    для libvacuumutils1 таже ошибка
    «Если не говорить пользователям, что линукс это сложно и страшно, то им совершенно все равно, в чем не разбираться. » — ЛОР

  7. #7
    Join Date
    Aug 2009
    Location
    Санкт-Петербург
    Posts
    1,037

    Default Re: Вопросы по OBS

    Думаю должно получится что-то вида libvacuumutils1-1.7.0

    Попробуй просто в спеке вместо Name: libvacuumutils
    Написать Name:libvacuumutils1

    Не претендую на самое правильное решение но мне когда то давно помогло.

  8. #8
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    3,001
    Blog Entries
    1

    Default Re: Вопросы по OBS

    Увидел в чём затык. Там, оказывается, два файла вместо трёх. На мой взгляд, разработчик неправильно сделал.

    Должно быть три файла библиотеки, две ссылки и бинарник:
    libvacuumutils1 -> libvacuumutils1.7 -> libvacuumutils1.7.0.
    vacuum-im должен линковаться с libvacuumutils1.

    В итоге, правильное название будет libvacuumutils1_7.

    Немного подправил. Сильно не углублялся. Теперь собирается devel-пакет, как и нужно.

    spec.diff
    Code:
    Index: vacuum-im.spec
    ===================================================================
    --- vacuum-im.spec     (revision 8b10a94ae7a9dcba9ca48197b712b96c) 
    +++ vacuum-im.spec     (working copy) 
    @@ -1,16 +1,16 @@
    -#    
    -# spec file for package vacuum-im (Version 1.0.2+git patches)    
    -#    
    +#
    +# spec file for package vacuum-im (Version 1.0.2+git patches)
    +#
     # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
    -# Copyright Andrey Karepin <egdfree@opensuse.org> 
    -#    
    -# All modifications and additions to the file contributed by third parties    
    -# remain the property of their copyright owners, unless otherwise agreed    
    -# upon. The license for this file, and modifications and additions to the    
    -# file, is the same license as for the pristine package itself (unless the    
    -# license for the pristine package is not an Open Source License, in which    
    -# case the license is the MIT License). An "Open Source License" is a    
    -# license that conforms to the Open Source Definition (Version 1.9)    
    +# Copyright Andrey Karepin <egdfree@opensuse.org>
    +#
    +# All modifications and additions to the file contributed by third parties
    +# remain the property of their copyright owners, unless otherwise agreed
    +# upon. The license for this file, and modifications and additions to the
    +# file, is the same license as for the pristine package itself (unless the
    +# license for the pristine package is not an Open Source License, in which
    +# case the license is the MIT License). An "Open Source License" is a
    +# license that conforms to the Open Source Definition (Version 1.9)
     # published by the Open Source Initiative.
     #
     
    @@ -18,33 +18,43 @@
     %define rbuild r1451
     
     Name: %{sname}-im
    -Summary: Crossplatform Jabber client written on Qt
    +Summary: Crossplatform Jabber Client Written on Qt
     Version: 1.0.2+%{rbuild}
     Release: 1
     %if 0%{?suse_version} < 1120
     BuildRoot:  %{_tmppath}/%{name}-%{version}-build
     %endif
     License: GPLv3
    -Group: Productivity/Networking/Instant Messenger 
    +Group: Productivity/Networking/Instant Messenger
     Source: %name-%rbuild.tar.bz2
     Patch0: fix-debug.patch
     Url: http://www.vacuum-im.org/
    -%if 0%{?suse_version} >= 1130
     BuildRequires: cmake >= 2.8
    -%endif
     BuildRequires: libqt4-devel libQtWebKit-devel openssl-devel
     BuildRequires: update-desktop-files fdupes
     
     %description
    -The core program is just a plugin loader - all functionality is made available via plugins. This enforces modularity and ensures well defined component interaction via interfaces.
    +The core program is just a plugin loader - all functionality is made
    +available via plugins. This enforces modularity and ensures well defined
    +component interaction via interfaces.
     
    -%package -n libvacuumutils1-7-0
    -Summary:  Shared library libvacuumutils for Vacuum-IM
    +%package -n libvacuumutils1_7
    +Summary:  Shared Library libvacuumutils for Vacuum-IM
     License:  GPLv3
    -Group:    Productivity/Networking/Instant Messenger
    +Group:    System/Libraries
     
    -%description -n libvacuumutils1-7-0
    +%description -n libvacuumutils1_7
     This package includes shared libraris needed to work Vacuum-IM program.
    +
    +%package devel
    +Summary:  Development Files for Vacuum-IM
    +License:  GPLv3
    +Group:    Development/Libraries/C and C++
    +Requires: %{name} = %{version}
    +Requires: libvacuumutils1_7 = %{version}
    +
    +%description devel
    +This package includes files needed to develop Vacuum-IM modules.
     
     %prep
     %setup -q -n %name-%rbuild
    @@ -61,20 +71,15 @@
     rm -rf ./resources/emoticons/kolobok*
     
     %build
    -uname -m
    -%if 0%{?suse_version} < 1130
    -qmake INSTALL_PREFIX=%{_prefix} INSTALL_LIB_DIR=%{_lib} SVN_REVISION=%{rbuild} -recursive vacuum.pro
    -%elseif
    -cmake . -DCMAKE_BUILD_TYPE=Release -DINSTALL_SDK=0 -DCMAKE_INSTALL_PREFIX=%{_prefix} -DINSTALL_LIB_DIR=%{_lib}
    -%endif
    +%{__mkdir} build
    +cd build
    +cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%{_prefix} -DINSTALL_LIB_DIR=%{_lib}
     %{__make} %{?_smp_mflags}
     
     %install
    -%if 0%{?suse_version} < 1130
    -make install INSTALL_ROOT=%{buildroot}
    -%elseif
    -DESTDIR=%{buildroot} make install
    -%endif
    +pushd build
    +%{make_install}
    +popd
     %{__install} -D -m644 resources/menuicons/shared/mainwindowlogo128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
     %{__install} -D -m644 resources/menuicons/shared/mainwindowlogo96.png %{buildroot}%{_datadir}/icons/hicolor/96x96/apps/%{name}.png
     %{__install} -D -m644 resources/menuicons/shared/mainwindowlogo64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
    @@ -89,25 +94,19 @@
     %suse_update_desktop_file -c %{name} "Vacuum-IM" "Jabber Client" %{name} %{name}.png Network InstantMessaging
     #fix: Installed (but unpackaged) file(s) found
     rm -rf %{buildroot}%{_datadir}/doc
    -#fix: E: devel-file-in-non-devel-package (Badness: 50)
    -%{__rm} -f %{buildroot}%{_libdir}/libvacuumutils.so
     
     %fdupes %{buildroot}%{_datadir}
     
    -%post -p /sbin/ldconfig
    +%post -n libvacuumutils1_7 -p /sbin/ldconfig
     
    -%post -n libvacuumutils1-7-0 -p /sbin/ldconfig
    -
    -%postun -p /sbin/ldconfig
    -
    -%postun -n libvacuumutils1-7-0 -p /sbin/ldconfig
    +%postun -n libvacuumutils1_7 -p /sbin/ldconfig
     
     %clean
     rm -rf %{buildroot}
     
     %files
     %defattr(-,root,root)
    -%doc README AUTHORS INSTALL CHANGELOG COPYING
    +%doc README AUTHORS CHANGELOG COPYING
     %{_bindir}/%name
     %dir %{_libdir}/%{sname}
     %dir %{_libdir}/%{sname}/plugins
    @@ -124,8 +123,13 @@
     %{_datadir}/applications/%{name}.desktop
     %{_datadir}/pixmaps/%{name}.png
     
    -%files -n libvacuumutils1-7-0
    +%files -n libvacuumutils1_7
     %defattr(-,root,root)
    -%{_libdir}/libvacuumutils.so*
    +%{_libdir}/libvacuumutils.so.*
     
    -%changelog
    \ No newline at end of file
    +%files devel
    +%defattr(-,root,root)
    +%{_libdir}/libvacuumutils.so
    +%{_includedir}/%{sname}
    +
    +%changelog

  9. #9
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    3,001
    Blog Entries
    1

    Default Re: Вопросы по OBS

    Поправка.
    В %package devel не нужна строка
    Requires: %{name} = %{version}

  10. #10

    Default Re: Вопросы по OBS

    Спасибо!
    За небольшими правками по части зависимостей 11.2 все собралось.
    «Если не говорить пользователям, что линукс это сложно и страшно, то им совершенно все равно, в чем не разбираться. » — ЛОР

Page 1 of 13 12311 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •