Bug 36074 - [done] join nickf@
Summary: [done] join nickf@
Status: CLOSED FIXED
Alias: None
Product: Team Accounts
Classification: Development
Component: join (show other bugs)
Version: unspecified
Hardware: all Linux
: P3 normal
Assignee: Dmitry V. Levin
QA Contact: Andrey Cherepanov
URL: https://www.altlinux.org/Team/Join/Se...
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-11 14:29 MSK by Nikita Obukhov
Modified: 2021-02-01 13:45 MSK (History)
7 users (show)

See Also:


Attachments
GPG-ключ (3.00 KB, application/octet-stream)
2019-02-11 14:30 MSK, Nikita Obukhov
no flags Details
SSH-ключ (108 bytes, application/octet-stream)
2019-02-11 14:31 MSK, Nikita Obukhov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikita Obukhov 2019-02-11 14:29:08 MSK
Псевдоним: nickf
E-mail: nickf@basealt.ru
Ментор: Станислав Левин
Моя цель: Освоить git.alt. Научиться собирать пакеты. Для начала планирую собрать пакет virtualenv-clone
Comment 1 Nikita Obukhov 2019-02-11 14:30:57 MSK
Created attachment 8011 [details]
GPG-ключ
Comment 2 Nikita Obukhov 2019-02-11 14:31:28 MSK
Created attachment 8012 [details]
SSH-ключ
Comment 3 Stanislav Levin 2019-02-11 17:17:42 MSK
Ментор согласен.
Comment 4 Dmitry V. Levin 2019-02-15 02:12:40 MSK
T/J/S -> 2.0.
Comment 5 Stanislav Levin 2019-02-27 11:15:13 MSK
Кандидат готов перейти к этапу 2.
Comment 6 Stanislav Levin 2019-03-07 09:15:10 MSK
Кандидат по-прежнему готов перейти к следующему этапу.
Comment 7 Dmitry V. Levin 2019-04-18 02:07:12 MSK
Адрес для пересылки создан,
ssh ключ на gitery.alt и gyle.alt зарегистрирован.

T/J/S -> 3.0.
Comment 8 Stanislav Levin 2019-04-18 09:10:46 MSK
Дмитрий, спасибо!
Comment 9 Stanislav Levin 2019-12-25 09:23:30 MSK
Подопечный готов собирать пакеты.
Comment 10 Gleb F-Malinovskiy 2019-12-25 15:45:41 MSK
Пакет alt-gpgkeys обновлён.

T/J/S -> 4.0.
Comment 12 Dmitry V. Levin 2020-11-30 14:08:32 MSK
У меня вопрос по vim-plugin-coc.git, там в .gear/rules написано:
copy: .gear/node_modules.tar.gz

Скажите, пожалуйста, была ли какая-нибудь причина так делать?
Comment 13 Dmitry V. Levin 2020-11-30 14:14:16 MSK
В файле .gear/rules из репозитория node-bash-language-server.git аналогичная конструкция:
copy: .gear/node_modules.tar.gz

