О связывании файлов.deb с github

Следующий цикл будет обрабатывать каждый каталог в текущем каталоге так, как вы описываете:

for dir in */; do
    cat "$dir"/*.txt >"${dir%/}.txt"
done

Вещь ${dir%/}удаляет конечный /из $dir, который находится там, из совпадения шаблона в заголовке цикла.

Ошибка, которую вы получаете, вероятно, связана с написанием сценария на компьютере с Windows (с помощью редактора Windows ). Текстовые файлы Windows (и DOS )имеют символ возврата каретки перед символом перевода строки в конце каждой строки, в то время как текстовые файлы Unix имеют только символ перевода строки. Вы можете преобразовать сценарий в текстовый файл Unix с помощью утилиты dos2unix.

1
16.04.2021, 08:16
2 ответа

Я делаю что-то подобное, когда у меня есть машина сборки, которая отслеживает изменения в моей системе контроля версий, затем выполняет автоматическую сборку и использует dput *.changesили scp *.debдля каталога incoming/на сервере, который я размещаю.

Этот сервер работает reprepro, и когда *.debфайлы появляются в этом каталоге incoming/, запускается скрипт reprepro includedeb <suite> *.deb.

Вот пример руководства о том, как это настроить.

Вашим пользователям просто нужно apt-key addваш ключ GPG и создать /etc/apt/sources.list.d/*.listссылку на ваш репозиторий.

0
28.04.2021, 22:52

Для этого вам сначала нужно создать и разместить фактический архив apt.

Инструкции здесь должны объяснять шаги, которые вам необходимо предпринять --большинство из них можно автоматизировать с помощью программного обеспечения, но вы должны знать о них в любом случае.

Вам также потребуется подписать файлы deb и release и сообщить своим пользователям, где они могут скачать ваш открытый ключ, чтобы проверить ваш файл Release.

Затем , когда у вас все это заработает, вам придется подумать о добавлении «собрать deb, загрузить deb, воссоздать и подписать файл Release» в обновление репозитория.

Все это можно сделать, но это решительно нетривиально.

1
28.04.2021, 22:52

Теги

Похожие вопросы