Итак, я создал часть программного обеспечения, которую я хочу упаковать и опубликовать в Arch Linux User Repositories, AUR, - должен отметить, что я никогда не упаковывал ничего для какого-либо дистрибутива раньше - и я также получил его упакованный и установленный на нем моя собственная машина через менеджер пакетов Arch Pacman, но теперь мне интересно, как же я буду структурировать папки и файлы?
Обычно, когда я пишу программное обеспечение, я использую эту структуру:
build / | SRC / | Makefile
Как минимум, и в случае с этим программным обеспечением make-файл делает не более, чем компилирует файл .cpp из src / для сборки /.
Чтобы создать пакет Arch, мне также пришлось создать файл .rc, чтобы правильно использовать программу в качестве демона и файл PKGBUILD, который является файлом, который сообщает программе makepkg, как собрать пакет установщика - эти два файла, хотя, специфичны для Arch.
Если я хочу упаковать программу для, скажем, debian, мне понадобится другой набор файлов, чтобы сделать это, но эти файлы работают только для Debian. Теперь я не могу просто поместить файл .rc и файл PKGBUILD в корневую папку программ, так как это будет «беспорядок», особенно если у меня также есть файлы для сборки пакета для Debian, но куда мне положить специфичные для дистрибутива файлы? Мне нужно, чтобы он был в корневой папке программ -at-less-, чтобы иметь возможность отслеживать это, и моя первоначальная мысль заключалась в том, чтобы использовать такую структуру, как distro / arch / для конкретных файлов Arch Linux, а затем файл PKGBUILD просто запустил бы make-файл в корневой папке программы и скопировал скомпилированный файл из build / в distro / arch /, прежде чем он сделал что-нибудь еще, но я обнаружил, что не могу заставить PKGBUILD работать таким образом, и люди на #archlinux на Freenode также сказал, что это не умная идея.
Так, где я могу поместить определенные файлы дистрибутива? Если бы я знал, что должен был предоставить эту программу только для Arch, было бы просто структурировать ее только для Makepkg, но я не хотел бы заключать в тюрьму подобное программное обеспечение, и я мог бы также представить предоставление пакетов для других дистрибутивов мэров, таких как debian, поэтому Как мне добиться этого при сохранении вменяемой файловой структуры?
С уважением,
Крис Буххольц