Как включить статические файлы данных в пакет Archlinux AUR?

У меня есть небольшой скрипт, который использует некоторые статические текстовые файлы в качестве источника данных. Я хочу сделать пакет Archlinux AUR для этого скрипта. Я планирую установить скрипт в /usr/bin/ и статические текстовые файлы где-нибудь локально ~/.data_files

У меня есть несколько статических файлов: data1.txt, data2.txt, data3.txt. По сути, мне нужен менеджер пакетов, чтобы установить скрипт в /usr/bin/, создать каталог ~/.data_files и скопировать туда статические файлы.

Как мне настроить PKGBUILD в таком случае?

Вот моя текущая версия:

# Maintainer: john doe
pkgname=myscript
pkgver=1.0
pkgrel=1
pkgdesc="test script"
arch=(any)
url="https://github.com/me/myscript"
license=('MIT')
depends=('file')
source=('https://raw.githubusercontent.com/me/myscript/master/myscript')
md5sums=('1fa410f1647700a6da3ab0ebyc52465d')

package() {
  install -D -m 755 myscript ${pkgdir}/usr/bin/myscript
}

person minerals    schedule 08.12.2016    source источник


Ответы (1)


Позвольте мне процитировать одного из самых активных модераторов форума Archlinux, когда он сказал здесь :

Не трогайте домашний каталог пользователя в PKGBUILD, особенно не удаляйте ничего, потому что странные ошибки могут сделать плохие вещи< /а>.

Теперь, как сопровождающий в AUR, я предлагаю добавить ваши файлы статики в папку /usr/share/${pkgname}/, как это также предлагается в Стандарты упаковки Arch

Вот мое предложение (открыто для редакций, предложений, советов...):

# Maintainer: john doe <john at doe dot com>
pkgname=myscript
pkgver=1.0
pkgrel=1
pkgdesc="test script"
arch=(any)
url="https://github.com/me/myscript"
license=('MIT')
depends=('file')
source=('https://raw.githubusercontent.com/me/myscript/master/myscript'
      'data1.txt'
      'data2.txt'
      'data3.txt')
sha256sums=('77eff738ea7fdeee5f5707cafdf34f74e3bf8df3b8b656a08a8740a45a7e22c45a7e60c31b13c71f5ee04aff9c82ac43abb39c37b2ea6b02a6454e262f336f73'
       'sha256Ofdata1.txt'
       'sha256Ofdata2.txt'
       'sha256Ofdata3.txt')

package() {
  install -Dm755 myscript "${pkgdir}/usr/share/${pkgname}/myscript"
  install -Dm644 data1.txt "${pkgdir}/usr/share/${pkgname}/data1.txt"
  install -Dm644 data2.txt "${pkgdir}/usr/share/${pkgname}/data2.txt"
  install -Dm644 data3.txt "${pkgdir}/usr/share/${pkgname}/data3.txt"
}

Из-за известных уязвимостей md5 я использовал sha256, но вы можете использовать другой sha* для проверки целостности.

person funilrys    schedule 21.12.2016