Массив license внедряется в официальные репозитории, и его следует использовать и в ваших пакетах. Используйте его следующим образом:
В [core] был создан пакет licenses, который хранит общие лицензии в /usr/share/licenses/common, т.е. /usr/share/licenses/common/GPL. Если пакет лицензирован по одной из этих лицензий, переменная licenses будет установлена в имя каталога, например license=('GPL').
Если соответствующая лицензия не включена в пакет официальных лицензий, необходимо выполнить несколько действий:
Файл(ы) лицензии должны быть включены в /usr/share/licenses/$pkgname/, например, /usr/share/licenses/dibfoo/LICENSE. Один из хороших способов сделать это - использовать:
Если исходный tarball НЕ содержит сведений о лицензии, а лицензия отображается, например, только на сайте, то скопируйте лицензию в файл и включите его. Не забудьте также назвать его как-нибудь подходяще.
Добавьте 'custom' в массив лицензий. По желанию вы можете заменить 'custom' на 'custom: "имя лицензии"'.
Как только лицензия используется в двух или более пакетах в официальном репозитории, включая [community], она становится общей
Лицензии MIT, BSD, zlib/libpng и Python являются особыми случаями и не могут быть включены в пакет 'common' пакета лицензий. Для переменной license они рассматриваются как обычные лицензии (license=('BSD'), license=('MIT'), license=('ZLIB') или license=('Python')), но для файловой системы это пользовательские лицензии, поскольку каждая из них имеет свою собственную строку копирайта. Каждый пакет с лицензией MIT, BSD, zlib/libpng или Python должен иметь свою уникальную лицензию, хранящуюся в /usr/share/licenses/$pkgname/.
На некоторые пакеты может распространяться не одна лицензия. В таких случаях в массиве лицензий может быть несколько записей, например license=("GPL" "custom:some commercial license"). Для большинства пакетов эти лицензии применяются в разных случаях, а не одновременно. Когда pacman получит возможность фильтрации по лицензиям (так что вы сможете сказать: "Мне нужны только программы с лицензиями GPL и BSD"), две (или более) лицензии будут рассматриваться pacman с использованием логики ИЛИ, а не И, поэтому pacman будет рассматривать приведенный выше пример как программу с лицензией GPL, независимо от других перечисленных лицензий.
У (L)GPL есть много версий и перестановок этих версий. Для программ под (L)GPL существует следующая концепция:
(L)GPL - (L)GPLv2 or any later version
(L)GPL2 - (L)GPL2 only
(L)GPL3 - (L)GPL3 or any later version
Cookies help us deliver our services. By using our services, you agree to our use of cookies.