[newbies] Применение большого количества патчей в spec-файле

2017-11-23 Thread Andrey Savchenko
Добрый день,

возникла необходимость применить большое число патчей (около
полусотни) в spec файле. Можно ли это сделать компактнее, чем
перечислением всех патчей в %PatchNN и наложения через %patchNN?
т.е. вместо сотни строк хотелось бы получить две, а-ля:
%Patchdir patches
%apply_patches

Возможно, есть нужные макросы? Я не нашёл.

P.S. Потяно, что задачу можно решить иначе, например, применить все
патчи в git и держать две ветки (vanilla и patched), но из-за
особенностей взаимодействия с МЦСТ гораздо удобнее держать все
патчи в виде отдельных файлов. Поэтому попрошу не флеймить на эту
тему и сконцентрироваться на ответе на поставленный вопрос.

Best regards,
Andrew Savchenko


pgp0ry57dC9OB.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Применение большого количества патчей в spec-файле

2017-11-23 Thread Andrey Savchenko
On Thu, 23 Nov 2017 15:11:37 +0300 Vladimir D. Seleznev wrote:
> On Thu, Nov 23, 2017 at 02:25:02PM +0300, Andrey Savchenko wrote:
> > Добрый день,
> > 
> > возникла необходимость применить большое число патчей (около
> > полусотни) в spec файле. Можно ли это сделать компактнее, чем
> > перечислением всех патчей в %PatchNN и наложения через %patchNN?
> > т.е. вместо сотни строк хотелось бы получить две, а-ля:
> > %Patchdir patches
> > %apply_patches
> 
> Нет. На данный момент наш rpm-build так не умеет.

Ок. Пара макросов в vim и никакого мошенничества :)

Best regards,
Andrew Savchenko


pgpr1aHSkQr7S.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] ALT DSO

2019-01-13 Thread Andrey Savchenko
On Fri, 11 Jan 2019 13:31:13 +0300 Grigory Ustinov wrote:
> Доброго времени суток. Я собрал уже довольно много пакетов и в некоторых 
> из них заметил патчи, в которых присутствует доныне загадочная для меня 
> аббревиатура DSO. Загуглить не смог, коллеги тоже не все в курсе. 
> Поэтому решил спросить тут. Может кто-нибудь пояснить?

DSO — это Dynamic Shared Ojbect, т.е обычная динамическая
библиотека.

Просто некоторым товарищам нечего делать и хочется
повыпендриваться, поэтому одни выдумывают новые аббривеатуры
и пишут статьи на эти темы, а другие их читают и тыкают ими
остальных.

Best regards,
Andrew Savchenko


pgpFs8D_z7pdZ.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [join] Проверка корректности пакетирования

2021-01-28 Thread Andrey Savchenko
Доброго времени суток!

On Wed, 27 Jan 2021 15:24:56 +0300 Николай Бурыкин wrote:
> Добрый день!
> Попробовал дописать init-скрипт для пакета. Работоспособности вроде 
> достиг (проверял в стартерките Xfce с SysV), но в правильности написания 
> не уверен.

В целом выглядит хорошо. Я бы посоветовал общий код по проверке
конфига в start() и stop() куда-нибудь в checkconfig() засунуть.
Пример можно посмотреть в init для sshd или unbound.

> Немного завис с попытками изменить в спеке %make_build на scons. Не 
> совсем понятно как с его использованием построить структуру аналогичную
> %make_build PRODUCT_PREFIX=/ PRODUCT_BIN_PREFIX=%_usr
> Пробую провести компиляцию с такой конструкцией:
> scons -j%__nprocs PREFIX=/ BIN_PREFIX=%_usr
> Компиляция проходит успешно, пакет собирается и устанавливается в ВМ, 
> однако при попытке запуска сервера командой freelan 
> --security.passphrase "test_pass" служба не может найти конфигурацию, и 
> ищет ее по странному пути ..RPM/BUILD...

scons не понимает {BIN_,}PREFIX — это переменные, используемые
внутри Makefile пакета. Следует испольовать {bin_,}prefix= как это
делается в Makefile. Например:
scons %_smp_mflags --mode=release apps prefix=/ bin_prefix=%_usr --upnp=yes 
--mongoose=no

Best regards,
Andrew Savchenko


pgpc6hvWMHBx4.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [join] Проверка корректности пакетирования

2021-02-08 Thread Andrey Savchenko
On Mon, 8 Feb 2021 15:38:43 +0300 Michael Shigorin wrote:
> On Mon, Feb 08, 2021 at 03:27:07PM +0300, Николай Бурыкин wrote:
> > Попытался собрать еще один пакет. https://github.com/burykinne/edbrowse.
> > В полуручном режиме собрать в итоге удалось. Но автоматизированной 
> > сборки добиться не получилось.
> > Столкнулся с тем, что в сборочной среде не находился модуль pcre.h, хотя 
> > в BuildRequires libpcre-devel есть.
> > Решил вопрос зайдя в hsh-shell с правами псевдорута и сделав
> > # ln -s /usr/include/pcre/pcre.h /usr/include/pcre.h
> 
> Я бы проверил на эффективность
> 
> %add_optflags -I%_includedir/pcre

Поддерживаю.
 
> ...а вообще научить бы их пользоваться pkgconfig, что ли...
> 
> > И правильно ли я понимаю, что строку
> > sed -i 's/TidyStyleTags/TidyPreTags/' src/html-tidy.c
> > лучше оформить как патч?
> 
> Зависит.  Сам так порой делаю, но патч в случае изменения
> контекста хотя бы отвалится (что и морока, и сигнал).