Мне кажется, что это следствие какого-то недопонимания gear.
Comment 14 Nikita Obukhov 2020-11-30 14:45:12 MSK
Согласен, .gear не предназначен для хранения исходников. Будет исправлено.
Comment 15 Nikita Obukhov 2020-11-30 16:27:55 MSK
Исправленная версия:
http://git.altlinux.org/tasks/262707/
Comment 16 Dmitry V. Levin 2020-11-30 16:32:36 MSK
(In reply to Nikita Obukhov from comment #15)
> Исправленная версия:
> http://git.altlinux.org/tasks/262707/

А почему вы решили хранить их в нераспакованной форме node_modules.tar.gz?
Comment 17 Nikita Obukhov 2020-11-30 16:56:46 MSK
Это было сделано для удобства ведения репозитория, а так же опираясь на репозитории других ментейнеров.
http://git.altlinux.org/gears/c/cockpit.git
Comment 18 Dmitry V. Levin 2020-11-30 17:55:09 MSK
(In reply to Nikita Obukhov from comment #17)
> Это было сделано для удобства ведения репозитория, а так же опираясь на
> репозитории других ментейнеров.
> http://git.altlinux.org/gears/c/cockpit.git

За очень редкими редкими исключениями, исходный код хранится в репозитории исходного кода в распакованном виде.  Для того, чтобы имело смысл хранить исходный код в форме бинарного блоба, нужны веские причины.
Comment 19 Dmitry V. Levin 2020-11-30 18:00:59 MSK
Ещё один вопрос, в чём причина использования

Source: %name-%version.tar.gz
tar.gz: v@version@:.

вместо

tar: v@version@:.
Source: %name-%version.tar

?
Comment 20 Dmitry V. Levin 2020-11-30 18:03:55 MSK
И ещё один вопрос, в одном из спеков вы осуществляете закат солнца вручную с помощью tar -xzf %SOURCE1 -C "./server", в чём причина такого неординарного выбора?
Comment 21 Nikita Obukhov 2020-11-30 21:20:12 MSK
(Ответ для Dmitry V. Levin на комментарий #19)
> Ещё один вопрос, в чём причина использования
> 
> Source: %name-%version.tar.gz
> tar.gz: v@version@:.
> 
> вместо
> 
> tar: v@version@:.
> Source: %name-%version.tar
> 
> ?

Да вы правы, в данном случае использование tar.gz является бессмысленным, так как исходников не много.

>И ещё один вопрос, в одном из спеков вы осуществляете закат солнца вручную с помощью tar -xzf %SOURCE1 -C "./server", в чём причина такого неординарного выбора?

В данном случае стоило воспользоваться возможностями макроса %setup.

Спасибо за ваши замечания, обязательно их учту при сборке следующих пакетов.
Comment 22 Dmitry V. Levin 2020-12-01 03:18:34 MSK
(In reply to Nikita Obukhov from comment #21)
> Да вы правы, в данном случае использование tar.gz является бессмысленным,
> так как исходников не много.

Использовать сжатые исходники в спекфайлах обычно не просто бесполезно, но ещё и немного вредно: это приводит к тому, что транспортные файлы с исходниками (gear-файлы, из которых ведётся сборка, и srpm-пакеты, которые получаются на выходе), в которых тоже есть сжатие, собираются дольше и получаются большего размера из-за двойного сжатия.
Comment 23 Nikita Obukhov 2020-12-01 15:12:33 MSK
http://git.altlinux.org/tasks/262707/
Исправил замечания по пакетам.
Comment 24 Nikita Obukhov 2020-12-03 11:28:34 MSK
Дмитрий, требуется ли еще что-то здесь поправить?
Comment 25 Dmitry V. Levin 2020-12-06 06:50:31 MSK
Скажите, пожалуйста, каково происхождение node_modules в node-bash-language-server и vim-plugin-coc?  Те упоминания, которые я нашёл ("Add node_modules for language-server" в одном пакете и "Add node_modules for build coc plugins" в другом), не очень помогают это понять.  Обычно происхождение исходного кода либо написано в нём самом, либо в коммите, который его добавляет, либо в спек-файле.

Пакет vim-plugin-coc содержит исходный код как минимум трёх самостоятельных проектов:
https://github.com/neoclide/coc.nvim
https://github.com/weirongxu/coc-calc
https://github.com/josa42/coc-sh
(происхождение последних двух пришлось искать, потому что в пакете этого не написано).

Такой подход гораздо сложнее обычного и на практике встречается редко.  Скажите, пожалуйста, зачем понадобилось объединять три проекта с разными апстримами в один исходный пакет?
Comment 26 Nikita Obukhov 2020-12-07 09:34:02 MSK
(Ответ для Dmitry V. Levin на комментарий #25)
> Скажите, пожалуйста, каково происхождение node_modules в
> node-bash-language-server и vim-plugin-coc?  Те упоминания, которые я нашёл
> ("Add node_modules for language-server" в одном пакете и "Add node_modules
> for build coc plugins" в другом), не очень помогают это понять.  Обычно
> происхождение исходного кода либо написано в нём самом, либо в коммите,
> который его добавляет, либо в спек-файле.

Файлы node_modules были добавлены с помощью "npm install" исходя из зависимостей в файлах package.json. Согласен с вами, в коммите необходимо было указать как они были получены.

> Пакет vim-plugin-coc содержит исходный код как минимум трёх самостоятельных
> проектов:
> https://github.com/neoclide/coc.nvim
> https://github.com/weirongxu/coc-calc
> https://github.com/josa42/coc-sh
> (происхождение последних двух пришлось искать, потому что в пакете этого не
> написано).

Ссылки на исходники coc-calc и coc-sh указаны комментариями в spec-файле.

> Такой подход гораздо сложнее обычного и на практике встречается редко. 
> Скажите, пожалуйста, зачем понадобилось объединять три проекта с разными
> апстримами в один исходный пакет?

Совместно с ментором было решено использовать данный способ для того чтобы данным пакетом можно было пользоваться при отсутствии интернета. То есть чтобы установив пакет из локального репозитория, сразу была возможность пользоваться функционалом некоторых добавленных модулей. В дальнейшем планируется увеличить данный список.
Comment 27 Nikita Obukhov 2020-12-07 12:12:52 MSK
>Скажите, пожалуйста, зачем понадобилось объединять три проекта с разными апстримами в один исходный пакет?
Не правильно, прочитал ваш вопрос. Я рассматривал vim-plugin-coc как один пакет, который содержит все необходимое. Поэтому, для своего удобства, я объединил их в один пакет.
Comment 28 Dmitry V. Levin 2020-12-07 13:57:12 MSK
(In reply to Nikita Obukhov from comment #27)
> >Скажите, пожалуйста, зачем понадобилось объединять три проекта с разными апстримами в один исходный пакет?
> Не правильно, прочитал ваш вопрос. Я рассматривал vim-plugin-coc как один
> пакет, который содержит все необходимое. Поэтому, для своего удобства, я
> объединил их в один пакет.

Получается, что для обновления одного из проектов в составе исходного пакета придётся обновлять весь исходный пакет.  Обычно мы такие забандливания избегаем и пакуем каждый исходный пакет отдельно.  Объясните мне, пожалуйста, почему именно в случае с vim-plugin-coc вам это паказалось удобным?
Comment 29 Nikita Obukhov 2020-12-07 15:08:24 MSK
Мне так сказал сделать ментор, для того чтобы научиться использовать submodules.

Насчет обновления вы правы, обновлять отдельные пакеты будет намного удобнее.
Comment 30 Dmitry V. Levin 2020-12-07 15:42:41 MSK
(In reply to Nikita Obukhov from comment #29)
> Мне так сказал сделать ментор, для того чтобы научиться использовать
> submodules.

Да, ваш ментор вас не пожалел. :)

> Насчет обновления вы правы, обновлять отдельные пакеты будет намного удобнее.

Может быть, тогда разделите исходный пакет на составляющие?
Comment 31 Nikita Obukhov 2020-12-07 15:45:02 MSK
Да, конечно. В ближайшее время все переделаю.
Comment 32 Stanislav Levin 2020-12-07 15:48:52 MSK
Речь, конечно же, не о submodules.

На этапе проектирования пакетирования этого пакета мной было сделано предположение, что если плагины и будут, то их будет немного(1-2) и отдельных бинарных пакетов под каждый плагин не будет. Но все-таки впоследствии мной было решено разбить бинарный vim-plugin-coc на core и плагины, а менять схему пакетирования не стал(позабыл?). Оба варианта возможны и допустимы, но красивее, удобнее и проще в данном случае будет 1 к 1.

Спасибо за замечание.
Comment 33 Nikita Obukhov 2020-12-17 16:43:00 MSK
Разделил пакет vim-plugin-coc. Теперь плагины собираются из собственных src.
Так же исправлены недочеты.
http://git.altlinux.org/tasks/263573/
Comment 34 Dmitry V. Levin 2020-12-24 03:02:30 MSK
(In reply to Nikita Obukhov from comment #33)
> Разделил пакет vim-plugin-coc. Теперь плагины собираются из собственных src.
> Так же исправлены недочеты.
> http://git.altlinux.org/tasks/263573/

Рекомендация на будущее:
коммиты "Add gear rules" и "Add spec file" имеет смысл объединять в один, поскольку одно без другого неполноценно настолько, что даже "gear-store-tags -acv" не работает, в результате чего добавление .gear/tags попадает у вас в отдельный третий коммит.
Comment 35 Nikita Obukhov 2020-12-24 09:44:19 MSK
Спасибо за рекомендацию. В дальнейшем буду использовать предложенный вами способ.
Comment 36 Nikita Obukhov 2021-01-12 10:35:51 MSK
Дмитрий, добрый день. 
Скажите, пожалуйста, будут ли еще какие-либо замечания?
Comment 37 Michael Shigorin 2021-01-13 23:14:53 MSK
(Ответ для Dmitry V. Levin на комментарий #13)
> В файле .gear/rules из репозитория node-bash-language-server.git аналогичная
> конструкция:
> copy: .gear/node_modules.tar.gz
> 
> Мне кажется, что это следствие какого-то недопонимания gear.

Мне тут прислали пакет с той же грабелькой на отсмотр -- возможно, какая-то страница на вики такое недопонимание провоцирует.  Никита, Николай, расскажите по возможности -- какой именно текст привёл к мысли засунуть тарбол в gear?
Comment 38 Nikita Obukhov 2021-01-14 09:47:27 MSK
(Ответ для Michael Shigorin на комментарий #37)
> 
> Мне тут прислали пакет с той же грабелькой на отсмотр -- возможно, какая-то
> страница на вики такое недопонимание провоцирует.  Никита, Николай,
> расскажите по возможности -- какой именно текст привёл к мысли засунуть
> тарбол в gear?

Нет, на вики ничего вводящего в заблуждение нет.
Я увидел подобное в пакетах других ментейнеров, оттуда и возникло недопонимание.
Comment 39 Dmitry V. Levin 2021-01-14 17:03:39 MSK
У кандидата пока совсем немного репозиториев, и они необычные.
Я сомневаюсь, что на этом объёме он мог приобрести достаточно опыта, но мы рассчитываем, что ментор не бросит своего подопечного на произвол судьбы, а будет помогать ему и в будущем.
Поэтому я полагаю, что можно двигаться дальше.
Comment 40 Stanislav Levin 2021-01-14 17:47:58 MSK
С удовольствием помогу, так как необычные задачи прокачивают и ментора.
Comment 41 Gleb F-Malinovskiy 2021-02-01 13:45:22 MSK
Адрес подписан на devel@.
Пользователь добавлен в группу мейнтейнеров.

Желаю удачного мейнтейнерства!