필수 섹션이 비어 있는 하위 패키지가 있습니까?

필수 섹션이 비어 있는 하위 패키지가 있습니까?

다음과 같은 RPM 버전이 있습니다.

Summary: LAME Ain't an MP3 Encoder.
Name: lame
Version: 3.99.5
Release: 1
License: LGPL
Vendor: The LAME Project
Packager: Naftuli Tzvi Kay <--->
URL: http://www.mp3dev.org
Group: Applications/Multimedia
Source: lame-%{version}.tar.gz
Requires: ncurses >= 5.0, libmp3lame >= %{_version}
BuildRequires: gcc => 3.0.1, /usr/bin/find, ncurses-devel, nasm

%global _hardened_build 1

%description
LAME Ain't an MP3 Encoder.

%package -n libmp3lame
Summary: Shared libraries for LAME.
Requires: %{nil}
%description -n libmp3lame
Shared libraries for LAME.

%package -n libmp3lame-devel
Summary: Shared libraries for LAME (development files).
Requires: libmp3lame = %{_version}
%description -n libmp3lame-devel
Shared libraries for LAME (development files).

%prep
%setup

%build

# configuration swiped from debian
%configure \
    --enable-nasm \
    --disable-rpath \
    --enable-dynamic-frontends \
    --enable-expopt=full \
    --enable-nasm \
    --with-fileio=lame
%{__make} %{?_smp_mflags} test CFLAGS="%{optflags}"

%install

%makeinstall
%{__ln_s} -f lame/lame.h %{buildroot}%{_includedir}/lame.h

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%clean
%{__rm} -rf %{buildroot}

%files
%defattr (-,root,root)
%{_bindir}/lame
%{_prefix}/share/man/man1/lame.1.gz

%files -n libmp3lame
%{_libdir}/libmp3lame.so.*
%{_libdir}/libmp3lame.so
%exclude %{_prefix}/share/doc/lame/html/*.html
%exclude %{_libdir}/libmp3lame.a
%exclude %{_libdir}/libmp3lame.la
%exclude %{_bindir}/lame
%exclude %{_prefix}/share/man/man1/lame.1.gz

%files -n libmp3lame-devel
%defattr (-, root, root)
%doc API HACKING STYLEGUIDE
%{_includedir}/*
%{_prefix}/share/doc/lame/html/*.html
%exclude %{_libdir}/libmp3lame.a
%exclude %{_libdir}/libmp3lame.la
%exclude %{_bindir}/lame
%exclude %{_prefix}/share/man/man1/lame.1.gz

%changelog

* Mon Jan 11 2016 Naftuli Tzvi Kay <---> - 3.99.5-1
- Repackaged for reasons.

이 사양 파일을 기반으로 세 가지 패키지를 만들고 있습니다.

  1. 절름발이: 바이너리 /usr/bin/lame, ncurses합계가 필요함 libmp3lame,
  2. libmp3lame: 공유 객체 /usr/lib64/libmp3lame.so, 아무것도 필요하지 않습니다.
  3. libmp3lame-devel: 헤더, 필수 libmp3lame.

Requires해당 섹션이 에 대한 것이기 때문에 내 빌드가 현재 실패합니다 libmp3lame. 정의하지 않으면 여기에 실제로 적용되지 않는 상속 lame되고 종속됩니다 .ncurses

내 하위 패키지에 대해 libmp3lame빈 require 절을 어떻게 설정 합니까?

답변1

요구 사항은 하위 패키지로 상속되지 않습니다. 라인만 없애주세요

Requires: %{nil}

작동합니다.

관련 정보