Здесь дело вкуса мейнтенера, безусловно. Я обычно делаю так (это
не жесткие правила, но общие критерии разделения):

1) Если нужно наложить несколько (т.е. немного) патчей или патчи
берутся в виде файлов с патчами из внешнего источника, то использую
патчи.

2) Когда патчей очень много, или используются разные источники, где
доступны гиты репозиториев — я использую ветки гита и патчи
хранятся в виде коммитов в тематических ветках. Это сильно
облегчает обновление таких пакетов, т.к. можно сделать git rebase
или cherry-pick без головной боли с правкой или обновлением каждого
патча по отдельности.

3) sed или awk использую когда нужно:
3.1) сделать одну и ту же замену в большом количестве файлов
(например, массово поправить CFLAGS во всем Makefile);
3.2) сделать подстановку, зависящую от параметра (переменной)
в spec. Например, sed 's/%name_%version/%name-%version/' version.h

Миша правильно сказал, что sed — обоюдоострый меч: этот способ
проще автоматизировать при обновлениях, чем файлы с патчами, но он
может внезапно выстрелить в ногу, сработав не там где нужно.

Best regards,
Andrew Savchenko


pgphfsDmxm21O.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [join] Проверка корректности пакетирования

2021-02-09 Thread Andrey Savchenko
On Tue, 9 Feb 2021 10:27:14 +0300 Michael Shigorin wrote:
> On Mon, Feb 08, 2021 at 11:26:23PM +0300, Andrey Savchenko wrote:
> > > Зависит.  Сам так порой делаю, но патч в случае изменения
> > > контекста хотя бы отвалится (что и морока, и сигнал).
> > Миша правильно сказал, что sed — обоюдоострый меч: этот способ
> > проще автоматизировать при обновлениях, чем файлы с патчами, но он
> > может внезапно выстрелить в ногу, сработав не там где нужно.
> 
> apt-get install fortunes-ALT
> 
> %
> Свойство патчей "отваливаться в случае изменений" - это важное преимущество,
> а вовсе не недостаток, как полагают многие.
> -- ldv in devel@
> %

Зависит от обстоятельств. Бывает, что да, полезно, ловит проблемы.
А бывает, что сверху строчка, которая всё время меняется, на
патченый код не влияет, а diff всё время ломает. 


Best regards,
Andrew Savchenko


pgp3ID4wOnv8i.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [join] Проверка корректности пакетирования

2021-02-16 Thread Andrey Savchenko
Добрый день!

On Mon, 15 Feb 2021 14:05:16 +0300 Николай Бурыкин wrote:
> Добрый день.
> Решил проблемы, мешающие сборке. Поправил заголовочные файлы в исходном 
> коде.
> Все исправления оформил в патч.
> Сейчас наверное нужна только оценка спека, с точки зрения корректности 
> написания.
> В этот раз делал с оглядкой на 
> https://www.altlinux.org/ALT_Packaging_HOWTO, но всё равно мог что-то 
> пропустить.
> Если не будет проблем, тогда потихоньку буду переходить к плановой 
> сборке Fleet.

Речь про https://github.com/burykinne/edbrowse , верно?

1) Поправка по лицензии:
- License: GPL and MPL
+ License: GPL-1.0+

Поясню по чему так. Случай сложный, на самом деле.

Давайте посмотрим файл COPYING:

This program is copyright (C) Karl Dahlke, 2000-2014.
It is made available by the author under the terms of the GNU General Public
License (GPL), as articulated by the Free Software Foundation.
http://www.fsf.org/licensing/licenses/gpl.html
It may be used for any purpose, and redistributed,
provided this copyright notice is included.

This program uses libcurl.so for http/ftp access.
This is released under the Mozilla public license (mpl).
I didn't change any of the source; I merely link to these libraries.
However, if you wish to release a version of edbrowse with these shared
libraries included,
or a statically linked executable, you will need to specify both gpl and mpl.

Первая часть говорит просто GPL без указания версии и даёт ссылку.
Пройдём по ней, пункт 14, параграф 2:

If the Program does not specify a version number of the GNU General Public
License, you may choose any version ever published by the Free Software 
Foundation.

В Альте следует указывать одну из лицензий из /usr/share/license*.
В данном случае подходит GPL1.0+ — т.е. любая из существующих
версий GPL.

Вторая часть про линковку с libcurl. Во-первых, эта часть применима
только для статической линковки (а у edbrowse динамическая) или при
совместном распространении с libcurl.so (в Вашем пакете её нет, её
исходников тоже нет, используется системная версия). Во-вторых,
у libcurl поменялась лицензия и комментарий автора edbrowse устарел.
Там сейчас MITX:
  $ rpm -qi libcurl | grep License
  License : MITX
Текст можно посмотреть в /usr/share/license/MITX. С ней можно без
дополнительных ограничений линковать GPL софт.

2) Лучше пользоваться готовыми макросами, поэтому:
- cmake .
+ %cmake_insource

Хотя я бы предпочёл out-of-source build, тогда будет:
%build
%cmake
%cmake_build

%install
%cmakeinstall_std

Обратите внимание, что дополнительные аргументы %cmakeinstall_std
не нужны, т.е spec упрощается.

3) Ещё при таком подходе обнаружились неупакованные файлы:

warning: Installed (but unpackaged) file(s) found:
/usr/share/doc/edbrowse/sample.ebrc
/usr/share/doc/edbrowse/sample_fr.ebrc
/usr/share/doc/edbrowse/sample_it.ebrc
/usr/share/doc/edbrowse/usersguide.html
/usr/share/doc/edbrowse/usersguide_fr.html
/usr/share/man/man1/edbrowse.1.xz

Думаю, что man нужно паковать всегда, html-документацию —
в отдельный подпакет doc, *.ebrc — в examples (или в doc,
если считаете частью документации). Можно ещё заморочится
и разложить fr и it в doc-fr и doc-it (или examples-it);
но это дело вкуса.

Ещё есть проблема, что пакет доки в ставит в /usr/share/doc/edbrowse,
а нужно в /usr/share/doc/edbrowse-3.7.7. Это можно исправить в %prep
через sed примерно так (не проверял):
sed -i "s|/usr/share/doc/edbrowse|/usr/share/doc/edbrowse-%version|" 
CMakeLists.txt

4) Устанавливать файл COPYING не нужно, т.к. текст лицензии уже есть
в системе и лицензия указана в rpm пакета. Обычно текст лицензий
вместе с пакетами устанавливать не нужно. Исключение — когда лицензия
требует обязательной упаковки или установки своего текста вместе
с пакетом (это не тот случай, но в будущем такое может быть).

Best regards,
Andrew Savchenko


pgpTKDQCtLEjo.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Дайджест списка рассылки devel-newbies; том 43, выпуск 2

2021-02-19 Thread Andrey Savchenko
Добрый вечер!

On Tue, 16 Feb 2021 21:47:47 +0300 Николай Бурыкин wrote:
> > %
> > Свойство патчей "отваливаться в случае изменений" - это важное преимущество,
> > а вовсе не недостаток, как полагают многие.
> >  -- ldv in devel@
> > %
> Только что осознал, что кроме дайджестов на адрес в домене basealt.ru
> других писем из списка рассылки почему-то не получаю, поэтому пропустил 
> переписку на тему патчей.
> Добавил еще один адрес, для отказоустойчивости.

Думаю, следует посмотреть настройки почты:
https://lists.altlinux.org/mailman/options/devel-newbies

Там внизу страницы можно залогиниться и в настройках выставить
Set Digest Mode -> Off.

> Сейчас прочитал, и у меня возник вопрос.
> А если применять подход с патчами, то как будет правильнее:
> Формировать по принципу один патч на одно исправление,
> или формировать патч из исправлений, решающих конкретную проблему?
> Я подумал, что в моём случае я решаю проблему предупреждений при сборке,
> и собрал их в отдельный патч warnings. Но вот теперь задумался на тему 
> правильности.

Это дело вкуса. Однотипные исправления можно в один патч сливать.
В то же время патчи лучше делать более-менее атомарными. Так что
если там сильно разные предупреждения, то я бы сделал отдельные
патчи на каждую группу. Но это не принципиальный момент, так что
слишком заморачиваться не следует: лучше исправить проблему и идти
дальше, чем застрять на том, как лучше оформить решение.

Best regards,
Andrew Savchenko


pgpg19o2mUPq4.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [join] Проверка корректности пакетирования

2021-02-19 Thread Andrey Savchenko
Добрый вечер!

On Tue, 16 Feb 2021 21:19:22 +0300 Николай Бурыкин wrote:
> > Речь про https://github.com/burykinne/edbrowse , верно?
> Да, речь о нём.
> > 1) Поправка по лицензии:
> > - License: GPL and MPL
> > + License: GPL-1.0+
> Это я недоработал. Исправлю. Надо будет вникнуть в тонкости 
> лицензирования свободного ПО.

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

В данном меня случае насторожило, что GPL и MPL без указания версии
были — такая ситуация необычна, что послужило индикатором того, что
что-то не так.

Вообще, мир лицензий и их взаимодействие друг с другом — не такая
уж простая тема. Пару лет назад я делал в Калуге доклад на эту
тему, что может послужить неплохо вводной:
http://0x1.tv/
Уязвимости_в_лицензиях_СПО_(Андрей_Савченко,_OSSDEVCONF-2018)

> > 2) Лучше пользоваться готовыми макросами, поэтому:
> > - cmake .
> > + %cmake_insource
> Была мысль, что моя конструкция с "cmake ." неуместна, и так оно и 
> оказалось. Вроде и сверялся по Предопределённым макросам 
> ,
>  
> а всё равно нужный умудрился не заметить. Буду практиковаться, ошибка 
> досадная и её можно было избежать.

Кроме wiki есть ещё два полезных источника:

1) rpmbuild --showrc, далее grep/less по вкусу

2) git://git.altlinux.org/people/specbot/public/specs.git
Здесь все спеки Альта, обновляется автоматически, спасибо vt.
Очень полезно когда нужно посмотреть «а как другие это делают».

Best regards,
Andrew Savchenko


pgp3EzPyq99ax.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [Bug 39461] [3.4] join bne@

2021-04-05 Thread Andrey Savchenko
Добрый вечер!

