2015-10-16 33 views

Odpowiedz

26

Narzędzie spectool z pakietu może to zrobić. Wystarczy zainstalować rpmdevtools i wskazać spectools na .spec tak:

spectool -g -R SPECS/nginx.spec 

będzie pobierać żadnych brakujących źródeł do %{_sourcedir} (zwykle SOURCES) katalog rpm.

+0

Nie mogę znaleźć, który rpm zawiera spekulację w SUSE. – aleung

+0

Czy to nie jest po prostu "spectool" https://build.opensuse.org/package/show/devel:tools/spectool – joeforker

+1

Ponieważ chciałem wiedzieć, co oznaczają flagi: "-g, --gf, --get- pliki pobierają źródła/łaty, które są wymienione z adresem URL; -R, --sourcedir pobierz do% {_ sourcedir} "rpm" – Richlv

6

dla potomnych, istnieje inny sposób na to, co nie wymaga żadnych dodatkowych narzędzi lub pobieranie:

rpmbuild --undefine=_disable_source_fetch -ba /path/to/your.spec 

źródła pobieranie automatycznie jest zabronione domyślnie ponieważ RPM brakuje wbudowanej kontroli integralności dla źródła archiwa. Sieć musi być zaufana, a wszystkie sumy kontrolne i podpisy sprawdzone. To ograniczenie ma sens dla opiekunów pakietów, ponieważ są oni odpowiedzialni za wysyłanie zaufanego kodu.

Jednak, gdy wiesz, co robisz i rozumiesz ryzyko, możesz po prostu znieść ograniczenie.

1

W pliku specyfikacji można umieścić %undefine _disable_source_fetch w dowolnym miejscu przed źródłowym adresem URL.

Ze względów bezpieczeństwa należy również określić wartość sha256sum i sprawdzić ją w sekcji %prep przed rozpoczęciem konfiguracji.

Oto przykład roboczych:

Name:  monit 
Version: 5.25.1 
Release: 1%{?dist} 
Summary: Monitoring utility for unix systems 

Group:  Applications/System 
License: GNU AFFERO GENERAL PUBLIC LICENSE version 3 
URL:  https://mmonit.com/monit/ 
%undefine _disable_source_fetch 
Source0: https://mmonit.com/monit/dist/%name-%version.tar.gz 
%define  SHA256SUM0 4b5c25ceb10825f1e5404f1d8a7b21507716b82bc20c3586f86603691c3b81bc 

%define debug_package %nil 

BuildRequires: coreutils 

%description 
Monit is a small Open Source utility for managing and monitoring Unix systems. Monit conducts automatic maintenance 
and repair and can execute meaningful causal actions in error situations. 

%prep 
echo "%SHA256SUM0 %SOURCE0" | sha256sum -c - 
%setup -q 

... 

kuponów

@YaroslavFedevych dla Undefine _disable_source_fetch.

Powiązane problemy