ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: what's new in texlive.
@ 2018-01-19 18:14 Igor Vlasenko
  2018-01-19 19:16 ` Vitaly Lipatov
  2018-01-19 21:01 ` Kirill Maslinsky
  0 siblings, 2 replies; 8+ messages in thread
From: Igor Vlasenko @ 2018-01-19 18:14 UTC (permalink / raw)
  To: devel

Уважаемые господа,

Хочу немного рассказать о новой сборке texlive.

Буду писать частями в рассылку, а итоговый
документ хочу оставить на wiki.

=== Введение в TeX Live ===

Напомню сначала, что такое TeX Live.
TeX Live -- это дистрибутив TeX.
Если заглянуть внутрь texlive iso,
то мы увидим установщик / пакетный менеджер
и собственно репозиторий пакетов texlive
в папке archive. Пакеты имеют вид tar.xz
архивов, в них, кроме файлов, есть спек,
в котором есть аналоги summary, description,
license, url, post/postun scripts и т.д.

Из пакетов устанавливаются бинарники на основе ядра web2c
и расширения со CTAN.

Специфика TeX Live --- множество мелких пакетов ---
более 2000 (с учетом -doc и -source -- более 5000),
чтобы каждый проект на CTAN был в отдельном пакете.
Этим он отличается от таких дистрибутив TeX, как TeTeX (Устарел),
где в небольшое количество пакетов были собраны целые коллекции
разных проектов.

Замечу, что сборку texlive-2008.0 в ALTLinux
называть texlive не совсем корректно.
Это порожденный продукт, улучшенный дистрибутив,
основанный на файловой, но не пакетной базе TeX Live,
с другой идеологией (малого числа больших пакетов, как у TeTeX),
с рядом оригинальных решений ---
фактически, отдельный уникальный дистрибутив TeX.

Сложность поддержки такого продукта на порядок выше,
этим и объясняется, что он в итоге так и не обновился после выпуска.

Я же упрощаю себе задачу тем, что собираю почти чистый TeX Live.
При таком подходе собрать TeX Live -- это сконвертировать
уже готовые пакеты TeX Live в пакеты rpm.

Опакетить чистый TeX Live --- не просто, но у меня есть
наработки. texlive-package-builder (в git, в процессе разработки)
С его помощью можно будет генерировать src.rpm из последних
версий пакетов texlive.

Но миграцию по частям провести нормально не получится, а отправлять
5000+ пакетов в incoming --- это DDoS'ить его.
Да и собираться такая транзакция будет неделями,
а если не с первой попытки --- месяцами.

В общем, чтобы получить что-то готовое и рабочее поскорее,
а не тянуть до весны (лета?) я пошел по другому проторенному пути --
импорта пакетов.

В SuSE TeX Live 2017, но собирается из 29 пакетов,
в Федоре TeX Live 2016, но собирается из 1 пакета.
Кроме того, 3 года назад у меня уже получилось импортировать
тогдашний TeX Live 2014 из Федоры, так что остались наработки.

Поэтому я решил импортировать из Федоры TeX Live 2016,
чтобы в кратчайшие сроки получить готовое обновление.
Затем, пока оно будет тестироваться, переносить заготовки по
импорту на SuSE TeX Live 2017.
Таким образом, иметь возможность обновиться до TeX Live 2017
не будучи скован сроками.

=== Как работает импорт и как пользоваться. ===

Начну с Федоры. Чтобы понять их сборку, нужно посмотреть в
git://pkgs.fedoraproject.org/texlive.git
там находится их конвертер спеков texlive в спек/спеки rpm
(в зависимости от режима: один монолитный srpm или множество отдельных
srpm). Конвертер написан на C, его основной исходник --- tl2rpm.c .
Об особенностях сборки texlive в Федоре в той степени,
в которой они попадут в Сизиф, я напишу далее.

Чтобы получить из нее сборку texlive для ALT, можно было бы
править в их git шаблоны и код конвертера. Такой подход возможен, 
и у меня остались с прошлой попытки некоторые наработки.
Однако так я сильно бы привязался к сборке Федоры,
чего не хотелось бы.

Более универсальное решение --- воспользоваться импортом.
Запуск импортера выглядит так:
 fcmass --changelog '- test build 01' texlive

После вызова, в папке OUT будет результат импорта.
К сожалению, после импортера пакет еще нужно дошлифовывать.
Хорошо, однако, что дошлифовывание тоже можно оформить как
скрипт и далее дошлифовывать сам скрипт дошлифовывания :).
Этот скрипт сейчас находится в