On Mon, 5 Apr 2021 13:16:47 +0300 Николай Бурыкин wrote:
> 04.04.2021 14:35, Andrey Savchenko пишет:
> > On Sun, 4 Apr 2021 13:49:03 +0300 Andrey Savchenko wrote:
> >> On Sun, 4 Apr 2021 12:07:32 +0300 Николай Бурыкин wrote:
> >>> Freelan успешно собрался
> >>> http://git.altlinux.org/tasks/index/sisyphus/eperm/268926/
> > Выглядит хорошо. Пропустил.
> >
> > Есть небольшое косметическое замечание: перед %changelog желательно
> > оставлять пустую строку; но это не обязательно, больше дело вкуса.
> >
> Спасибо.
> По поводу %changelog досадная опечатка. Исправлю.
> Успешно, без замечаний вчера собрался edbrowse
> http://git.altlinux.org/tasks/index/sisyphus/eperm/268951/
> Если будет время, посмотрите тоже пожалуйста.

Есть замечания по упаковке документации:

1) Не следует добавлять зависимость на основной пакет:
Requires: %name = %version-%release

Документацию вполне можно установить и читать и без него. Это не
самое распространённое действие, но вполне допустимое: например,
пользователь может захотеть ознакомиться с документацией к пакету
перед его установкой, чтоб решить, нужно ли его вовсе устанавливать.

2) Документацию следует делать noarch:
BuildArch: noarch

3) Примеры (*.ebrc) лучше установить в отдельный пакет examples.
Он тоже должен быть noarch в данном случае.

Так же смотрите рекомендации по упаковке документации и примеров:
https://www.altlinux.org/Package_Splitting#Документация_и_примеры
В общем-то, все вышеуказанные замечания там описаны.

Из правила noarch в редких случаях возможны исключения: например,
когда примеры архитектурно-зависимы. Кроме того у нас были случаи,
когда документация на разных архитектурах генерировалась разная —
но это очень редкая ситуация.

Кроме того, есть замечание по sed: в аргументе подстановки лучше
использовать макрос %_docdir, чем непосредственно указывать путь:
sed -i "s|/usr/share/doc/%name|%_docdir/%name-%version|" CMakeLists.txt

Результат сборки будет тот же, но на случай, если в будущем кому-то
приспичит поменять /usr/share/doc на что-то ещё, будет проще на
уровне дистрибутива всё это исправлять.

В остальном всё хорошо.

Для исправленного варианта тег пересоздайте без инкремента, т.к.
эта версия в Сизиф ещё не попала.

Best regards,
Andrew Savchenko


pgp6kK_00ZFsQ.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] [Bug 39461] [3.4] join bne@

2021-04-09 Thread Andrey Savchenko
Добрый вечер!

On Fri, 9 Apr 2021 15:18:04 +0300 Николай Бурыкин wrote:
> Замечания вроде все исправил. Отправил в новую сборку
> http://git.altlinux.org/tasks/index/sisyphus/eperm/269289/

Вроде бы всё хорошо. Пропустил задание.

Best regards,
Andrew Savchenko


pgpuI94b0GiSF.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Ищу ментора

2022-08-04 Thread Andrey Savchenko
Добрый вечер!

On Thu, 04 Aug 2022 22:25:40 +0300 Ахламов Петр wrote:
> Всем доброго вечера.
> Я хочу вступить в ALT Team и ищу ментора.
> Опыта в сборке пакетов у меня нет, но хочу научится.

Какие пакеты Вы бы хотели собирать?

> https://bugzilla.altlinux.org/43356
> Кто сможет меня взять?

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

Best regards,
Andrew Savchenko


pgpu57Kj7OWjU.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Ищу ментора

2022-08-04 Thread Andrey Savchenko
Добрый вечер!

On Tue, 02 Aug 2022 14:14:44 +0300 Усольцев Пётр wrote:
> 
> Здравствуйте, ищу ментора.
> Хочу попасть в Alt Team.

Чем именно Вы бы хотели заниматься? Какие навыки или опыт имеются?

> Зарегистрирован на портале BugZilla(под пользователем «usoltse...@mail.ru»)
> и исправил 1 баг  https://bugzilla.altlinux.org/42955

Патчи так и не попали ни в Сизиф, ни в апстрим. Так что часть
работы сделана, но до конца не доведена.

Best regards,
Andrew Savchenko


pgpjphcU373Vp.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Ищу ментора

2022-08-05 Thread Andrey Savchenko
Добрый вечер!

On Fri, 05 Aug 2022 03:13:37 +0300 Усольцев Пётр wrote:
> Изучаю C

Это хорошо.

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

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

> Мейнтейнер не отправил баги в Сизиф значит(может он уже не
> занимается этим). Со своей стороны, что мне было доступно - я все
> сделал.

Так Вы проявите настойчивость: мейнтенер мог и забыть про баг.
Багзилла — не единственный способ связи, можно и e-mail написать.

И Ваших патчей мало: нужно ещё spec обновить для их применения,
а так Вы перекладываете часть рутинной работы на мейнтенера пакета.
Можно подготовить серию патчей и выложить в формате
git-format-patch, ну или как договоритесь с мейнтенером.

Сами патчи мне не понравились: изменено API структуры, добавлено
поле format, и во всех ненулевых значениях там одно и то же "%s%s".

Тут сразу ворох проблем:

1) Изменения API нежелательны, т.к. поддерживать такой патч при
обновлениях пакета будет тяжело.

2) Т.к. значение одно и то же, то можно реорганизовать код таким
образом, что это поле не понадобится, а вместо него будет
использована константа.

3) %s — потенциальный источник уязвимостей и переполнений буфера,
нужно тщательно проверить, что недоверенных данных там не может
оказаться.

