Сайт | Скачать | Видео | Wiki

Автор Тема: Стандарты названий модулей.pfs PRA  (Прочитано 11277 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Стандарты названий модулей.pfs PRA
« : 20 Январь 2016, 14:08:01 »
В свете скрипта автообновления модулей и вообще - тема назрела

Стандарт

Пример
045-Program-такая-то-p-1.2.1_64-sf09.pfs
Базовый, составной модуль программы Program-такая-то ; портирован; версия программы 1.2.1; собирал модуль sfs и это его 09 версия; 64 бит
« Последнее редактирование: 20 Апрель 2016, 17:51:15 от sfs »

Оффлайн paulus

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1732
  • Репутация: +24/-0
Re:Стандарты названий модулей.pfs
« Ответ #1 : 20 Январь 2016, 16:31:27 »
Может быть код автора "s" сделать "sf" или "sfs" - уже есть проблема : pro paulus
Думаю два знака хватит или можно сменить имя на форуме - не проблема :) А этот код автора сильно нужен? gpg подпись пакета была бы круче этого кода (хотя не особо и надо) :) Список занятых букв в студию, поменяю код :)

У пра есть модули:
045-Program-такая-то-p-1.2.1-s09_64.pfs
045-Program-такая-то-p-1.2.1_64-s09.pfs
и как-то уже привык ко второму варианту, но это не проблема. Только скажи какой вариант будет стандартом ;)
Почему не xxx-name-version-p_64-s09. То есть прога с версией, а потом все остальные префиксы?
« Последнее редактирование: 20 Январь 2016, 16:37:22 от paulus »

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Стандарты названий модулей.pfs
« Ответ #2 : 20 Январь 2016, 16:39:34 »
код автора сильно нужен?
Страна должна знать своих героев
ander - если поменять с 1 на 3 буквы - скрипт обновления надо переделывать?
gpg подпись пакета была бы круче этого кода
Да. Делайте  ;)

045-Program-такая-то-p-1.2.1_64-s09.pfs
удобнее править с s09 на s10
_64 не меняется
В подобном не надо искать логики. Надо принять и соблюдать
« Последнее редактирование: 20 Январь 2016, 16:41:23 от sfs »

Оффлайн paulus

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1732
  • Репутация: +24/-0
Re:Стандарты названий модулей.pfs
« Ответ #3 : 20 Январь 2016, 17:36:37 »
045-Program-такая-то-p-1.2.1_64-s09.pfs
удобнее править с s09 на s10, _64 не меняется
Так и я об этом. Если что, то я за такой вариант. Хотя это не критично.

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re:Стандарты названий модулей.pfs
« Ответ #4 : 20 Январь 2016, 22:34:15 »
Скрипт сейчас считает все части типа '-s09', '-sf09'  - до двух букв плюс хотя бы одна цифра, относящимися к версии.  Переделать на три буквы можно, но возрастает вероятность, что попадутся имена пакетов с такой же структурой.
Сейчас вот с двумя буквами приходится обрабатывать как исключение '-qt4' - поскольку это не версия, а указание на библиотеку.
С тремя таких исключений может стать очень много.

Архитектура '_64' - не очень хорошо.  Сейчас такое никак особо не обрабатываеься и отнесется к версии пакета, что вообще-то совсем плохо - при наличии abc-1.2.3.pfs и abc-1.2.3_64.pfs скрипт посчитает второй пакет новой версией первого и предложит заменить.
Спасает пока только то, что 32 и 64 разрядные пакеты разнесены по разным репозиториям.
Могу сделать и '_64' исключением, но ведь бывают иногда программы, у которых действительно версия типа '-1.2.1_64'.
Может быть, имеет смысл архитектуру обозначать '[-_]x64' - такое сейчас уже обрабатывается как исключение?

А вот порядок расположения частей скрипт мало волнует, он нормально разберет как abc-1.2.3-4b-p-light-s01-151025.pfs так и abc-1.2.3-4b-s01-151025-p-light.pfs или abc-p-light-1.2.3-4b-s01-151025.pfs, лишь бы в последующих версиях пакет назывался сходным образом.

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Стандарты названий модулей.pfs
« Ответ #5 : 21 Январь 2016, 09:22:47 »
Скрипт сейчас считает все части типа '-s09', '-sf09'  - до двух букв плюс хотя бы одна цифра,
Т.е. можно хоть сейчас делать 2 буквы, не переименовывая старые модули?

