Debianディストリビューションにインストールされているパッケージのライセンスのリストを自動的に取得しようとしています。/usr/share/doc/
いくつかの質問に対する回答で説明されているように、著作権ファイルをスキャンしてこれを実行しました。これそしてこれ。
ところで、パッケージには別々にインストールされるバイナリがいくつか含まれていますが、同じ著作権ファイルを共有する状況をどのように処理するのかわかりません。この場合、著作権ファイルには他の内容が含まれます。ファイルセクションただし、デバイスにどのファイルがインストールされているのか、どのパッケージがそのファイルをインストールしているのかは不明です。
たとえば、libmodbusの例があります。
Debianトラッカーによると、libmodbusは2つのバイナリを含むパッケージです:libmodbus5
とlibmodbus-dev
。インストールしたらlibmodbus5
内容は/usr/share/doc/libmodbus5/copyright
次のとおりです。
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libmodbus
Upstream-Contact: Stéphane Raimbault <[email protected]>
Source: http://www.libmodbus.org/
Files: *
Copyright:
2008-2014 Stéphane Raimbault <[email protected]
License: LGPL-2.1+
Files: debian/*
Copyright:
2008-2011 Stéphane Raimbault <[email protected]>
2011-2014 Ivo De Decker <[email protected]>
License: LGPL-2.1+
Files: tests/*
Copyright:
2008-2014 Stéphane Raimbault <[email protected]>
License: GPL-3+
License: LGPL-2.1+
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License, or (at your
option) any later version.
.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
for more details.
.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/LGPL-2.1
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in "/usr/share/common-licenses/GPL-3".
つまり、デフォルトのライセンスはですが、LGPL-2.1+
テストフォルダにあるファイルのライセンスはですGPL-3+
。ただし、そのファイルがインストールされているかどうか、ライセンスがマイインストールに適用されるかどうかはわかりません。
これらのファイルが自分のデバイスにインストールされていることを確認するために考えられる唯一の方法は、インストール記述子を確認することです。コードストア、Debianトラッカーに接続されています。ただし、このアプローチは自動化された方法から離れており、パッケージ内のすべてのバイナリのインストール記述子を見つけるのは簡単ではありません。
デバイスにインストールされているバイナリに適用される著作権ファイルのライセンスを自動的に確認する方法はありますか?
答え1
特定のバイナリ(またはバイナリパッケージ)のライセンスを決定する一般的な自動方法はありません。あなたの質問は後者に関連しているようです。copyright
Debian に付属のドキュメントでは、次のように説明します。源泉バイナリパッケージの最終ライセンスではなくパッケージです。これらのFile:
セクションは、バイナリのファイルではなくソースツリーのファイルに適用されます(したがって.install
ファイルと一致させることは役に立ちません)。
場合によっては、バイナリパッケージのライセンスが自動的に推論されることがあります。簡単に言えば、ファイルに単一のライセンスがある場合、copyright
そのライセンスはバイナリパッケージ(およびその中に含まれるバイナリ)に正確に適用されます。他のライセンスを適用する場合は、適用されるファイルが実際にビルドに含まれているかどうかを確認する必要があります。これはある程度自動化できます。テストなしでバイナリ専用ビルドを実行し、どのファイルを読み取ったのか、どのライセンスが適用されているのかを確認できます。このlibmodbus
場合、テストファイルのライセンスが生成されたバイナリに影響を及ぼさない可能性がありますが、それ以上の分析がなければこれを保証することはできません(一部のプロジェクトの基本コードで「テスト」コードを使用することを見たことがあります)。