これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド、license-reconcilep です。
プログラム:
NAME
License-reconcile - Debian/著作権をソースと照合します
SYNOPSIS
ライセンスの調整 - 助けて|- 男
ライセンスの調整 [--著作権ファイル=file] [--ノーチェック著作権] [--suggest-stanzas]
[--形式指定なし] [- 静かな] [--ディスプレイマッピング] [-ディレクトリ=ディレクトリにジョブを開始します。]
[--フィルター=module1 module2 ...] [--config-file =file] [--changelog-file=file] [ファイル..。]
DESCRIPTION
ライセンスの調整 ディレクトリ内のライセンスおよび著作権情報を照合しようとします
「debian/著作権」で入手可能な情報。 データのほとんどを次から取得します。
「licensecheck」は、すぐに注目に値するものを生成するはずです。 ただし、
特定のパッケージでは、既知の正常な状態で成功するように構成できるため、オンの場合は
その後のアップストリームの更新が失敗すると、何を確認する必要があるかが示されます。 デフォルトでは、
実行されるテストは次のとおりです。
- 著作権ファイルの最初の行には、承認された形式仕様が含まれていますか?
- 著作権ファイルは解析できますか?
- ソース内のすべてのファイルは、著作権ファイル内の少なくとも XNUMX つの条項と一致しますか?
- ソースから抽出されたすべてのファイル、ライセンス、著作権データは、
著作権ファイルの対応する一致する段落? この比較のデータ
数値フィルター オブジェクトから取得されます。 詳細については、「フィルタ」を参照してください。
- ソース内のすべてのファイルには、ソースの一部によって著作権とライセンスが割り当てられていますか?
「debian/著作権」ファイル。
取得 開始しました
でる of ボックス
Debian パッケージ ソフトウェアのソース ディレクトリの最上位から、次のコマンドを実行します。
「ライセンスの調整」。
設定 a 設定 file
通常、何かを進めるには構成ファイルが必要になります。 デフォルト
ファイルは「debian/license-reconcile.yml」です。 別の構成ファイルを設定するには、
--config-file =file。 設定ファイルは Config::Any を使用して解釈されますが、目的に応じて異なります。
このドキュメントでは、形式が YAML であることを前提としています。
オーバーライド 誤った 結果
あなたは本当に幸運だとしましょう。 XNUMX つのファイル「a/b」の場合、デフォルトのフィルターは次のとおりです。
「licensecheck」のラッパーが間違っています。 彼らは何らかの理由でそう決めた
検査の結果、ファイルがパブリック ドメインであることが判明した場合、ファイルには GPL-3 ライセンスが適用されます。 これは
慎重に作成された「debian/copyright」ファイルに対して誤検知のブレークを引き起こします。 あなた
これは次の構成フラグメントで修正できます。
ルール:
ルール:
-
グロブ: a/b
ライセンス: パブリックドメイン
著作権: 1556、ノストロダムス
これを設定する方法の詳細については、「Debian::LicenseReconcile::Filter::Rules」を参照してください。
フィルタ。
提供 a キャッチ を ライセンス & 著作権
フィルタにデフォルトのライセンスを提供させて、適切なルールを提供することができます。
設定ファイルのデフォルトのセクション:
デフォルト:
ルール:
-
ライセンス: すべてのソフトウェアはプロレタリアート ライセンスの所有物です。
著作権: 1984、アルゴリズム省
デフォルト フィルターはルール フィルターとまったく同じコードを使用しますが、デフォルトで実行されます。
最後。 したがって、機能はすべて同じですが、優先順位が最も低くなります。
制御 シーケンス of フィルタ
デフォルトで実行されるフィルターは、Rules、Std、Shebang、ChangeLog、Default です。 変更することもできます
を使用したフィルター --フィルター=モジュール オプション。 「--filters Rules」を設定すると、次のことが意味されます。
Debian::LicenseReconcile::Filter::Rules フィルターのみが使用されます。 指定したら
XNUMX つのフィルターをすべて指定する必要があります。
filter エイリアシング
デフォルト フィルターはルールのエイリアスです。 これは、同じコードを実行しますが、
別の構成。 デフォルトは「Default~Rules」として定義されます。 一般に「X~Y」は、
コードは Y から取得しますが、設定は X から取得します。
書き込み 自分の フィルタ。
Debian::LicenseReconcile::Filter から継承して独自のフィルターを作成できます。 あなた
「get_info」メソッドを定義する必要があります。
OPTIONS
--著作権ファイル=file
代替著作権ファイルを指定してください。 デフォルトは「debian/copyright」です。
--形式指定なし
著作権ファイルの最初の行を、許可されている形式仕様と照合しないでください。
--ノーチェック著作権
著作権条項をチェックしないでください。
- 静かな
説明は一切行わず、単に終了ステータスによって成功か失敗かを示します。
--ディスプレイマッピング
ディレクトリから著作権条項へのマッピングを表示します。
-ディレクトリ=ディレクトリにジョブを開始します。
著作権とライセンスが確認されるディレクトリ。 デフォルトは「.」です。
--フィルター=module1 --フィルター=module2 ....
ソースパッケージを検査してライセンスを返す一連のフィルター
著作権情報。 各モジュール名は、
Debian::LicenseReconcile::Filter を作成し、それを継承します。 デフォルト値は「ルール標準」です。
シバン変更ログのデフォルト」。
--config-file =file
フィルター固有の構成データを提供するために使用されるファイル。 ファイルは Config::Any によって読み取られます
関連するセクションは、「config」パラメーターを介して各フィルター コンストラクターに渡されます。
<--changelog-file=>file
Debian 変更ログ ファイル。デフォルトは「debian/changelog」です。 ルールフィルターはこれを使用します
現在のバージョンを取得すると、ChangeLog フィルターがそこからデータを取得します。
--suggest-stanzas
設定されている場合は、ライセンスと著作権データを DEP-5 形式で印刷します。
フィルタ
デフォルトでは、フィルタは以下の順序で処理されます。 ファイルが返されると、
フィルターを指定すると、後続のフィルターはそれを無視します。
- ルール
- 変更ログ
- 標準
- シバン
- デフォルト
各フィルター コンストラクターには次のパラメーターが渡されます。
- directory - ライセンスと著作権データを検索するディレクトリ。
- files_remaining - 分析されていないファイルの配列参照。
- config - これに関連する構成ファイルの部分を表すデータ構造
フィルタ。
- Changelog - Parse::DebianChangelog オブジェクト。
-licensecheck - Debian::LicenseReconcile::LicenseCheck オブジェクト。
FILE 議論
引数の後の引数はすべてファイルとみなされます。 指定した場合、これらのファイルのみ
和解されるだろう。
制限
DEP-5 仕様は、ファイル グロブ仕様とは微妙に異なります。 以来、
File::FnMatch モジュールは唯一の実用的な実装であり、できることはほとんどありません。
終わり。 その結果、ファイル名に「[」が含まれるように指定しようとすると、
その後、「debian/copyright」の「]」は正しく動作しなくなる可能性があります。
著作権解析では、年を XNUMX 桁の短縮形で表すことはできません。 これは
おそらくそれは良いことですが、いつか必ず問題を引き起こすでしょう。
例
現在、XNUMX つの Debian プロジェクトがライセンス調整を使用して、
「debian/著作権」ファイル。
ライセンス-reconcile|https://anonscm.debian.org/cgit/pkg-perl/packages/license-reconcile.git/tree/debian/license-reconcile.yml
明らかに独自の基準に従ってクリーンである必要があります。 ある時点で、このチェックは
ビルドテスト。
ksh|http://anonscm.debian.org/cgit/collab-maint/ksh.git/tree/debian/license-reconcile.yml
バージョン 93u+20120801-2 以降、license-reconcile を使用しています。
onworks.net サービスを使用してオンラインでライセンス調整を使用する