Упаковка программного обеспечения Linux при сохранении здравой структуры файлов

StackOverflow https://stackoverflow.com/questions/4498159

  •  12-10-2019
  •  | 
  •  

Вопрос

Итак, я создал кусок программного обеспечения, который я хочу упаковать и опубликовать, чтобы Arch Linux пользовательские репозитории, AUR, - следует отметить, что я никогда ничего не упаковал ни на какую дистрибуцию - и я также упаковал и установлен на своей собственной машине Через менеджер пакетов Arch Pacman успешно, но теперь мне интересно, как, черт возьми, я буду структурировать папки и файлы?

Обычно, когда я писал программное обеспечение, я использую эту структуру:

сборка/ | SRC/ | Makefile

Как минимум, и в случае этого программного обеспечения, Makefile не делает не более чем компиляция файла .cpp из SRC/ для сборки/. Чтобы сделать пакет Arch, мне также пришлось создать файл .rc, чтобы правильно использовать программу в качестве демона и файла Pkgbuild, который является файлом, который сообщает программе MakePKG, как построить установщик -пакель - эти два файла, хотя, специфичны для Арки. Если я хочу упаковать программу для Debian, мне также понадобится другой набор файлов, но эти файлы работают только для Debian. Теперь я не могу просто поместить файл .rc и файл pkgbuild в корневую папку программ, так как это было бы «беспорядок», особенно если у меня также были файлы для создания пакета для Debian, но куда мне поместить Дистриблентные файлы? Мне нужно иметь его в программах корневой папки-по-летому-чтобы иметь возможность отслеживать его, и моей первоначальной мыслью было перейти со структурой, такой как Distro/ Arch/ For Arch Linux, и затем файл pkgbuild просто запустил бы MakeFile в корневой папке программ и скопировал составленный файл из Build/ To Distro/ Arch/ до того, как он сделал что -то еще, но я обнаружил, что не могу заставить Pkgbuild работать таким образом, и люди на #archlinux также на Freenode также также сказал, что это не умная идея.

Итак, куда мне поместить файлы специфики для дистрибуции? Если бы я знал, что мне нужно было только предоставить эту программу для Arch, было бы легко просто структурировать ее только для Makepkg, но я не хотел бы заключать в тюрьму, что Softwarelie Как мне это достичь при сохранении здравомыслящей структуры файлов?

С уважением, Крис Буххольц

Это было полезно?

Решение

Очень часто вы находите в Tarballs в каталоге под названием «Debian», в котором есть конкретные файлы Debian. Я бы пошел по тому же маршруту, создал каталог «Archlinux» и поместил там файлы.

Затем я бы продолжил и положил файл readme в каталог Archlinux, который объясняет, как правильно использовать Pkgbuild.

Одним из решений может быть написание правила в ваш MakeFile «Aarch», который копирует Pkgbuild в корневую каталог, запускает Makepkg, а затем удаляет избыточную Pkgbuild.

Это хакерское, поэтому я также напишу отчет об ошибке для людей, чтобы исправить это ограничение. Однако вы пробовали makepkg -p archlinux/PKGBUILD?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top