ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Policy на порядок полей в спеке
@ 2020-10-29 16:04 Vitaly Lipatov
  2020-10-29 16:33 ` Dmitry V. Levin
  0 siblings, 1 reply; 13+ messages in thread
From: Vitaly Lipatov @ 2020-10-29 16:04 UTC (permalink / raw)
  To: ALT Devel discussion list

Не так давно кто-то писал (Игорь viy@ ?) предлагаемый порядок полей в 
спеке.
Нельзя ли повторить? Я не могу найти, а хотел внести на вики, с 
дополнением,
что сопровождающий может придерживаться своих принципов в оформлении, но 
является некорректным менять оформление спека попутно, внося какоето 
исправление в сборку не своего пакета.
То есть если изменение делается в чужом пакете, то в описание изменения 
добавляется NMU:, а порядок полей _не_ меняется на свой вкус.

-- 
С уважением,
Виталий Липатов,
ALT Linux Team


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 16:04 [devel] Policy на порядок полей в спеке Vitaly Lipatov
@ 2020-10-29 16:33 ` Dmitry V. Levin
  2020-10-29 17:23   ` Vitaly Lipatov
  0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2020-10-29 16:33 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, Oct 29, 2020 at 07:04:23PM +0300, Vitaly Lipatov wrote:
> Не так давно кто-то писал (Игорь viy@ ?) предлагаемый порядок полей в 
> спеке.

Когда-то давно я предлагал рекомендуемый порядок тэгов, см.
http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/alt-packaging/conventions.tex


-- 
ldv


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 16:33 ` Dmitry V. Levin
@ 2020-10-29 17:23   ` Vitaly Lipatov
  2020-10-29 18:24     ` Dmitry V. Levin
  0 siblings, 1 reply; 13+ messages in thread
From: Vitaly Lipatov @ 2020-10-29 17:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin писал 29.10.20 19:33:
> On Thu, Oct 29, 2020 at 07:04:23PM +0300, Vitaly Lipatov wrote:
>> Не так давно кто-то писал (Игорь viy@ ?) предлагаемый порядок полей в
>> спеке.
> 
> Когда-то давно я предлагал рекомендуемый порядок тэгов, см.
> http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/alt-packaging/conventions.tex

Спасибо! Неустаревающий документ, всё актуально кроме того, от чего 
отказались в силу упрощения.

В итоге предложенный порядок тэгов оказался записанным в разном стиле, 
но одинаковом порядке:

https://www.altlinux.org/ALT_Packaging_HOWTO#Порядок_тэгов

https://www.altlinux.org/Общие_правила_написания_спек_файлов_в_ALT_Linux#Порядок_тэгов.


В итоге осовремененный список выглядит так:
```
Name
Version
Release
Epoch или Serial

Summary

License
Group
Url

Packager

BuildArch
ExcludeArch
ExclusiveArch

Provides
Requires
Conflicts
потом (влияющие на процесс сборки, но не то, как пакет выглядит снаружи)

Source
Patch

BuildRequires(pre)
BuildRequires
```

Но на практике
Source
Patch
обычно ставят после Url (я посмотрел на пакеты strace, glibc, ну и я 
всегда так делал)
Поменяем?

И ещё хорошо бы порекомендовать место для
директив типа
def_with
def_enable

а также внутренних макросов в спеке.


-- 
С уважением,
Виталий Липатов,
ALT Linux Team


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 17:23   ` Vitaly Lipatov
@ 2020-10-29 18:24     ` Dmitry V. Levin
  2020-10-29 20:16       ` Vitaly Lipatov
  0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2020-10-29 18:24 UTC (permalink / raw)
  To: devel

On Thu, Oct 29, 2020 at 08:23:11PM +0300, Vitaly Lipatov wrote:
> Dmitry V. Levin писал 29.10.20 19:33:
> > On Thu, Oct 29, 2020 at 07:04:23PM +0300, Vitaly Lipatov wrote:
> >> Не так давно кто-то писал (Игорь viy@ ?) предлагаемый порядок полей в
> >> спеке.
> > 
> > Когда-то давно я предлагал рекомендуемый порядок тэгов, см.
> > http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/alt-packaging/conventions.tex
> 
> Спасибо! Неустаревающий документ, всё актуально кроме того, от чего 
> отказались в силу упрощения.
> 
> В итоге предложенный порядок тэгов оказался записанным в разном стиле, 
> но одинаковом порядке:
> 
> https://www.altlinux.org/ALT_Packaging_HOWTO#Порядок_тэгов
> 
> https://www.altlinux.org/Общие_правила_написания_спек_файлов_в_ALT_Linux#Порядок_тэгов.
> 
> 
> В итоге осовремененный список выглядит так:
> ```
> Name
> Version
> Release
> Epoch или Serial

От Serial в конечном итоге отказались в пользу Epoch,
внутри rpm им соответствует число RPMTAG_EPOCH.

> Summary
> 
> License
> Group
> Url
> 
> Packager
> 
> BuildArch
> ExcludeArch
> ExclusiveArch
> 
> Provides
> Requires
> Conflicts
> потом (влияющие на процесс сборки, но не то, как пакет выглядит снаружи)
> 
> Source
> Patch
> 
> BuildRequires(pre)
> BuildRequires
> ```
> 
> Но на практике
> Source
> Patch
> обычно ставят после Url (я посмотрел на пакеты strace, glibc, ну и я 
> всегда так делал)
> Поменяем?

Кажется, Source и Patch во всех вариантах идёт после Url.
Или нет?


-- 
ldv


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 18:24     ` Dmitry V. Levin
@ 2020-10-29 20:16       ` Vitaly Lipatov
  2020-10-29 22:18         ` Leonid Krivoshein
                           ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Vitaly Lipatov @ 2020-10-29 20:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin писал 29.10.20 21:24:
...
> Кажется, Source и Patch во всех вариантах идёт после Url.
> Или нет?
На вики был написан неправильный порядок. Исправленный вариант:

```
Name
Version
Release
Epoch

Summary

License
Group
Url

Packager

Source
Patch

BuildArch
ExcludeArch
ExclusiveArch

AutoReq | AutoProv

Provides
Requires
Conflicts

BuildRequires(pre)
BuildRequires
```


Среди всех спеков (17,7 тысяч) я насчитал 3 тысячи вариантов порядка 
тэгов, из них самые популярные:
    1797 Name Version Release Summary License Group Url Source
    1298 Name Version Release Summary License Group Url Packager Source
     561 Name Version Release Summary Group License Url Source
     485 Group Name Version Release Summary License Group
     481 Name Version Release Summary License Group Url Packager Source 
Requires
     463 Name Version Release Summary License Group Source
     457 Name Version Release Summary License Group Url
     389 Name Version Release Summary License Group Packager Source
     366 Name Version Release Summary License Group Url Source Requires
     315 Name Version Release Summary Group License
     305 Name Version Release Summary License Group
     286 Group Name Version Release Summary License
     275 Name Version Release Summary License Group Url Packager
     264 Name Version Release Group Summary Url License Source
     236 Name Version Release Summary Group License Url
     207 Name Version Release Summary License Group Url Source Packager
     172 Name Version Release Summary License Group Url Packager Source 
Patch
     172 Name Version Release Summary Group License Url Packager Source
     153 Name Version Release Summary License Group Url Source Patch
     146 Name Version Release Summary Group License Url Source Requires
     135 Group Name Summary Version Release Source License Requires
     132 Name Version Release License Packager Group Url Source Patch 
Summary
     125 Group Name Version Release Summary License Requires
     122 Name Version Release Summary Group License Source
     120 Epoch Group Name Version Release Summary License
     115 Name Version Release Summary License Group Url Vcs Packager 
Source Obsoletes Provides
     109 Name Version Release Summary License Group Source Requires
     107 Group Name Version Release Summary License Requires Group
     104 Name Version Release Summary License Group Packager
     103 Name Version Release Summary Group License Requires
     100 Name Version Release Summary License Group Url Requires



-- 
С уважением,
Виталий Липатов,
ALT Linux Team


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 20:16       ` Vitaly Lipatov
@ 2020-10-29 22:18         ` Leonid Krivoshein
  2020-10-30  7:45           ` Sergey V Turchin
  2020-10-30  7:44         ` Sergey V Turchin
  2020-10-30  7:54         ` Andrey Cherepanov
  2 siblings, 1 reply; 13+ messages in thread
From: Leonid Krivoshein @ 2020-10-29 22:18 UTC (permalink / raw)
  To: devel


29.10.2020 23:16, Vitaly Lipatov пишет:
> Dmitry V. Levin писал 29.10.20 21:24:
> ...
>> Кажется, Source и Patch во всех вариантах идёт после Url.
>> Или нет?
> На вики был написан неправильный порядок. Исправленный вариант:
>
> ```
> Name
> Version
> Release
> Epoch
>
> Summary
>
> License
> Group
> Url
>
> Packager
>
> Source
> Patch
>
> BuildArch
> ExcludeArch
> ExclusiveArch
>
> AutoReq | AutoProv
>
> Provides
> Requires
> Conflicts
>
> BuildRequires(pre)
> BuildRequires
> ```
>
>
> Среди всех спеков (17,7 тысяч) я насчитал 3 тысячи вариантов порядка 
> тэгов, из них самые популярные:

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

К слову, в наших спеках Vendor проставляет сборочница (rpm-build?), в 
сторонних/партнёрских там чаще встречаются другие значения. Его нет в 
этом списке. Наверняка нет чего-то ещё.

Потом, AutoReq/AutoProv из той же серии, что:

%set_verify_elf_method
%set_verify_info_method
%set_findprov_skiplist
%set_debuginfo_skiplist
%set_fixup_skiplist

Может, в каких-то ситуациях их все логичнее видеть в начале спека?


>    1797 Name Version Release Summary License Group Url Source
>    1298 Name Version Release Summary License Group Url Packager Source
>     561 Name Version Release Summary Group License Url Source
>     485 Group Name Version Release Summary License Group
>     481 Name Version Release Summary License Group Url Packager Source 
> Requires
>     463 Name Version Release Summary License Group Source
>     457 Name Version Release Summary License Group Url
>     389 Name Version Release Summary License Group Packager Source
>     366 Name Version Release Summary License Group Url Source Requires
>     315 Name Version Release Summary Group License
>     305 Name Version Release Summary License Group
>     286 Group Name Version Release Summary License
>     275 Name Version Release Summary License Group Url Packager
>     264 Name Version Release Group Summary Url License Source
>     236 Name Version Release Summary Group License Url
>     207 Name Version Release Summary License Group Url Source Packager
>     172 Name Version Release Summary License Group Url Packager Source 
> Patch
>     172 Name Version Release Summary Group License Url Packager Source
>     153 Name Version Release Summary License Group Url Source Patch
>     146 Name Version Release Summary Group License Url Source Requires
>     135 Group Name Summary Version Release Source License Requires
>     132 Name Version Release License Packager Group Url Source Patch 
> Summary
>     125 Group Name Version Release Summary License Requires
>     122 Name Version Release Summary Group License Source
>     120 Epoch Group Name Version Release Summary License
>     115 Name Version Release Summary License Group Url Vcs Packager 
> Source Obsoletes Provides
>     109 Name Version Release Summary License Group Source Requires
>     107 Group Name Version Release Summary License Requires Group
>     104 Name Version Release Summary License Group Packager
>     103 Name Version Release Summary Group License Requires
>     100 Name Version Release Summary License Group Url Requires
>
>
>

-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 20:16       ` Vitaly Lipatov
  2020-10-29 22:18         ` Leonid Krivoshein
@ 2020-10-30  7:44         ` Sergey V Turchin
  2020-10-30  7:54         ` Andrey Cherepanov
  2 siblings, 0 replies; 13+ messages in thread
From: Sergey V Turchin @ 2020-10-30  7:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thursday, 29 October 2020 23:16:11 MSK Vitaly Lipatov wrote:
> Dmitry V. Levin писал 29.10.20 21:24:
> ...
> 
> > Кажется, Source и Patch во всех вариантах идёт после Url.
> > Или нет?
> 
> На вики был написан неправильный порядок. Исправленный вариант:
Я, например, соглашусь считать его правильным только если Source и Patch 
опустить, чтоб стали перед BuildRequires.

[...]

-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 22:18         ` Leonid Krivoshein
@ 2020-10-30  7:45           ` Sergey V Turchin
  2020-10-30  8:22             ` Anton Farygin
  0 siblings, 1 reply; 13+ messages in thread
From: Sergey V Turchin @ 2020-10-30  7:45 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 30 October 2020 01:18:44 MSK Leonid Krivoshein wrote:

[...]
> Потом, AutoReq/AutoProv из той же серии, что:
> 
> %set_verify_elf_method
> %set_verify_info_method
> %set_findprov_skiplist
> %set_debuginfo_skiplist
> %set_fixup_skiplist
> 
> Может, в каких-то ситуациях их все логичнее видеть в начале спека?
Я так и делаю всегда. Настройки сборки держу вначале спека.

[...]

-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-29 20:16       ` Vitaly Lipatov
  2020-10-29 22:18         ` Leonid Krivoshein
  2020-10-30  7:44         ` Sergey V Turchin
@ 2020-10-30  7:54         ` Andrey Cherepanov
  2020-10-30  8:13           ` Sergey V Turchin
  2020-10-30 11:06           ` Vitaly Lipatov
  2 siblings, 2 replies; 13+ messages in thread
From: Andrey Cherepanov @ 2020-10-30  7:54 UTC (permalink / raw)
  To: devel

29.10.2020 23:16, Vitaly Lipatov пишет:
> Dmitry V. Levin писал 29.10.20 21:24:
> ...
>> Кажется, Source и Patch во всех вариантах идёт после Url.
>> Или нет?
> На вики был написан неправильный порядок. Исправленный вариант:
>
> ```
> Name
> Version
> Release
> Epoch
>
> Summary
>
> License
> Group
> Url
>
> Packager
>
> Source
> Patch
>
> BuildArch
> ExcludeArch
> ExclusiveArch
>
> AutoReq | AutoProv
>
> Provides
> Requires
> Conflicts
>
> BuildRequires(pre)
> BuildRequires
> ``` 

В чём обоснование Group указывать после License?

Почему явные зависимости и provides указываются перед сборочными 
зависимостями? По логике сначала берём сборочные зависимости, а потом 
натягиваем обычные. Предлагаю BuildRequires перенести перед AutoReq.

-- 
Andrey Cherepanov
cas@altlinux.org



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-30  7:54         ` Andrey Cherepanov
@ 2020-10-30  8:13           ` Sergey V Turchin
    2020-10-30 11:06           ` Vitaly Lipatov
  1 sibling, 1 reply; 13+ messages in thread
From: Sergey V Turchin @ 2020-10-30  8:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 30 October 2020 10:54:39 MSK Andrey Cherepanov wrote:

[...]
> Почему явные зависимости и provides указываются перед сборочными
> зависимостями?

> По логике сначала берём сборочные зависимости,
И пихаем их с глаз подальше. Достаточно прочесть лог сборки(что следует хотя 
бы изредка делать), чтоб увидеть их нехватку.

> а потом натягиваем обычные.
Вручную проставляемые зависимости лучше держать на более видном месте.

> Предлагаю BuildRequires перенести перед AutoReq.
Это порой портянка, лишь отвлекающая от простановки ручных зависимостей.

-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-30  7:45           ` Sergey V Turchin
@ 2020-10-30  8:22             ` Anton Farygin
  0 siblings, 0 replies; 13+ messages in thread
From: Anton Farygin @ 2020-10-30  8:22 UTC (permalink / raw)
  To: devel

On 30.10.2020 10:45, Sergey V Turchin wrote:
> On Friday, 30 October 2020 01:18:44 MSK Leonid Krivoshein wrote:
>
> [...]
>> Потом, AutoReq/AutoProv из той же серии, что:
>>
>> %set_verify_elf_method
>> %set_verify_info_method
>> %set_findprov_skiplist
>> %set_debuginfo_skiplist
>> %set_fixup_skiplist
>>
>> Может, в каких-то ситуациях их все логичнее видеть в начале спека?
> Я так и делаю всегда. Настройки сборки держу вначале спека.
>
> [...]
>
Это всё вкусовщина. В принципе без разницы где и что в спеке, если оно 
более-менее в привычных местах.

Главное, описать что description для подпакетов лучше делать рядом с 
подпакетом ;)




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  @ 2020-10-30  8:26               ` Sergey V Turchin
  0 siblings, 0 replies; 13+ messages in thread
From: Sergey V Turchin @ 2020-10-30  8:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 30 October 2020 11:22:05 MSK Andrey Cherepanov wrote:

[...]
> Ручные зависимости - это особый вид костылей для невменяемых апстримов.
Без разницы.

-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [devel] Policy на порядок полей в спеке
  2020-10-30  7:54         ` Andrey Cherepanov
  2020-10-30  8:13           ` Sergey V Turchin
@ 2020-10-30 11:06           ` Vitaly Lipatov
  1 sibling, 0 replies; 13+ messages in thread
From: Vitaly Lipatov @ 2020-10-30 11:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Andrey Cherepanov писал 30.10.20 10:54:
...
> В чём обоснование Group указывать после License?
Потому что почти у половины пакетов такой порядок:

$ grep "License Group Url" spec-tags1.log | wc -l
7775

Другой порядок в 3 раза менее популярен:
$ grep "Group License Url" spec-tags1.log | wc -l
2032

-- 
С уважением,
Виталий Липатов,
ALT Linux Team


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-10-30 11:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-29 16:04 [devel] Policy на порядок полей в спеке Vitaly Lipatov
2020-10-29 16:33 ` Dmitry V. Levin
2020-10-29 17:23   ` Vitaly Lipatov
2020-10-29 18:24     ` Dmitry V. Levin
2020-10-29 20:16       ` Vitaly Lipatov
2020-10-29 22:18         ` Leonid Krivoshein
2020-10-30  7:45           ` Sergey V Turchin
2020-10-30  8:22             ` Anton Farygin
2020-10-30  7:44         ` Sergey V Turchin
2020-10-30  7:54         ` Andrey Cherepanov
2020-10-30  8:13           ` Sergey V Turchin
2020-10-30  8:26               ` Sergey V Turchin
2020-10-30 11:06           ` Vitaly Lipatov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git