akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Есть на sourceforge проект (конкретно - obmenu3), который я хочу сделать доступным из AUR. Там выложены исходники и два бинарика - 32bit и 64bit. По ряду причин (не просто по прихоти) пересобирать из исходников я не хочу, а хочу просто обернуть готовые бинарики в пакетную обёртку. Трудности у меня вызывает наличие двух архитектур. Соответственно, разные исходные файлы и разные контрольные суммы. Я, вроде, решил проблему, но решение мне не нравится. ... arch=('i686' 'x86_64') ARCH=`uname -a | cut -d " " -f 13` source=(http://sourceforge.net/projects/obmenu3/files/$pkgver/obmenu3-$pkgver-$ARCH.tgz) if [[ $ARCH == 'i686' ]]; then md5sums=('e5e35839d1aa2502619ce5fd479fe026') else md5sums=('a77eb9e1d58f68f4acb6ee7580b179a5') fi ... |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
в культурном обществе есть переменная CARCH. Обычно ею и пользуются примерно в таком формате для определения md5sums. Вот например или даже так |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
arcanisИменно то, что надо, спасибо! Вроде и читал про PKGBUILD, но как-то просмотрел... |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
кстати, общая рекомендация к той части, которую вы написали. К пользовательским переменным (не являющиеся частью makepkg.conf или системы или PKGBUILDа) при возможности лучше добавлять подчеркивание в начале во избежание конфликтов. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Заменил шаманство с uname на CARCH, проверил, залил на AUR (obmenu3). И получил косяк на страничке пакета: переменная CARCH в ссылке на исходный файл, естественно, не отработалась. Получилось так:Sources http://sourceforge.net/projects/obmenu3/files/1.01/obmenu3-1.01-.tgz |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
плюнуть. Веб рожа не держит нестандартные переменные. Пока, по крайней мере А вот cp -R я бы заменил на install -Dm644. Например, у меня так есть, или поштучно, файлов то немного. Но это не обязательно, но изменить хотя бы на такое надо: cp -R "$srcdir/usr" "$pkgdir" |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
arcanisВот тут или я торможу, или install. Декларируется, что 'install' is similar to 'cp', но при этом аналога ключика '-R' я у install не нашёл. А желания тупо создавать все каталоги по одному как-то не возникает. Так может install скопировать каталог со всеми подкаталогами, как cp -R? Я не осилил. arcanisДа. согласен. Спасибо. |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
Там отрабатываются только "постоянные переменные". А архитектура заранее не задана, так что это обычное дело, например почти во всех во пакетах с драйверами nvidia то же самое:[ "$CARCH" = "i686" ] && ARCH=x86 [ "$CARCH" = "x86_64" ] && ARCH=x86_64 source=("http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run") Но некоторые выкрутились: if [[ "$CARCH" = "i686" ]]; then _arch='x86' source=('http://us.download.nvidia.com/XFree86/Linux-x86/173.14.39/NVIDIA-Linux-x86-173.14.39-pkg0.run') fi if [[ "$CARCH" = "x86_64" ]]; then _arch='x86_64' source=('http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.39/NVIDIA-Linux-x86_64-173.14.39-pkg0.run') fi https://aur.archlinux.org/packages/nv/nvidia-173xx-all/PKGBUILD Хотя наверное, можно было и попроще это записать. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
NatrioХм... хрен редьки не слаще. Типа нужна человеку i686, а он смотрит на x86_64 и репу чешет. IMHO уж лучше пусть будет явный глюк. А впрочем, вряд ли кто-то вообще на Source смотреть будет, так что всё равно. |
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
[offtop]uname -a | cut -d \ -f 13 uname -m |