> Пятница,  5 августа 2022, 5:00 +08:00 от Andrey Savchenko 
> :
> >Добрый вечер!
> >
> >On Tue, 02 Aug 2022 14:14:44 +0300 Усольцев Пётр wrote:
> >> 
> >> Здравствуйте, ищу ментора.
> >> Хочу попасть в Alt Team.
> >Чем именно Вы бы хотели заниматься? Какие навыки или опыт имеются?
> >
> >> Зарегистрирован на портале BugZilla(под пользователем «usoltse...@mail.ru»)
> >> и исправил 1 баг  https://bugzilla.altlinux.org/42955
> >
> >Патчи так и не попали ни в Сизиф, ни в апстрим. Так что часть
> >работы сделана, но до конца не доведена.
> >
> >Best regards,
> >Andrew Savchenko
> 
> 
> Усольцев Пётр.


Best regards,
Andrew Savchenko


pgprh3WGcJV4J.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Дайджест списка рассылки devel-newbies; том 51, выпуск 2

2022-08-06 Thread Andrey Savchenko
On Sat, 06 Aug 2022 12:04:11 +0300 Усольцев Пётр wrote:
> 
> Пачти я формировал по рекомендации на Telegram канале так:
> git clone git://git.altlinux.org/gears/m/mate-calc.git
> Вношу правки
> git commit
> git format-patch -1
> далее создадутся патч-файлы
> Создаю задачу в bagzilla и прилагаю эти патчи.

Ну вот обновите ещё и spec по этому же алгориму.

Когда отвечаете на дайджест, пожалуйста, обращайте внимание но
комментарий в дайджесте, процитированный ниже.

> >При ответе, пожалуйста, измение тему письма так, чтобы она была более
> >содержательной чем "Re: Содержание дайджеста списка рассылки
> >devel-newbies..."
  
Best regards,
Andrew Savchenko


pgpmiuKHicK68.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Усольцев Петр. Обсуждение вступления в AltTeam.

2022-08-06 Thread Andrey Savchenko
On Sat, 06 Aug 2022 12:13:51 +0300 Усольцев Пётр wrote:
> 
> Ищите в багзилле, ну или самостоятельно в ходе эксплуатации.
> Но баги мало исправить, их важно заапстримить ? чтоб они хотя
> бы попали в пакет, мейнтенер которого не Вы, а ещё лучше ?
> в апстрим проекта, если правка не очень уже специфичная для Альта.
>  
> - Я так понял, вы говорите, что я должен сам внести правки в пакет.
> Но для этого нужно иметь права доступа, которые даются, только участникам 
> AltTeam(кем пока я не являюсь)
> Поэтому я и написал что сделал максимум, который был возможен.

Вы непрвильно поняли. Сделать необходимые изменения и закоммитить
пакет — это две разные операции. Закоммитить Вы на самом деле пока
что не можете, но делать это Вас никто и не просил; а вот
подготовить все нужные изменения в Ваши силах.

Просто поставьте себя на место мейнтенера пакета: чем меньше для
него работы, тем больше вероятность, что он пример изменения.

Best regards,
Andrew Savchenko


pgpnqCaCGDSR2.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Усольцев Петр. Обсуждение вступления в AltTeam.

2022-08-06 Thread Andrey Savchenko
On Sat, 06 Aug 2022 13:12:11 +0300 Усольцев Пётр wrote:
> 
> Спасибо за конструктивную критику, но вывод из ваших замечаний такой:
> Нужно было отменить заявку в Багзилле, т.к. корректное ее выполнение привело 
> бы к сложностям дальнейшего обновления.
> Написать в канал Telegram, чтобы отменили заявку и признали ее 
> «неоправданной»?

Зачем закрывать баг в багзилле? Просто доработайте патчи. Несколько
итераций изначально предложенного патчсета перед тем, как его
примут — совершенно нормальная, рутинная для апстримов процедура.

Best regards,
Andrew Savchenko


pgp5ziPXrHDrU.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Дайджест списка рассылки devel-newbies; том 51, выпуск 1

2022-08-06 Thread Andrey Savchenko
On Sat, 06 Aug 2022 12:00:49 +0300 Усольцев Пётр wrote:
> 1) Изменения API нежелательны, т.к. поддерживать такой патч при
> Задача стояла таким образом чтобы формат вывода «руб.» выводился в другом 
> месте.
> Поэтому у меня было 2 варинта:
> *  Сделать костыль на проверку именно значения «руб.»
> *  Сделать сохранение формата прямо в валюте, чтобы для каждой валюты можно 
> было указать свой формат
> Я выбрал вариант №2, хоть он и требует перестройки API, но таким образом я 
> расширил функционал.
> Формат вывода валюты у них вообще такой «%%s%s», я испоьзовал «типовой формат»

Вариант Вы выбрали правильно. Но зачем добавлять поле в структуру
и везде присваивать ему одну и ту же константу, если можно просто
использовать константу там, где сейчас используется поле структуры?
 
> Я уже 10 лет имею опыт программирования, но в языке 1С и поэтому не считаю 
> решение некорректным.

Забудьте об 1С. Программирование на C/C++ существенно от него
отличается не только синтаксисом, но и логикой построения кода.

> Единственное, что я не могу отрицать — что API поменялся.
> Но корректное решение задачи невозможно без изменения API.(на мой взгляд, но 
> тут я могу ошибаться, т.к. в С новичок)