http://git.altlinux.org/people/viy/packages/fcimport.git

именно, это fcimport.git/hooks/texlive.pl .
Чтобы им воспользоваться, достаточно склонировать fcimport.git
и вызвать fcmass внутри fcimport.git. hooks/texlive.pl
будет подгружен автоматически.

Чтобы перейти на импорт из SuSE, нужно адаптировать к нему код
из fcimport.git/hooks/texlive.pl. Затем достаточно будет склонировать

http://git.altlinux.org/people/viy/packages/suseimport.git

и выполнить там
 susemass --changelog '- texlive 2017 from SuSE' texlive

При этом, под конкретную импортированную версию и сборку texlive
можно указывать и дополнительные оптимизации. Например, при импорте
из Федоры я добавляю опцию 
 --sourcedep-sourcenum-allow-mask=0,1335,1382,6128
В srpm из Федоры содержится более 7000 тегов Source:,
для каждого из которых выполняется анализ исходников для
генерации BuildRequires:. Для более 7000 исходников это занимает
более 10 минут. Указав только существенные номера исходников,
можно резко сократить время анализа.
Также в hooks/texlive.pl есть опция $draft_mode=1,
ее надо сбросить в 0 для сборки в Сизиф.

=== Особенности импортированной сборки и ее отличия от ALTLinux TexLive 2008.0 ===

==== 1) переезд в другой каталог. ====

Вместо /usr/share/texmf-texlive сейчас /usr/share/texlive/texmf-dist.
Это можно поменять на что-либо другое, только не на /usr/share/texmf,
которое по нашему полиси зарезервировано для дистрибутивно-нейтральных
сборок расширений TeX.

Я не хочу оставлять как есть -- в alt texlive-2008 использовались
свои несовместимые пакеты, и пришлось бы почти в каждый пакет
нового texlive добавлять Conflicts:. С переездом в другой каталог
достаточно около 30 Conflicts:, без него надо было бы более 5000 ---
не стоит лишний раз раздувать rpm db.

==== 2) пакеты. ====
Заметим, что в сборку texlive в Федоре включены почти все пакеты
texlive, не все пакеты. Например, biber и latexmk собираются отдельно.
Подробнее см. tl2rpm.c .

biber я в Сизиф собрал, для замыкания зависимостей,
а latexmk и другие буду разбирать уже со свежим texlive в Сизифе.

==== 3) filetriggers. ====

В нашем alt texlive-2008 была реализована схема с filetriggers
по файлам в /etc/texmf/.

В Федоре также используются filetriggers,
но редактирование language.dat/language.def/fmtutil.cnf
производится %post/un скриптами, которые сгенерированы из
соответствующих секций пакетов texlive.

мне кажется, что наша схема с fmt.d/ updmap.d/ более надежная.
Но, c ней есть ряд вопросов.

Во-первых, утеряны доп. опции, которые есть в некоторых пакетах texlive.
Во-вторых, /etc полиси говорит, что в /etc не место автогенерированным
файлам, не предназначенным для редактирования.
В третьих, если даже генерировать заново fmt.d/, то если в /etc,
опять придется раздуть число тегов Conflicts:

есть мысль, что в будущем, возможно, стоит вернуться к подобной схеме,
но 1) добавить поддержку опций, указанных в пакетах texlive,
2) чтобы уменьшить число конфликтов при обновлении, 
и руководствуясь /etc полиси, что в /etc не место автогенерированным
файлам, не предназначенным для редактирования, и
пользуясь возможностью начать новые полиси с чистого листа.
можно вынести fmt.d/ (updmap.d/)? language.d/ 
в подкаталог в /usr/share/<texlive-related>

Пока же я переписал их filetriggers под наш rpm.

==== 4) автоматические Provides в Fedora/SuSE ====

Автоматические Provides в Fedora/SuSE вида
tex(siunitx.sty), tex(si-units.cfg) перешли к нам по наследству.
Они сгенерирированы статически прямо при конверсии спеков texlive в
src.rpm, для ускорения скорости пересборки.

Я их собираюсь оставить для совместимости.

==== 5) автоматические Provides в нашем alt texlive-2008 ====

Для нашего alt texlive-2008 в rpm-build-texmf был реализован
поиск автоматических Provides/Requires вида texmf(...).

Я пока отключил их поиск, так как без них сборка с текущими
оптимизациями завершается за час, а с ними - существенно больше.
Я собираюсь собрать-таки раз texlive с rpm-build-texmf,
закешировать полученные результаты и потом вставить их
в спек напрямую, для быстродействия.

Планирую это к релизу 0.21.

Этим релизом я хочу зафиксировать некий промежуточный результат,
а именно, что удалось, надеюсь, собрать 
рабочий устанавливающийся texlive-2016.

=== Далее ====

Следующий этап --- выложить texlive-2016 в Сизиф,
адаптировать к нему наше TeX полиси.

Эта задача облегчается тем, что texlive-2016 --
полная и одновременно свежая сборка, что позволяет
заменить ей все остальные пакеты texlive-*, tetex-*,
и texmf-* в Сизифе и начать новое полиси с чистого листа.

Затем обновить texlive до 2017 из SuSE.

Затем дожать собственный конвертер-генератор
tlpobj в srpm. Недостаток такого подхода в том, что в сизиф
добавится > 5000 новых srpm, а достоинство в том, что 
он позволяет continuous integration, т.е. texlive в Сизифе всегда
будет самый свежий и нужда в пересекающихся с texlive 
texmf-* пакетах просто отпадет.

-- 

I V


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 18:14 [devel] I: what's new in texlive Igor Vlasenko
@ 2018-01-19 19:16 ` Vitaly Lipatov
  2018-01-19 19:38   ` Igor Vlasenko
  2018-01-23 10:56   ` Sergey Bolshakov
  2018-01-19 21:01 ` Kirill Maslinsky
  1 sibling, 2 replies; 8+ messages in thread
From: Vitaly Lipatov @ 2018-01-19 19:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions; +Cc: Igor Vlasenko

Igor Vlasenko писал 19.1.18 21:14:
> Уважаемые господа,
> 
> Хочу немного рассказать о новой сборке texlive.
> 
> Буду писать частями в рассылку, а итоговый
> документ хочу оставить на wiki.
> 
> === Введение в TeX Live ===
> 
> Напомню сначала, что такое TeX Live.
> TeX Live -- это дистрибутив TeX.
> Если заглянуть внутрь texlive iso,
> то мы увидим установщик / пакетный менеджер
> и собственно репозиторий пакетов texlive
> в папке archive. Пакеты имеют вид tar.xz
> архивов, в них, кроме файлов, есть спек,
> в котором есть аналоги summary, description,
> license, url, post/postun scripts и т.д.
> 
> Из пакетов устанавливаются бинарники на основе ядра web2c
> и расширения со CTAN.
А зачем нужно эти пакеты собирать в rpm-пакеты?
Тут 5 тысяч пакетов, и зачем их все пихать в rpm-репозиторий?

Я же не собираю 475 тысяч пакетов npm в репозиторий.

Мне кажется, для проектов с тысячами легковесных пользовательских 
пакетов нужно какое-то иное решение. Например, класть полный дамп 
репозитория таких пакетов в rpm-пакет.

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


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 19:16 ` Vitaly Lipatov
@ 2018-01-19 19:38   ` Igor Vlasenko
  2018-01-19 19:44     ` Igor Vlasenko
  2018-01-19 21:06     ` Kirill Maslinsky
  2018-01-23 10:56   ` Sergey Bolshakov
  1 sibling, 2 replies; 8+ messages in thread
From: Igor Vlasenko @ 2018-01-19 19:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Jan 19, 2018 at 10:16:05PM +0300, Vitaly Lipatov wrote:
> Мне кажется, для проектов с тысячами легковесных пользовательских пакетов
> нужно какое-то иное решение. 

Я уже писал, что зто будет уже другая задача --- 
выпускать свой дистрибутив TeX.

Вот Кирилл в свое время сделал так, а потом не смог обновлять.

А стандартный TeXLive и собрать, и обновить на порядок легче.

Нет проблем, если у кого-то достаточно времени,
сделать укрупненные сбалансированные пакеты
и выпустить наш родной дистрибутив ALT TeX,
или KirillTeX (если кто-то и сделает, то скорее всего он).
Но у меня нет. я и так уже почти на месяц завяз.

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

Я уже писал про такое решение в mageia.
И почему оно IMHO плохое -- там тот пакет-дамп 1Gb,
слишком грубый, раздувает chroot/iso.

-- 

I V


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 19:38   ` Igor Vlasenko
@ 2018-01-19 19:44     ` Igor Vlasenko
  2018-01-19 21:06     ` Kirill Maslinsky
  1 sibling, 0 replies; 8+ messages in thread
From: Igor Vlasenko @ 2018-01-19 19:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Jan 19, 2018 at 09:38:06PM +0200, Igor Vlasenko wrote:
> Я уже писал про такое решение в mageia.
> И почему оно IMHO плохое -- там тот пакет-дамп 1Gb, ***