_64$|_any$ - можно смело резать sed - ом. Надо только для того чтобы юзер знал - для pra\pra64
В версии проги только "-"
Сейчас вот с двумя буквами приходится обрабатывать как исключение '-qt4' - поскольку это не версия, а указание на библиотеку.
Может тогда 045-Program-такая-то-p-1.2.1_sf09_64.pfs ? Или 045-Program-такая-то-1.2.1_sf09_p_64.pfs

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re:Стандарты названий модулей.pfs
« Ответ #6 : 21 Январь 2016, 17:53:29 »
Скрипт сейчас считает все части типа '-s09', '-sf09'  - до двух букв плюс хотя бы одна цифра,
Т.е. можно хоть сейчас делать 2 буквы, не переименовывая старые модули?
Да, можно.

_64$|_any$ - можно смело резать sed - ом. Надо только для того чтобы юзер знал - для pra\pra64
В версии проги только "-"
Сейчас вот с двумя буквами приходится обрабатывать как исключение '-qt4' - поскольку это не версия, а указание на библиотеку.
Может тогда 045-Program-такая-то-p-1.2.1_sf09_64.pfs ? Или 045-Program-такая-то-1.2.1_sf09_p_64.pfs
Хорошо, сделал '_64' исключением, теперь это выражение будет относиться к имени пакета.
Патч простенький:
Код
 splitname(){
   local ver sver
   ver=$(echo "$1" \
-        |sed 's/i[3-6]86\|x86[_-]64\|x64\|[Xx][Ff][_-]\?86\|[Qq][Tt]4/masq/g' \
+        |sed 's/i[3-6]86\|x86[_-]64\|x64\|[Xx][Ff][_-]\?86\|[Qq][Tt]4/masq/g
+              s/_64/_masq/g' \
         |grep -oE '[_-]([A-Za-z]{0,2}[0-9][a-z0-9]*[_.+-])+')
   local re1='\(.*\)' re2='\1' n=1 partver
   for partver in $ver ; do
Разберет и оба ваших варианта, и предлагаемый paulus 045-Program-такая-то-p-1.2.1_64-s09.pfs тоже.

Тут вот такое еще всплыло: подключен 083-chrome-profile-i01.pfs, а в репозитории  083-chrome-profile-s07.pfs.
Скрипт предлагает обновить.  Формально все верно, это действительно разные версии, вот только какая из них новее?
Скрипт тупо считает 's07' > 'i01', но он ведь также посчитает и 's01' > 'i99' (хотя тут вообще нельзя ничего определить)
Поэтому в такого рода названия следует вставлять еще чего-нибудь, например 083-chrome-profile-160121-s07.pfs
Конечно, в таком случае все равно '160121-s07' > '160121-i07', но такие совпадения уже маловероятны.

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Стандарты названий модулей.pfs PRA
« Ответ #7 : 24 Январь 2016, 09:18:41 »
2 буквы автора -ок
_64 - ок. Пропатчил (залил автообновленире 089)
083-chrome-profile-i01.pfs - по идее если автор меняется номер надо ставить следующий. Я так и сделал
С профилями - достаточно частный случай - думаю - можно не заморачиваться

Я правильно понял :
1. допускается перестановка 045-Program-такая-то-p-1.2.1-sf09_64.pfs 045-Program-такая-то-p-1.2.1_64-sf09.pfs
2. Код автора можно 1 или 2 буквы. Если изменить с 1 на 2 - новым не посчитает?

Поправил шапку. Если несогласных нет - прошу всех соблюдать этот стандарт в PRA

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re:Стандарты названий модулей.pfs PRA
« Ответ #8 : 24 Январь 2016, 14:54:33 »
Я правильно понял :
1. допускается перестановка 045-Program-такая-то-p-1.2.1-sf09_64.pfs 045-Program-такая-то-p-1.2.1_64-sf09.pfs
2. Код автора можно 1 или 2 буквы. Если изменить с 1 на 2 - новым не посчитает?
Не совсем.

Насчет перестановки.  Да, можно и так и этак, но разборщик посчитает это за два совершенно разных пакета.
То есть если подключен 045-Program-такая-то-p-1.2.1-sf09_64.pfs, а в репозитории появился 045-Program-такая-то-p-1.2.1-sf10_64.pfs, то предложит обновить, а вот если при том же подключенном пакете в репозитории появился 045-Program-такая-то-p-1.2.1_64-sf10.pfs - не предложит,
потому что у первого имя 045-Program-такая-то-p-.*_64.pfs, а у второго 045-Program-такая-то-p-.*_64-.*.pfs и сравниваются они как строки.

Про код автора.  Опять же, если 045-Program-такая-то-p-1.2.1-s09_64.pfs просто переименовать в 045-Program-такая-то-p-1.2.1-sf09_64.pfs - посчитает новым, поскольку код автора относится к версии и он увеличился.

Вывод.  Старые пакеты лучше под стандарт не переименовывать, если они ничего не ломают.  Имена по стандарту давать вновь появившимся пакетам, на  двухбуквенный код автора переходить при выпуске новой версии пакета.
Как-то так.
Помаленьку названия к стандарту придут, хоть на это может уйти и довольно много времени.  Но, думаю, это не страшно.  В конце концов обновлялка с существующими именами вроде бы справляется, а стандарт - это ориентир на будущее, чтобы какие-то новые сильно заковыристые имена не появлялись.
В конце концов, при при планировании пешеходных дорожек существует два метода: или сразу план нарисовать и строго его выполнять, или посмотреть, где люди ходят, потому что им там удобно, и там дорожки и проложить.

Оффлайн dim-kut

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1021
  • Репутация: +41/-0
Re:Стандарты названий модулей.pfs PRA
« Ответ #9 : 24 Январь 2016, 16:05:13 »
_any _64 : архитектура. Если пусто - i686
Я бы предложил _32 подставлять в i686, определенней как-то. Догадываться не надо.
А вообще глазами легче читается _x32, или _x64 или _32bit или _64b. Не надо думать к чему эти цыфры. И для автоматической обработки проще будет.
Engineering is the art of making what you want from things you can get.

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Стандарты названий модулей.pfs PRA
« Ответ #10 : 24 Январь 2016, 16:58:04 »
dim-kut - достаточно субъективно и главное поздно. Переделывать уже не имеет смысла

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re:Стандарты названий модулей.pfs PRA
« Ответ #11 : 24 Январь 2016, 17:06:08 »
то же считаю что х64 лучше чем _64,как-то стандартней. если этой аббревиатуры нет - значит 32 разряда.
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Онлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Стандарты названий модулей.pfs PRA
« Ответ #12 : 24 Январь 2016, 17:17:34 »
Тогда уж
Код
uname -m
x86_64
Названия модулей и так длинные - сократил
Или сейчас договоримся до:  045-base-Program-такая-то-portable-1.2.1-puppyrus-a64-version-06-1601-from_sfs-version-10-160124-bugfix_nomber-16788678-x86_64.pfs
Перепутать модули не получатся - они не будут работать в другой архитектуре

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re:Стандарты названий модулей.pfs PRA
« Ответ #13 : 24 Январь 2016, 18:18:00 »
x86_64 так конечно ближе к официальным стандартам, но:
1. длиннее
2. менее удобочитаемо что-ли.
х64 х32 - кратко и наглядно, повторюсь х64 можно опускать - значит модуль 32-разрядный.
еще:
сделать две версии скрипта автообновления: для х64 и для х32.
каждый ищет обновы только в своем репозитарии
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re:Стандарты названий модулей.pfs PRA
« Ответ #14 : 24 Январь 2016, 18:39:10 »
сделать две версии скрипта автообновления: для х64 и для х32.
каждый ищет обновы только в своем репозитарии
Скрипт смотрит список репозиториев в /etc/sfs-get/www.list, а там для 32 и 64 разрядной системы репозитории уже прописаны свои, так что это само по себе получается.