* [devel] Утилиты для работы с setversions?
@ 2019-10-26 13:31 Andrey Savchenko
2019-10-26 14:17 ` Alexey Tourbin
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-26 13:31 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 564 bytes --]
Добрый день!
Есть ли у нас утилиты для работы с set versions? На вики ничего
не нашёл. Мне нужно развернуть set:<hash_array> в список символов.
Понятно, что для этого нужны бинарники, они в пакете есть.
Ещё было бы полезно знать, как получить список символов для каждой
библиотеки до вычисления хешей.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-26 13:31 [devel] Утилиты для работы с setversions? Andrey Savchenko
@ 2019-10-26 14:17 ` Alexey Tourbin
2019-10-26 15:10 ` Andrey Savchenko
0 siblings, 1 reply; 10+ messages in thread
From: Alexey Tourbin @ 2019-10-26 14:17 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1422 bytes --]
On Sat, Oct 26, 2019 at 4:31 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> Добрый день!
>
> Есть ли у нас утилиты для работы с set versions? На вики ничего
> не нашёл. Мне нужно развернуть set:<hash_array> в список символов.
> Понятно, что для этого нужны бинарники, они в пакете есть.
Set-версия состоит из упорядоченного набора bpp-битных хешей (а
кодируются дельты между хешами). Хеши можно получить через закрытое
API, которое доступно через только через #include "set.c". Прикрепил
пример.
$ rpm -q --provides glibc-core |grep 'libdl.*set'
libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
$ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
0272
0a8f
12b4
1f1c
1fb0
23f5
31a1
3571
35d3
3bcb
> Ещё было бы полезно знать, как получить список символов для каждой
> библиотеки до вычисления хешей.
Список для Provides делается через /usr/lib/rpm/provided_symbols.
Список для Requires делается более сложным образом с использованием
/usr/lib/rpm/ldd.
[-- Attachment #2: printset.c --]
[-- Type: text/x-csrc, Size: 514 bytes --]
#include <stdio.h>
#include "set.c"
int main(int argc, char **argv)
{
assert(argc == 2);
const char *s = argv[1];
assert(strncmp(s, "set:", 4) == 0);
s += 4;
int bpp, m;
int rc = decode_set_init(s, &bpp, &m);
assert(rc == 0);
size_t len = strlen(s);
int n = decode_set_size(len, m);
assert(n > 0);
unsigned v[n];
n = decode_set(s, m, v);
assert(n > 0);
int w = (bpp + 3) / 4;
for (int i = 0; i < n; i++)
printf("%0*x\n", w, v[i]);
return 0;
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-26 14:17 ` Alexey Tourbin
@ 2019-10-26 15:10 ` Andrey Savchenko
2019-10-26 22:38 ` Alexey Tourbin
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-26 15:10 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1886 bytes --]
On Sat, 26 Oct 2019 17:17:25 +0300 Alexey Tourbin wrote:
> On Sat, Oct 26, 2019 at 4:31 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > Добрый день!
> >
> > Есть ли у нас утилиты для работы с set versions? На вики ничего
> > не нашёл. Мне нужно развернуть set:<hash_array> в список символов.
> > Понятно, что для этого нужны бинарники, они в пакете есть.
>
> Set-версия состоит из упорядоченного набора bpp-битных хешей (а
> кодируются дельты между хешами). Хеши можно получить через закрытое
> API, которое доступно через только через #include "set.c". Прикрепил
> пример.
>
> $ rpm -q --provides glibc-core |grep 'libdl.*set'
> libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
> $ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
> 0272
> 0a8f
> 12b4
> 1f1c
> 1fb0
> 23f5
> 31a1
> 3571
> 35d3
> 3bcb
Как я понял, это хеши символов. По какому алгоритму они вычисляются?
Мне нужно для имеющегося списка символов вычислить аналогичные хеши
для дальнейшего сравнения.
> > Ещё было бы полезно знать, как получить список символов для каждой
> > библиотеки до вычисления хешей.
>
> Список для Provides делается через /usr/lib/rpm/provided_symbols.
> Список для Requires делается более сложным образом с использованием
> /usr/lib/rpm/ldd.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-26 15:10 ` Andrey Savchenko
@ 2019-10-26 22:38 ` Alexey Tourbin
2019-10-26 22:47 ` Andrey Savchenko
0 siblings, 1 reply; 10+ messages in thread
From: Alexey Tourbin @ 2019-10-26 22:38 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1197 bytes --]
On Sat, Oct 26, 2019 at 6:10 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> On Sat, 26 Oct 2019 17:17:25 +0300 Alexey Tourbin wrote:
> > $ rpm -q --provides glibc-core |grep 'libdl.*set'
> > libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
> > $ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
> > 0272
> > 0a8f
> > 12b4
> > 1f1c
> > 1fb0
> > 23f5
> > 31a1
> > 3571
> > 35d3
> > 3bcb
>
> Как я понял, это хеши символов. По какому алгоритму они вычисляются?
> Мне нужно для имеющегося списка символов вычислить аналогичные хеши
> для дальнейшего сравнения.
Это set.c:hash(), но можно воспользоваться set_new/set_add, который
хеширует и сортирует строки по хешу. Прикрепил более полный пример.
$ /usr/lib/rpm/provided_symbols /lib64/libdl.so.2 |./a.out
set:hdBjS1I4gQ8BohwImELo8Zh 1
0272 dladdr1
0a8f _dlfcn_hook
12b4 dlsym
1f1c dlerror
1fb0 dlclose
23f5 dlopen
31a1 dlinfo
3571 dlvsym
35d3 dladdr
3bcb dlmopen
[-- Attachment #2: printset.c --]
[-- Type: text/x-csrc, Size: 1184 bytes --]
#include <stdio.h>
#include "set.c"
int main(int argc, char **argv)
{
assert(argc == 2);
const char *s = argv[1];
assert(strncmp(s, "set:", 4) == 0);
s += 4;
int bpp, m;
int rc = decode_set_init(s, &bpp, &m);
assert(rc == 0);
size_t len = strlen(s);
int n = decode_set_size(len, m);
assert(n > 0);
unsigned v[n];
n = decode_set(s, m, v);
assert(n > 0);
// Read the list of symbols from stdin.
struct set *set = set_new();
char *line = NULL;
size_t alloc = 0;
while ((len = getline(&line, &alloc, stdin)) != -1) {
assert(len > 1);
len--;
assert(line[len] == '\n');
line[len] = '\0';
set_add(set, line);
}
// Hash and sort the symbols by hash.
s = set_fini(set, bpp);
assert(s && "non-empty set");
s = _free(s); // don't neeed the result, only the internal structure
// Join v[] and set->sv[].
int w = (bpp + 3) / 4;
for (int i = 0; i < n; i++) {
// TODO: handle collisions and/or missing elements,
// advance lists separately like in mergesort.
assert(set->sv[i].v == v[i]);
printf("%0*x %s\n", w, v[i], set->sv[i].s);
}
set_free(set);
return 0;
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-26 22:38 ` Alexey Tourbin
@ 2019-10-26 22:47 ` Andrey Savchenko
2019-10-29 18:23 ` Andrey Savchenko
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-26 22:47 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1422 bytes --]
On Sun, 27 Oct 2019 01:38:40 +0300 Alexey Tourbin wrote:
> On Sat, Oct 26, 2019 at 6:10 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > On Sat, 26 Oct 2019 17:17:25 +0300 Alexey Tourbin wrote:
> > > $ rpm -q --provides glibc-core |grep 'libdl.*set'
> > > libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
> > > $ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
> > > 0272
> > > 0a8f
> > > 12b4
> > > 1f1c
> > > 1fb0
> > > 23f5
> > > 31a1
> > > 3571
> > > 35d3
> > > 3bcb
> >
> > Как я понял, это хеши символов. По какому алгоритму они вычисляются?
> > Мне нужно для имеющегося списка символов вычислить аналогичные хеши
> > для дальнейшего сравнения.
>
> Это set.c:hash(), но можно воспользоваться set_new/set_add, который
> хеширует и сортирует строки по хешу. Прикрепил более полный пример.
>
> $ /usr/lib/rpm/provided_symbols /lib64/libdl.so.2 |./a.out
> set:hdBjS1I4gQ8BohwImELo8Zh 1
> 0272 dladdr1
> 0a8f _dlfcn_hook
> 12b4 dlsym
> 1f1c dlerror
> 1fb0 dlclose
> 23f5 dlopen
> 31a1 dlinfo
> 3571 dlvsym
> 35d3 dladdr
> 3bcb dlmopen
Спасибо! Как раз это мне и нужно.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-26 22:47 ` Andrey Savchenko
@ 2019-10-29 18:23 ` Andrey Savchenko
2019-10-30 2:04 ` Alexey Tourbin
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-29 18:23 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2310 bytes --]
On Sun, 27 Oct 2019 01:47:00 +0300 Andrey Savchenko wrote:
> On Sun, 27 Oct 2019 01:38:40 +0300 Alexey Tourbin wrote:
> > On Sat, Oct 26, 2019 at 6:10 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > > On Sat, 26 Oct 2019 17:17:25 +0300 Alexey Tourbin wrote:
> > > > $ rpm -q --provides glibc-core |grep 'libdl.*set'
> > > > libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
> > > > $ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
> > > > 0272
> > > > 0a8f
> > > > 12b4
> > > > 1f1c
> > > > 1fb0
> > > > 23f5
> > > > 31a1
> > > > 3571
> > > > 35d3
> > > > 3bcb
> > >
> > > Как я понял, это хеши символов. По какому алгоритму они вычисляются?
> > > Мне нужно для имеющегося списка символов вычислить аналогичные хеши
> > > для дальнейшего сравнения.
> >
> > Это set.c:hash(), но можно воспользоваться set_new/set_add, который
> > хеширует и сортирует строки по хешу. Прикрепил более полный пример.
> >
> > $ /usr/lib/rpm/provided_symbols /lib64/libdl.so.2 |./a.out
> > set:hdBjS1I4gQ8BohwImELo8Zh 1
> > 0272 dladdr1
> > 0a8f _dlfcn_hook
> > 12b4 dlsym
> > 1f1c dlerror
> > 1fb0 dlclose
> > 23f5 dlopen
> > 31a1 dlinfo
> > 3571 dlvsym
> > 35d3 dladdr
> > 3bcb dlmopen
>
> Спасибо! Как раз это мне и нужно.
К сожалению, для решения реальной проблемы этого недостаточно:
$ /usr/lib/rpm/provided_symbols /usr/lib64/libharfbuzz-subset.so.0 | ./get_hash set:nkVnoZa9uXJTAxpulY0e0jZy0
warning: hash collision: _ZN10__cxxabiv115__forced_unwindD1Ev _ZNK2OT8OffsetToINS_12ConditionSetENS_7IntTypeIjLj4EEELb1EE8sanitizeEP21hb_sanitize_context_tPKv
get_hash: get_hash.c:45: main: Assertion `set->sv[i].v == v[i]' failed.
Aborted (core dumped)
Понятно, что нужно обрабатывать коллизии хешей, но код set.c слишком
велик, чтоб в нём разобраться за разумное время без детальной документации.
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-29 18:23 ` Andrey Savchenko
@ 2019-10-30 2:04 ` Alexey Tourbin
2019-10-30 9:06 ` Andrey Savchenko
0 siblings, 1 reply; 10+ messages in thread
From: Alexey Tourbin @ 2019-10-30 2:04 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Tue, Oct 29, 2019 at 9:23 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> К сожалению, для решения реальной проблемы этого недостаточно:
Давайте решим реальную проблему. Что вы хотите сделать? Left outer join?
> $ /usr/lib/rpm/provided_symbols /usr/lib64/libharfbuzz-subset.so.0 | ./get_hash set:nkVnoZa9uXJTAxpulY0e0jZy0
> warning: hash collision: _ZN10__cxxabiv115__forced_unwindD1Ev _ZNK2OT8OffsetToINS_12ConditionSetENS_7IntTypeIjLj4EEELb1EE8sanitizeEP21hb_sanitize_context_tPKv
> get_hash: get_hash.c:45: main: Assertion `set->sv[i].v == v[i]' failed.
> Aborted (core dumped)
>
> Понятно, что нужно обрабатывать коллизии хешей, но код set.c слишком
> велик, чтоб в нём разобраться за разумное время без детальной документации.
В примере в TODO сказано, что это не настоящий join, и что нужно для
настоящего join'а продвигать списки по-отдельности. Вы зря валите на
код set.c. У вас есть два примитива: 1) распаковать set-строку в
массив хешей v[]; 2) прохешировать заданный набор строк и
отсортировать их по хешу, будет массив пар <str,v>[]. Этим задача
set.c исчерпывается, и дальше разбираться в его коде не нужно.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-30 2:04 ` Alexey Tourbin
@ 2019-10-30 9:06 ` Andrey Savchenko
2019-10-30 10:46 ` Vladimir D. Seleznev
0 siblings, 1 reply; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-30 9:06 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1034 bytes --]
On Wed, 30 Oct 2019 05:04:27 +0300 Alexey Tourbin wrote:
> On Tue, Oct 29, 2019 at 9:23 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > К сожалению, для решения реальной проблемы этого недостаточно:
>
> Давайте решим реальную проблему. Что вы хотите сделать? Left outer join?
Задача следующая:
1) Есть библиотека foo-1.0
2) Она обновилась до foo-1.0.1
3) Возник unmet пакета bar на libfoo.so (>= set:abcdef)
Мне нужно знать, каких именно символов из foo стало не хватать bar.
Будет при этом left outer join или right inner join — мне абсолютно
не важно. От rpm мне нужна возможность отображать set в список
символов (при наличии библиотеки, разумеется).
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-30 9:06 ` Andrey Savchenko
@ 2019-10-30 10:46 ` Vladimir D. Seleznev
2019-10-30 11:38 ` Andrey Savchenko
0 siblings, 1 reply; 10+ messages in thread
From: Vladimir D. Seleznev @ 2019-10-30 10:46 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Oct 30, 2019 at 12:06:26PM +0300, Andrey Savchenko wrote:
> On Wed, 30 Oct 2019 05:04:27 +0300 Alexey Tourbin wrote:
> > On Tue, Oct 29, 2019 at 9:23 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > > К сожалению, для решения реальной проблемы этого недостаточно:
> >
> > Давайте решим реальную проблему. Что вы хотите сделать? Left outer join?
>
> Задача следующая:
>
> 1) Есть библиотека foo-1.0
> 2) Она обновилась до foo-1.0.1
> 3) Возник unmet пакета bar на libfoo.so (>= set:abcdef)
>
> Мне нужно знать, каких именно символов из foo стало не хватать bar.
>
> Будет при этом left outer join или right inner join — мне абсолютно
> не важно. От rpm мне нужна возможность отображать set в список
> символов (при наличии библиотеки, разумеется).
Я думаю, проще воспользоваться утилитой rpmsodiff(1) из состава пакета
qa-robot, которая в т.ч. сравнивает символы в пределах SONAME:
$ rpmsodiff /ALT/repo/sisyphus/date/2017/01/01/x86_64/RPMS.classic/libglusterfs3-3.8.4-alt1.x86_64.rpm \
/ALT/repo/sisyphus/date/2018/01/01/x86_64/RPMS.classic/libglusterfs3-3.12.4-alt1.x86_64.rpm |
head -n 15
common sonames:
libgfchangelog.so.0 /usr/lib64/libgfchangelog.so.0.0.1 /usr/lib64/libgfchangelog.so.0.0.1
libgfrpc.so.0 /usr/lib64/libgfrpc.so.0.0.1 /usr/lib64/libgfrpc.so.0.0.1
libgfxdr.so.0 /usr/lib64/libgfxdr.so.0.0.1 /usr/lib64/libgfxdr.so.0.0.1
libglusterfs.so.0 /usr/lib64/libglusterfs.so.0.0.1 /usr/lib64/libglusterfs.so.0.0.1
--- libglusterfs3-3.8.4-alt1/libgfchangelog.so.0 2016-10-02 02:02:01.000000000 +0300
+++ libglusterfs3-3.12.4-alt1/libgfchangelog.so.0 2017-12-17 20:05:18.000000000 +0300
@@ -74,3 +74,3 @@
gf_readline T
-gf_rfc3986_encode T
+gf_rfc3986_encode_space_newline T
gf_thread_cleanup T
1 symbols removed
--
С уважением,
Владимир Селезнев
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [devel] Утилиты для работы с setversions?
2019-10-30 10:46 ` Vladimir D. Seleznev
@ 2019-10-30 11:38 ` Andrey Savchenko
0 siblings, 0 replies; 10+ messages in thread
From: Andrey Savchenko @ 2019-10-30 11:38 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 3415 bytes --]
On Wed, 30 Oct 2019 13:46:26 +0300 Vladimir D. Seleznev wrote:
> On Wed, Oct 30, 2019 at 12:06:26PM +0300, Andrey Savchenko wrote:
> > On Wed, 30 Oct 2019 05:04:27 +0300 Alexey Tourbin wrote:
> > > On Tue, Oct 29, 2019 at 9:23 PM Andrey Savchenko <bircoph@altlinux.org> wrote:
> > > > К сожалению, для решения реальной проблемы этого недостаточно:
> > >
> > > Давайте решим реальную проблему. Что вы хотите сделать? Left outer join?
> >
> > Задача следующая:
> >
> > 1) Есть библиотека foo-1.0
> > 2) Она обновилась до foo-1.0.1
> > 3) Возник unmet пакета bar на libfoo.so (>= set:abcdef)
> >
> > Мне нужно знать, каких именно символов из foo стало не хватать bar.
> >
> > Будет при этом left outer join или right inner join — мне абсолютно
> > не важно. От rpm мне нужна возможность отображать set в список
> > символов (при наличии библиотеки, разумеется).
>
> Я думаю, проще воспользоваться утилитой rpmsodiff(1) из состава пакета
> qa-robot, которая в т.ч. сравнивает символы в пределах SONAME:
Она мне ответит на вопрос чем отличается новая и старая библиотека,
но не на вопрос какие символы из этой разницы нужны заданному
пакету. Понятно, что можно прообждампить все бинарники пакета
и затем сопоставить списки символов с вытащенными из разницы.
Но ведь rpm уже обладает всей нужной информацией в виде set!
Просто нет инструментов для работы с ней :/
P.S. Конкретно возникшую прошблему с libharfbuzz я уже решил иными
методами, но безусловно, что подобные задачи будут возникать
и в дальнейшем, и было бы очень полезно иметь инструменты для их
решения.
> $ rpmsodiff /ALT/repo/sisyphus/date/2017/01/01/x86_64/RPMS.classic/libglusterfs3-3.8.4-alt1.x86_64.rpm \
> /ALT/repo/sisyphus/date/2018/01/01/x86_64/RPMS.classic/libglusterfs3-3.12.4-alt1.x86_64.rpm |
> head -n 15
> common sonames:
> libgfchangelog.so.0 /usr/lib64/libgfchangelog.so.0.0.1 /usr/lib64/libgfchangelog.so.0.0.1
> libgfrpc.so.0 /usr/lib64/libgfrpc.so.0.0.1 /usr/lib64/libgfrpc.so.0.0.1
> libgfxdr.so.0 /usr/lib64/libgfxdr.so.0.0.1 /usr/lib64/libgfxdr.so.0.0.1
> libglusterfs.so.0 /usr/lib64/libglusterfs.so.0.0.1 /usr/lib64/libglusterfs.so.0.0.1
>
> --- libglusterfs3-3.8.4-alt1/libgfchangelog.so.0 2016-10-02 02:02:01.000000000 +0300
> +++ libglusterfs3-3.12.4-alt1/libgfchangelog.so.0 2017-12-17 20:05:18.000000000 +0300
> @@ -74,3 +74,3 @@
> gf_readline T
> -gf_rfc3986_encode T
> +gf_rfc3986_encode_space_newline T
> gf_thread_cleanup T
>
> 1 symbols removed
>
Best regards,
Andrew Savchenko
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2019-10-30 11:38 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-26 13:31 [devel] Утилиты для работы с setversions? Andrey Savchenko
2019-10-26 14:17 ` Alexey Tourbin
2019-10-26 15:10 ` Andrey Savchenko
2019-10-26 22:38 ` Alexey Tourbin
2019-10-26 22:47 ` Andrey Savchenko
2019-10-29 18:23 ` Andrey Savchenko
2019-10-30 2:04 ` Alexey Tourbin
2019-10-30 9:06 ` Andrey Savchenko
2019-10-30 10:46 ` Vladimir D. Seleznev
2019-10-30 11:38 ` Andrey Savchenko
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