***) В сборке texlive 20170524-2.mga7 от 8-го января.
Раньше вроде бы на более мелкие куски резали, по 0.5 Gb.

-- 

I V


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 18:14 [devel] I: what's new in texlive Igor Vlasenko
  2018-01-19 19:16 ` Vitaly Lipatov
@ 2018-01-19 21:01 ` Kirill Maslinsky
  1 sibling, 0 replies; 8+ messages in thread
From: Kirill Maslinsky @ 2018-01-19 21:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions


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

> ==== 5) автоматические Provides в нашем alt texlive-2008 ====
>
> Для нашего alt texlive-2008 в rpm-build-texmf был реализован
> поиск автоматических Provides/Requires вида texmf(...).
>
> Я пока отключил их поиск, так как без них сборка с текущими
> оптимизациями завершается за час, а с ними - существенно больше.
> Я собираюсь собрать-таки раз texlive с rpm-build-texmf,
> закешировать полученные результаты и потом вставить их
> в спек напрямую, для быстродействия.

Я не уверен, что стоит использовать rpm-build-texmf в текущем виде:
проблема в том, что он генерит не только Provides, но и Requires вида
texmf(...). При этом там реализован очень грубый приблизительный поиск
зависимостей средствами sed, его проблема в том, что он не учитывает
контекст условных проверок (и кое-какие еще особые случаи), поэтому
загребает все. С его помощью мы нашли массу ошибок и недочетов в
зависимостях в tlpdb (которые на тот момент писались вручную), и создали
себе геморрой по заполнению всяких анметов или удалению забытого всеми
архаичного кода. Так что за это дело надо браться с осторожностью, не
думаю, что за прошедшие 10 лет ошибок в tlpdb стало меньше.

> === Далее ====
>
> Следующий этап --- выложить texlive-2016 в Сизиф,
> адаптировать к нему наше TeX полиси.
>
> Эта задача облегчается тем, что texlive-2016 --
> полная и одновременно свежая сборка, что позволяет

Я готов поспорить с обоими эпитетами: не такая уж «полная» и не такая уж
«свежая». Но всяко лучше texlive-2008.0, в этом сомнений нет :)

> заменить ей все остальные пакеты texlive-*, tetex-*,
> и texmf-* в Сизифе и начать новое полиси с чистого листа.

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

--
КМ


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 19:38   ` Igor Vlasenko
  2018-01-19 19:44     ` Igor Vlasenko
@ 2018-01-19 21:06     ` Kirill Maslinsky
  1 sibling, 0 replies; 8+ messages in thread
From: Kirill Maslinsky @ 2018-01-19 21:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

s
Igor Vlasenko writes:

> On Fri, Jan 19, 2018 at 10:16:05PM +0300, Vitaly Lipatov wrote:
>> Мне кажется, для проектов с тысячами легковесных пользовательских пакетов
>> нужно какое-то иное решение.

Мне нравится другая идея: собирать в Сизиф только ядро теха, прямо
необходимое для удовлетворения сборочных зависимостей пакетов Сизифа и
подходящее для начальной установки + tlmgr (пакетный менеджер техлива),
и уже пусть пользователь ставит что ему надо, как в npm. Но Игорь
предлагает другую логику...

> Я уже писал, что зто будет уже другая задача ---
> выпускать свой дистрибутив TeX.
>
> Вот Кирилл в свое время сделал так, а потом не смог обновлять.

... и его аргументы весомы :)

--
КМ


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

* Re: [devel] I: what's new in texlive.
  2018-01-19 19:16 ` Vitaly Lipatov
  2018-01-19 19:38   ` Igor Vlasenko
@ 2018-01-23 10:56   ` Sergey Bolshakov
  2018-01-23 11:06     ` Andrey Savchenko
  1 sibling, 1 reply; 8+ messages in thread
From: Sergey Bolshakov @ 2018-01-23 10:56 UTC (permalink / raw)
  To: devel

>>>>> "Vitaly" == Vitaly Lipatov <lav-u2l5PoMzF/Uox3rIn2DAYQ@public.gmane.org> writes:

 > Igor Vlasenko писал 19.1.18 21:14:
 >> Уважаемые господа,
 >> 
 >> Хочу немного рассказать о новой сборке texlive.
 >> 
 >> Буду писать частями в рассылку, а итоговый
 >> документ хочу оставить на wiki.
 >> 
 >> === Введение в TeX Live ===
 >> 
 >> Напомню сначала, что такое TeX Live.
 >> TeX Live -- это дистрибутив TeX.
 >> Если заглянуть внутрь texlive iso,
 >> то мы увидим установщик / пакетный менеджер
 >> и собственно репозиторий пакетов texlive
 >> в папке archive. Пакеты имеют вид tar.xz
 >> архивов, в них, кроме файлов, есть спек,
 >> в котором есть аналоги summary, description,
 >> license, url, post/postun scripts и т.д.
 >> 
 >> Из пакетов устанавливаются бинарники на основе ядра web2c
 >> и расширения со CTAN.
 > А зачем нужно эти пакеты собирать в rpm-пакеты?
 > Тут 5 тысяч пакетов, и зачем их все пихать в rpm-репозиторий?

 > Я же не собираю 475 тысяч пакетов npm в репозиторий.

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

Давайте всё же спросим себя, зачем вообще собирать вот это всё ?
Ради трёх с половиной пакетов, документация которых по сию пору
вот в *этом* ? Не разумней ли было бы просто не собирать такую
документацию, тем более что скорее всего в неё и так никто не смотрит,
предпочитая онлайновую версию ?
Вообще, есть устойчивое ощущение, что последние десять лет никак
не сказались на составе репозитария, этакая вечная молодость.

-- 

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

* Re: [devel] I: what's new in texlive.
  2018-01-23 10:56   ` Sergey Bolshakov
@ 2018-01-23 11:06     ` Andrey Savchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Andrey Savchenko @ 2018-01-23 11:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 3291 bytes --]

On Tue, 23 Jan 2018 13:56:22 +0300 Sergey Bolshakov wrote:
> >>>>> "Vitaly" == Vitaly Lipatov <lav-u2l5PoMzF/Uox3rIn2DAYQ@public.gmane.org> writes:
> 
>  > Igor Vlasenko писал 19.1.18 21:14:
>  >> Уважаемые господа,
>  >> 
>  >> Хочу немного рассказать о новой сборке texlive.
>  >> 
>  >> Буду писать частями в рассылку, а итоговый
>  >> документ хочу оставить на wiki.
>  >> 
>  >> === Введение в TeX Live ===
>  >> 
>  >> Напомню сначала, что такое TeX Live.
>  >> TeX Live -- это дистрибутив TeX.
>  >> Если заглянуть внутрь texlive iso,
>  >> то мы увидим установщик / пакетный менеджер
>  >> и собственно репозиторий пакетов texlive
>  >> в папке archive. Пакеты имеют вид tar.xz
>  >> архивов, в них, кроме файлов, есть спек,
>  >> в котором есть аналоги summary, description,
>  >> license, url, post/postun scripts и т.д.
>  >> 
>  >> Из пакетов устанавливаются бинарники на основе ядра web2c
>  >> и расширения со CTAN.
>  > А зачем нужно эти пакеты собирать в rpm-пакеты?
>  > Тут 5 тысяч пакетов, и зачем их все пихать в rpm-репозиторий?
> 
>  > Я же не собираю 475 тысяч пакетов npm в репозиторий.
> 
>  > Мне кажется, для проектов с тысячами легковесных пользовательских
>  > пакетов нужно какое-то иное решение. Например, класть полный дамп
>  > репозитория таких пакетов в rpm-пакет.
> 
> Давайте всё же спросим себя, зачем вообще собирать вот это всё ?
> Ради трёх с половиной пакетов, документация которых по сию пору
> вот в *этом* ? Не разумней ли было бы просто не собирать такую
> документацию, тем более что скорее всего в неё и так никто не смотрит,
> предпочитая онлайновую версию ?

Затем, что ничего лучше и удобнее LaTeX для качественной вёрстки
ещё не придумали. И он не только для документации используется, 
например, я в нём делаю презентации, пишу статьи и т.п.

> Вообще, есть устойчивое ощущение, что последние десять лет никак
> не сказались на составе репозитария, этакая вечная молодость.

Развитие идёт очень быстрое, как по обновлению пакетов TeXlive, так
и по появлению новых пакетов.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2018-01-23 11:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-19 18:14 [devel] I: what's new in texlive Igor Vlasenko
2018-01-19 19:16 ` Vitaly Lipatov
2018-01-19 19:38   ` Igor Vlasenko
2018-01-19 19:44     ` Igor Vlasenko
2018-01-19 21:06     ` Kirill Maslinsky
2018-01-23 10:56   ` Sergey Bolshakov
2018-01-23 11:06     ` Andrey Savchenko
2018-01-19 21:01 ` Kirill Maslinsky

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