The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск Debian 8.6, opennews (??), 17-Сен-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


15. "Выпуск Debian 8.6"  –2 +/
Сообщение от nrndda (ok), 17-Сен-16, 22:27 
За то, что сделали с systemd в debian/ubuntu руки отрывать надо. Там костыль из systemd/upstart/bash-скриптов.
Сразу хочу сказать, осознано перешёл в gentoo на systemd. После небольшого изучения всё становится очень просто и понятно. Баги были, есть и будут в любом значительном куске кода.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

18. "Выпуск Debian 8.6"  –4 +/
Сообщение от Аноним (-), 18-Сен-16, 00:53 
Вот на Арче таких проблем нет. Еще и пакетный менеджер удобнейший
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск Debian 8.6"  +2 +/
Сообщение от Аноним (-), 18-Сен-16, 05:33 
угу, только PKGBUILD'ы - это обычный фрагмент шелла, который не поддаётся обработке автоматикой. Соотвественно, какие-либо массовые изменения на уровне всего репозитория там невозможны впринципе, просто потому, что у шелла свободный синтаксис. Только медленно, нудно и ручками.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск Debian 8.6"  +/
Сообщение от tyuiop (?), 18-Сен-16, 09:13 
> массовые изменения на уровне всего репозитория

Интересно. Можно как-то пояснить, пример привести?

Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск Debian 8.6"  +1 +/
Сообщение от Аноним (-), 18-Сен-16, 12:48 
Поясняю. Вет например, есть у тебя некая переменная depends="", в которой перечислены зависимости пакета. В зависимости от предпочтений левой пятки конкретного писателя пакбилда, её могут записать как:

depends="foo bar baz" # т.е. одну строчку
depends="foo bar
  baz" # т.е. с переносом первой строки по достижении 80 символов
depends="
  foo
  bar
  baz
" # т.е. по зависимости на строку

Теперь попробуй добавить в эту переменную зависимость quux, так, чтоб гарантированно не поломать синтаксис. В Debian это можно сделать, там в debian/control используется подвид yaml'а, который можно прочитать в массив хешей, поменять как надо из perl'а/python'а/etc И СОХРАНИТЬ НА ДИСК отдав сериализатору.

С пакбилдом такое не прокатит, потому что нет способа сохранить фрагмент шелла обратно после его полного разбора. Даже если ты сохранишь список переменных, то потеряешь а) функции, б) форматирование, в) комментарии и оформление.

Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск Debian 8.6"  –4 +/
Сообщение от derfenix (ok), 18-Сен-16, 13:41 
Во-первых, от предпочтений левой пятки зависят PKGBUILD'ы в ауре только, что естественно. Официальные почти все оформлены единообразно.
Во-вторых, если тебе так часто надо менять какие-то параметры в куче пакетов, то логично было бы за полчаса набросать шаблоны и генератор PKGBUILD'ов нужной группы пакетов, что в арче сделать на два порядка проще, чем в том же дебиане.
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск Debian 8.6"  –2 +/
Сообщение от chinarulezzz (ok), 18-Сен-16, 15:36 
>Теперь попробуй добавить в эту переменную зависимость quux, так, чтоб гарантированно не поломать синтаксис

$ depends+=" quux"

Ну, или если надо PKGBUILD изменить:

$ perl -i.bak -pe 'BEGIN{$/=""}; $"="" if /\n"$/; s/\"$/$"guux"/ if /depends=(.*)/m' PKGBUILD

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

78. "Выпуск Debian 8.6"  +1 +/
Сообщение от Аноним (-), 18-Сен-16, 17:11 
Я знаю как в шелле добавить что-то к переменной. Ну и? А обратно это сохранить?

А твой колхоз с однострочником не даст никакой гарантии, что не сломается в один прекрасный момент.

Для тех кто не понял -- да, писать это просто и быстро. Но о управляемости, поддерживаемости и автоматизации при таком подходе к сборке пакетов можете забыть.

Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск Debian 8.6"  –2 +/
Сообщение от chinarulezzz (ok), 18-Сен-16, 17:20 
> Я знаю как в шелле добавить что-то к переменной. Ну и? А
> обратно это сохранить?

mv PKGBUILD.bak PKGBUILD

> А твой колхоз с однострочником не даст никакой гарантии, что не сломается
> в один прекрасный момент.

однострочник просто дописывает к списку, что может сломаться?

> Для тех кто не понял -- да, писать это просто и быстро.
> Но о управляемости, поддерживаемости и автоматизации

как тут говорят: при упоминании этих слов я поднимаюсь с колен и тянусь к нанотехнологиям.


Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск Debian 8.6"  +1 +/
Сообщение от Аноним (-), 19-Сен-16, 03:08 
Вот и пошло шлангование.

Спрошу ещё раз, покажи мне код, который корректно разберёт н/у фрагмент шелла, изменит там gtk2 на gtk3 одним и тем же кодом (предположим это два отдельных пакета), и сохранит обратно в том же виде, поменяв только кусок с этой переменной.

g_ver="2"
depends="gtk${g_ver}-theme-adwaita gtk${g_ver}-engines"

_gtk="2"
depends="gtk${_gtk}-theme-adwaita gtk${_gtk}-engines"

Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск Debian 8.6"  +/
Сообщение от chinarulezzz (ok), 19-Сен-16, 03:55 
чем тебя вышеупомянутый пример с guux не устраивает?
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск Debian 8.6"  +/
Сообщение от Аноним (-), 19-Сен-16, 10:35 
Т.е. код ты привести не можешь. Предсказуемо.