Я выше написал один из возможных способов сохранения API
и упрощения кода. 

Best regards,
Andrew Savchenko


pgp8zWuNLq0dc.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Потерялся компилятор

2022-08-27 Thread Andrey Savchenko
On Sat, 27 Aug 2022 22:50:32 +0600 Arbars wrote:
> Всем привет!
> 
> Пришло сегодня письмо счастья от сборочницы с такой ссылкой:
> 
> http://git.altlinux.org/beehive/logs/Sisyphus/i586/archive/2022/0827/error/openmsx-18-alt1
> 
> По ссылке - лог с ошибкой, которая гласит, что сборочница... не может
> найти компилятор, хотя по выводу rpmi видно, что он установлен.
> 
> Отсюда вопрос: это я чего-то не знаю, или сборочница глючит? Просто, если бы
> я явно накосячил, то пакет вообще бы в Сизиф не попал, или я не прав?

Он не потерялся, он не прошёл тест configure:

No working C++ compiler was found.

Такое может быть из-за проблем с флагами компилятора. Меня смущает
одновременно наличие -m64 -march=i586 в вашем случае.

Нужно смотреть config.log для детальной диагностики.

> ___
> devel-newbies mailing list
> devel-newbies@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-newbies


Best regards,
Andrew Savchenko


pgp60KPrM0VFv.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] подойдет ли такая секция %install в спеке?

2022-09-29 Thread Andrey Savchenko
On Wed, 28 Sep 2022 15:47:01 +0300 Michael Shigorin wrote:
> On Wed, Sep 28, 2022 at 01:28:21PM +0300, ximper wrote:
> > cat > %buildroot%_datadir/applications/%name.desktop << EOF
> > install -m644 %SOURCE1 %buildroot%_datadir/pixmaps/
> 
> On Wed, Sep 28, 2022 at 01:41:40PM +0300, Michael Shigorin wrote:
> > cat > %buildroot%_desktopdir/%name.desktop << EOF
> > install -pDm644 %SOURCE1 %buildroot%_datadir/pixmaps/%name.png
> 
> On Wed, Sep 28, 2022 at 02:02:00PM +0300, Andrey Cherepanov wrote:
> > %_pixmapsdir короче
> 
> Действительно; а помогло бы найти что-то вроде:
> 
> $ rpm --showrc | grep /pixmaps

Универсальнее будет:
git clone git://git.altlinux.org/people/specbot/public/specs.git
git grep pixmaps

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

Best regards,
Andrew Savchenko


pgp8pjLVHioAr.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Нужен ментор для вступления в team

2022-09-29 Thread Andrey Savchenko
Добрый вечер!

On Thu, 29 Sep 2022 17:59:31 +0300 Дмитрий Федоров wrote:
> У кого есть желание и возможность побыть ментором, ссылка на баг:
> https://bugzilla.altlinux.org/43875
>  
> Буду признателен за помощь!

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

P.S. Пожалуйста, не отправляйте в наши списки рассылки html-письма,
особенно html-only письма. У нас принят текстовый формат.

Best regards,
Andrew Savchenko


pgpnzP1RnXvfy.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Соглашение об именовании пакетов

2022-09-30 Thread Andrey Savchenko
Добрый день!

On Fri, 30 Sep 2022 06:07:00 + Лясин Александр Владимирович
wrote:
> Просьба - дайте ссылку на какое-либо описание о правилах или соглашениях по 
> именованию пакетов в Альт Линукс.
> 
> Интересуют также те случаи, когда в наименованиях пакетов присутствуют буквы 
> 'git', 'svn' и прочие указания на системы контроля версий и т.п.

Ваш вопрос по версионированию пакетов, а не по названиям. Так что:
https://www.altlinux.org/Spec#Version

В нумерации релизов git и svn используются при сборке конкретных
коммитов вместо официальных релизов (которых может вовсе не быть).

По самим названиям пакетов (%name) общих ограничений нет, но у ряда
экосистем (модули python, ruby и т.п.) есть свои правила.

Best regards,
Andrew Savchenko


pgp3QmV4AjLgb.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Документация по сборке пакетов под ALT

2022-10-04 Thread Andrey Savchenko
Добрый день!

On Mon, 3 Oct 2022 16:22:19 +0400 sokolovvaly@gmail.com wrote:
> Здравствуйте. В сентябре я прислал в данную рассылку свой переведённый
> гайд по сборке пакетов от RedHat. На основе той документации я начал
> делать документацию под дистрибутивы ALT. Присылаю свои наработки и
> обращаюсь со следующими вопросами:
> Ссылка на документацию: https://alt-packaging-guide.github.io/
> Сейчас документация не полная, так как находится в разработке.
> Вопрос первый. Насколько стоит дополнить первые две главы? (Вступление
> и знакомство с APT) Или введения и описание инструментария для начала
> достаточно.

Самого главного инструмента для сборки пакетов — hasher — там нет
вовсе. Gear тоже нет. Увидел описание сборки пакетов с помощью
голого rpmbuild — в Альте так не делают. Получается, что Вы пишете
руководство ради руководства, оторванное от рельной жизни. Так
нельзя. На данный момент представленное руководство мне
представляется не просто бесполезным, но и вводящим в заблуждение.

Всё руководство не читал, но ряд моментов резанул глаза:

1) Вы пишете `su -`. У многих разработчиков `su` даже не установлен.
Кто-то ssh root@localhost использует, кто-то sudo bash; есть и
другие способы. Просто напишите, что команды нужно выполнять от
рута. А как стать рутом — вопрос тривиальный и вне рамок
руководства (если всё же очень хочется, то можно отдельный раздел
под это дело сделать).

2) В большинстве популярных шеллов командная строка пользователя
начинается с '$ ', а root с '# '. У вас команды root начинаются с
'$ ' — это безобразие.

> Вопрос второй. Так как полноценных и подробных гайдов практически нет,
> а в тех, которые есть, для демонстрации сборки используется обычный
> Hello-world. Какой пакет из доступных можно применить для демонстрации
> сборки? Какой бы пакет вы могли бы посоветовать мне, как начинающему
> разработчику, который, помимо документации, я смогу использовать для
> прохождения Join?

У Вас неправильный подход: нет эталонного spec, не было и не будет.

В Альте мейнтенеру даётся широкая свобода выбора способа
организации репозитория пакета:
- это может быть srpm или git;
- для git патчи могут быть файлами или коммитами в отдельных ветках;
- апстримный код может импортироваться из тарбола или браться из
  гита апстрима по тегу;
- могут быть "чистые исходники" с отдельной непересекающейся по
  коду веткой со spec и прочими файлами вне апстримного дерева,
  могут быть комбинированные;
- и т.д. и т.п.

Среди всех этих способов нет хороших и плохих, правильных
и неправильных. Всё зависит как от особенностей пакета, так и от
личных предпочтений мейнтенера.

Я бы предложил описать все известные способы и для каждого из них
привести пример или даже несколько. В качестве источника
вдохновения рекомендую взять git со всеми spec:
git://git.altlinux.org/people/specbot/public/specs.git

> Вопрос третий. Какие моменты стоит максимально подробно осветить в
> документации, которые на данный момент являются важными, но информации
> о которых крайне мало?
 
Слабовата документация на specsubst, но это достаточно редкий
специфический случай.

Чего в общем плане не хватает — систематизированного структурного
обзора всех возможных способов и практик пакетирования в Альте.

Best regards,
Andrew Savchenko


pgpBr_bKGj2n8.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Документация по сборке пакетов под ALT

2022-10-04 Thread Andrey Savchenko
On Tue, 4 Oct 2022 11:55:09 +0300 Alexei Mezin wrote:
> * "пересборка пакета другого мэйнтейнера"
>   - полиси кто когда и как может обновлять чужой пакет, как избежать 
> проблемы с наследованием

Так есть же политика:
https://www.altlinux.org/NMU

Best regards,
Andrew Savchenko


pgpHHl7VHOM_U.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Документация по сборке пакетов под ALT

2022-10-04 Thread Andrey Savchenko
On Tue, 4 Oct 2022 12:24:22 +0300 Alexei V. Mezin wrote:
> 04.10.2022 12:12, Andrey Savchenko пишет:
> > On Tue, 4 Oct 2022 11:55:09 +0300 Alexei Mezin wrote:
> >> * "пересборка пакета другого мэйнтейнера"
> >>- полиси кто когда и как может обновлять чужой пакет, как избежать
> >> проблемы с наследованием
> > 
> > Так есть же политика:
> > https://www.altlinux.org/NMU
> 
> Есть ли ссылка на эту страницу со страниц с инструкциями "для начинающих"?

А что такое страница для начинающих?
Для начинающих есть wiki, там легко можно найти.
 
> И, например, мой пакет пересобирался другим человеком по причине 
> использования в моем пакете какого-то чужого компонента. И после этого у 
> меня были проблемы с наследованием, объезд которых оказался не очевиден. 
> Может быть я что-то сделал не так. Может быть не только я что-то сделал 
> не так. Но было бы здорово, чтобы такой случай оказался задокументирован 
> со ссылками на правильные полиси.

По-моему, вы путаете политику и howto. Это немножно разные вещи.

Best regards,
Andrew Savchenko


pgpxjLYOuQYeI.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Документация по сборке пакетов под ALT

2022-10-04 Thread Andrey Savchenko
On Tue, 4 Oct 2022 12:55:42 +0300 Alexei V. Mezin wrote:
> Вот в нашем же текущем разговоре: "Увидел описание сборки пакетов с 
> помощью голого rpmbuild — в Альте так не делают". Человек со стороны (он 
> же начинающий) не знает, как у нас делают. И наша разрозненная и 
> несистематизированная вики ему не очень поможет.

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

Best regards,
Andrew Savchenko


pgp5XPOZdxZMQ.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Нужен ментор для вступления в team

2022-10-04 Thread Andrey Savchenko
Добрый день!

On Fri, 30 Sep 2022 13:24:13 +0300 Дмитрий Федоров wrote:
> О навыках:
> В больших коллективах, более 2-3 человек почти не работал, как и над
> большими проектами. Начинал с небольших сайтов на PHP и Python, потом
> уклон больше сместился на программирование мелких утилит (винда и
> андроид), а также решении всяких программерских задачек, начал ковырять
> Си и C#. В линуксе разбираюсь недостаточно хорошо, изначально просто
> использовал WSL для настройки всякой всячины удаленно, ну или если
> требовалась какая-то специфическая прога. Потом меня заинтересовал
> Raspberry Pi на нем начал осваивать Linux уже более серьезно. Но в
> целом так и занимаюсь мелкими проектами, telegram боты, поделки для
> "умного дома".
> Обрисовывая свой уровень одной фразой: "умеющий гуглить джун".

Хорошо. Путь будет долгим, но главное — желание :)
 
> О том что интересует сейчас:
> На данный момент интересует Linux в целом, особенно весь обвес вокруг
> ядра. В ядро пока никакого желания лезть нет. А вот разобраться во всем
> многообразии утилит необходимо. Особенно интересует программирование на
> bash, в котором я пока совсем слабоват.

Есть старое, но толковое руководство:
https://www.opennet.ru/docs/HOWTO-RU/Bash-Prog-Intro.html

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

> В более свободное время ковыряю либы связанные с OpenGL и ALSA,
> планирую хорошо разобраться в сетевом стеке.
> Отдельно хочется понять какие технологии сборки все же лучше
> использовать, там ведь hasher и rpm, а как правильно оформлять спек, и
> т.д.?

На самом низком уровне сборкой пакетов занимается rpmbuild (он
вынесен из rpm и в Альте развивается отдельно, т.к. там много своих
технологий, которые апстрим не захотел осваивать).

В Альте пакеты собирают в hasher:
https://www.altlinux.org/Hasher/Руководство

hasher — это инструмент для сборки пакета в изолированном
контейнере, что позволяет как получить воспроизводимую сборку, не
зависящую от состояния хост системы (обычно это рабочая машина
разработчика), так и защитить хост-систему от повреждений
в результате ошибок при пакетировании и позволяет не захламлять
основную систему теми же devel-пакетами.

Разработка пакетов обычно ведётся в репозитории Sisyphus. Но на
хост-системе можно держать и p10, если так удобнее. hasher
позволяет так делать.

Дальше нужно взаимодействовать с git-репозиторием и сборочницей.
Для этого есть gear:
https://www.altlinux.org/Gear

> Чем могу заняться:
> В целом без разницы, хочется просто разобраться в Linux и том как
> функционирует сообщество, расширить круг знакомств, принести пользу.
> Если более специфично, могу взять на себя часть пакетов, которые хорошо
> бы всегда иметь в актуальном состоянии, но до которых у остальных не
> доходят руки на постоянной основе. 
> Отдельно могу заняться пакетами под aarch64, поскольку использую
> малинку и там некоторых пакетов в Альте не хватает.

Aarch64 у нас является основной архитектурой, поэтому в целом все
пакеты, собираемые для других архитектур, есть и там. Разумеется,
если исключения, по ExcludeArch или ExclusiveArch.

Так что тут два варианта: или пакета нет в Сизифе вовсе и его туда
нужно добавить, или он есть, но нет поддержки Aarch64 — тогда нужно
разбираться почему нет. Обычно архитектуру просто так не исключают
и нужно будет работать с кодовой базой или зависимостями для
обеспечения сборки на aarch64. Но это уже детали :)

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

Это всегда пожалуйста: давать по рукам у нас люлят :)
 
> P.S.: Прошу прощения за HTML в прошлом сообщении, раньше мало
> использовал email для общения, не знал, что Яндекс так густо
> обмазывает сообщения HTML. В саппорте написали, plain text никому
> не нужен, потому мы его выпилили. Поставил Sylpheed, если будут
> какие-то проблемы с сообщением, напишите в личку, пожалуйста.

Да, Яндекс не очень адекватен в этом вопросе. В процессе join Вам
дадут почту на @altlinux.org.

Sylpheed я тоже использую, проблем с ним не будет.

> P.P.S.: Вопрос по рассылке, в настройках вроде стоит получение
> сообщений включено, но я также подписан на дайджест. Получаю только
> дайджест, а отдельные сообщения нет, почему так?

Там выбор режима: или дайджест, или обычные письма. Рекомендую
второе (т.е. отключите дайджест).

Хорошо, я буду Вашим ментором. Если вопросы будут общие и полезны
для всех — пишите на devel-newbies, остальное — мне лично.

Помимо указанной выше документации, рекомендую ознакомиться с вот
этой:
https://www.altlinux.org/ALT_Packaging_HOWTO
https://www.altlinux.org/Spec

Best regards,
Andrew Savchenko


pgpOJFG_NZRYO.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Документация по сборке пакетов под ALT

2022-10-05 Thread Andrey Savchenko
On Wed, 5 Oct 2022 04:35:12 +0400 sokolovvaly@gmail.com wrote:
> Здравствуйте. Я прочёл все ваши ответы. Для начала - спасибо за
> отклик. Все моменты, связанные с инструментарием и источниками я учту
> и применю в документации.

Поддерживаю идею Гриши о необходимости прохождения join, чтоб на
своём собственном опыте всё испытать. Тогда документация будет
актуальной. А иначе получается сапожник без сапог.

> Касательно ваших замечаний:
> 
> Как я упомянул выше, данная документация находится в разработке,
> поэтому вариант, выложенный мной, не окончательный. Это лишь начало
> работы. Видел сообщение от Андрея Савченко, в котором есть
> недовольство отсутствием в документации инструментов Gear и Hasher.
> Повторюсь. Документация не полная.

То детальное описание сборки с помощью голого rpmbuild попросту не
нужно: новичка оно лишь запутает, т.к. в реальности так пакеты
у нас не собирают. Поэтому я и высказал своё замечание даже не
взирая на то, что документация пока не полная: в ней уже есть
вводящие в заблуждение части.


Best regards,
Andrew Savchenko


pgpOHqe5Htwyt.pgp
Description: PGP signature
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies