Менеджер пакетов Alpines APK
не имеет эквивалента исходной команде dpkg
(apt-get source
).
Чтобы получить точный исходный код, соответствующий установленным пакетам в alpine linux, вы можете использовать комбинацию команд apk
и alpine-sdk
.
Шаги для получения точного исходного кода установленных пакетов в alpine linux:
Получить список всех установленных пакетов:
apk info
Установите alpine -sdk (для получения дополнительной информации прочитайте alpine wiki):
apk --update add alpine-sdk
Клонируйте вашу текущую альпийскую версию из aports:
git clone --depth 1 --branch v3.13.1 git://git.alpinelinux.org/aports
Просмотрите установленные пакеты и найдите нужную папку. в папке aports (будьте осторожны, версия пакета, которую вы можете получить с помощью apk version
, равна
).
Получить исходный код пакета (включает специальные файлы исправлений и файлы конфигурации Alpine)
(Необязательно )вы можете установить пользовательское место назначения для исходных файлов с помощью export SRCDEST="/path/to/my/custom/src/destination"
, иначе будет создана папка src в текущей папке пакета
В папке, соответствующей имени пакета (, например. aports/main/git
для пакета git
)запустите abuild -F fetch verify
как root или abuild fetch verify
как обычный пользователь (это доставит исходные файлы, указанные в сценарии APKBUILD
)
Пакеты, содержащие лицензионный код GPL :Чтобы соответствовать GPL
, вы должны предоставить загруженные исходные файлы и сам скрипт APKBUILD
. Вы также должны предоставить исходные файлы и сценарий APKBUILD
для пакетов, перечисленных в переменной makedepends
сценария APKBUILD
(. openssl-dev
являются подпакетами -(, см. пункт 6 )зависимостей времени выполнения, например.openssl
)см. этот вопрос о GPL
и построить зависимости.
Не у каждого пакета есть своя папка в апортах,потому что иногда пакет, указанный в apk info
, будет подпакетом другого упаковка.
В этом случае вам необходимо получить исходный код пакета. ссылка на исходную переменную в файле .PKGINFO
, который вы можете получить с помощью команды apk fetch
.