Слив защитан.

Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск Debian 8.6"  +2 +/
Сообщение от chinarulezzz (ok), 19-Сен-16, 12:13 
Клоунада. Оставайся при своём мнении, а для новичков, фапающих на "серьёзные технологии" еще раз скажу: не доверяйте ничьему мнению, в том числе моему. Проверяйте. А по моему мнению и опыту, шелл - замечательное средство автоматизации. Tcl/Tk - еще одно замечательное средство.
Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск Debian 8.6"  –2 +/
Сообщение от curious (?), 19-Сен-16, 13:14 
> изменит там gtk2 на gtk3 одним и тем же кодом

echo ${depends//gtk2/gtk3}

> сохранит обратно в том же виде

У тебя в коде нет "gtk2", что ты собираешься менять?
Переменные g_ver="2" и _gtk="2" на g_ver="3" и _gtk="3"?

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

152. "Выпуск Debian 8.6"  +1 +/
Сообщение от Аноним (-), 20-Сен-16, 02:28 
Тот же вопрос: как теперь сохранить обратно эту изменённую переменную в файл пакбилда так, чтоб необратимо не похерить всё остальное?

> У тебя в коде нет "gtk2", что ты собираешься менять?

Воот! Из-за слишком большой гибкости шелла ты можешь на нём это описать КАК УГОДНО. Можно использовать встроенные операции над строками, можно использовать раскрытие переменных, подстановку другой переменной, да этот список вообще может генерироваться функцией или браться из внешнего файла! Как ты будешь такое лопатить автоматикой, если у тебя сам формат позволяет описывать данные бесконечным числом способов?

И не надо мне кивать на некую политику оформления, потому что всегда найдётся дятел, который налепит своих, нескучных костылей. Раз формат позволяет - значит это рано или поздно случится. О частоте и вероятности такого события можно поспорить.

Именно эту мысль я пытался довести до кетайца выше, но тот либо не понял, либо понял, но прикидывается шлангом, зная что задача в данном виде не решаема. Либо просто не может мыслить категориям шире сраного однострочника и трёх пакетов.

Ответить | Правка | Наверх | Cообщить модератору

157. "Выпуск Debian 8.6"  –2 +/
Сообщение от curious (?), 20-Сен-16, 10:28 
Вряд ли кто-нибудь сможет тебе помочь при таком описании проблемы - "Я хочу что-то поменять, как-то сохранить, это что-то может меняться кем угодно, хранится где угодно. Шелл мне этого сделать не позволяет."

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

Ответить | Правка | Наверх | Cообщить модератору

160. "Выпуск Debian 8.6"  –1 +/
Сообщение от Аноним (-), 20-Сен-16, 17:18 
Тоже под шланг косишь? Ну-ну. Я достаточно ясно описал задачу. Если тебе лень прочитать и осмыслить - свали в туман и не отсвечивай.

А твоя истерика постом ниже явно показывает, что тебе до того уровня, когда понадобится решать подобные задачи - как до пекина раком.

Ответить | Правка | К родителю #157 | Наверх | Cообщить модератору

158. "Выпуск Debian 8.6"  –3 +/
Сообщение от curious (?), 20-Сен-16, 10:37 
> Тот же вопрос: как теперь сохранить обратно эту изменённую переменную в файл пакбилда так, чтоб необратимо не похерить всё остальное?

Ответ: достаточно просто ничего не делать.
Пояснение: в моём сообщении нет изменённой переменной, то есть сохранять нечего.
Поэтому файл пакбилда не нужно изменять (следовательно он не может быть "похерен").

Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск Debian 8.6"  +/
Сообщение от Аноним (-), 18-Сен-16, 16:18 
> потому что нет способа сохранить фрагмент шелла обратно после его полного разбора

Какая-то чушь, если честно. Нет, я не сижу на раче и даже не пишу PKGBUILDы, но я пишу на баше и никогда таких проблем, как вы тут описываете не испытывал. Вы вообще уверены, что у пакмена не свой парсер этого? Может быть он просто использует синтаксис bash?

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

79. "Выпуск Debian 8.6"  –1 +/
Сообщение от Аноним (-), 18-Сен-16, 17:16 
> но я пишу на баше и никогда таких проблем, как вы тут описываете не испытывал

Не дорос, видимо.

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск Debian 8.6"  –2 +/
Сообщение от Аноним (-), 18-Сен-16, 17:22 
> Не дорос, видимо.

До проблем с башем? Действительно. Арч же ролинг-релиз? Кто знает, может быть это проблема с конкретной версией баша, но в Дебиан всё нормально.

Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск Debian 8.6"  –2 +/
Сообщение от Аноним (-), 18-Сен-16, 14:51 
> который не поддаётся обработке автоматикой

Про какую автоматику вы таки говорите? Аппаратную? На шеле можно много чего делать, не надо тут.

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

70. "Выпуск Debian 8.6"  +/
Сообщение от Аноним (-), 18-Сен-16, 15:34 
Подними глаза выше и прочитай пример с depends=""
Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск Debian 8.6"  –2 +/
Сообщение от Andrey Mitrofanov (?), 18-Сен-16, 16:26 
> угу, только PKGBUILD'ы - это обычный фрагмент шелла, который не поддаётся обработке
> автоматикой. Соотвественно, какие-либо массовые изменения на уровне всего репозитория

Ну, собирайте пакеты "пятью строчками"tm прямо в своём s-d. Я разрешаю!

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

80. "Выпуск Debian 8.6"  –1 +/
Сообщение от Аноним (-), 18-Сен-16, 17:19 
Проспись.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру