2015-10-16 15 views

答えて

26

パッケージのspectoolユーティリティがこれを行うことができます。ただ、そのよう.specrpmdevtoolsとポイントspectoolsをインストールします。

spectool -g -R SPECS/nginx.spec 

それは回転数の%{_sourcedir}(通常SOURCES)ディレクトリに欠落しているソースをダウンロードします。後世のために

+0

SUSEでは、どのrpmにspectoolが含まれているのかわかりません。 「-g、--gf、--get-: – aleung

+0

はない単に「spectool」https://build.opensuse.org/package/show/devel:tools/spectool – joeforker

+1

私はフラグが何を意味するか知りたいと思ったようですファイルはURLでリストされたソース/パッチを取得します; -R、--sourcedirはrpmの%{_ sourcedir}にダウンロードします " – Richlv

6

は、それを行うための別の方法は、追加のツールやダウンロードを必要としない、そこにある:RPMがソースの組み込みの整合性チェックがないため、自動的にソースをダウンロード

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

はデフォルトで禁止されていますアーカイブ。ネットワークを信頼し、チェックサムと署名をチェックする必要があります。パッケージ管理者は、信頼できるコードの配送を担当しているので、この制限が当てはまります。あなたは何をしているか知っているとリスクを理解するとき

しかし、あなただけ強制的に制限を解除します。

1

specファイルでは、ソースURLの前に任意の場所に%undefine _disable_source_fetchを置くことができます。

セキュリティのため、セットアップの前にsha256sumも指定して、%prepセクションで確認する必要があります。未定義_disable_source_fetchため

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 

... 

クレジット

@YaroslavFedevych:ここ

は実施例です。

関連する問題