2015-10-16 10 views

cevap

26

rpmdevtools paketinden spectool yardımcı programı bunu yapabilirsiniz. Sadece şöyle .spec de spectoolsrpmdevtools yükleyip işaret:

spectool -g -R SPECS/nginx.spec 

O rpm %{_sourcedir} (genellikle SOURCES) dizine eksik kaynaklar indirecektir. RPM yerleşik yoksun çünkü bütünlük kontrolleri kaynağı için

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

İndirilmesi kaynaklar otomatik olarak varsayılan olarak yasaktır:

kuşaklar için
+0

SUSE'de hangi rpm'nin spectool içerdiğini bulamıyorum. – aleung

+0

Sadece 'spectool' değil mi? Https://build.opensuse.org/package/show/devel:tools/spectool – joeforker

+1

Bayrakların ne anlama geldiğini bilmek istediğim gibi: "-g, --gf, --get- dosyalar URL ile listelenen kaynakları/yamaları alır; -R, --sourcedir'i rpm'nin% {_ sourcedir} 'e çevirir. – Richlv

6

, herhangi bir ek araç veya indirme gerekmez bunu yapmanın başka bir yolu yoktur arşivler. Ağın güvenilir olması ve herhangi bir sağlama ve imza kontrolü yapılmalıdır. Bu kısıtlama, güvenilir kodların gönderilmesinden sorumlu olduklarından, paket sağlayıcıları için anlamlıdır. Bununla birlikte, ne yaptığınızı ve riskleri anladığınızı öğrendiğinizde, kısıtlamayı zorla kaldırabileceğinizi unutmayın.

1

Spec dosyasında, kaynak URL'den önce herhangi bir yere %undefine _disable_source_fetch yerleştirebilirsiniz.

Güvenlik nedeniyle, sha256sum'u belirtmeli ve kurulumdan önce %prep bölümüne bakmalısınız.

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 

... 

Kredi tanımsız _disable_source_fetch için

@YaroslavFedevych: Burada

çalışan bir örnektir.

İlgili konular