ALT Linux Distributions development
 help / color / mirror / Atom feed
* [devel-distro] архитектуры, java-11-openjdk и  LibreOffice*
@ 2021-11-22 18:24 Michael Shigorin
  2021-11-22 18:36 ` Антон Мидюков
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
  0 siblings, 2 replies; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:24 UTC (permalink / raw)
  To: devel-distro

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

	Здравствуйте.
Коллеги, удивлён коммитами в antohami/master:

3fbf1a5827672504e08d6a188cf8fcd916fe2c6b (sem@)
5581dc91ec6f3330c338995d1cdfbca285298011 (sem@)
9601a9e7ce92c7a521fd154f59d8e17524f12a95 (sem@)
8f0f5f7d3c6765c97bd7c57819de67cbbfc0d6d6 (cas@)

Понятно, что кроме меня никого не волнует,
что java11 пока нет в sisyphus_e2k
(прилагаю исправление для education.mk).

Непонятно, зачем делать для armh отдельный список,
если достаточно воспользоваться @armh в имеющемся?

Досадно, что реализация bin/archdep-filter не умеет
списки архитектур (тогда регэксы были бы совсем уже
нечитаемые, я думал над этим) -- но давайте тогда
в таких случаях выписывать хотя бы списки архитектур.

Хотя тут есть другая опасность -- выплеснуть нечаянно
какой-либо пакет или список, как это уже произошло
с workstation/vlc на не-x86 (похоже, без замены чем-либо
другим вообще, см. conf.d/basealt.mk).

Сейчас отдельно пришлю коммиты для обсуждения.

PS: хотя... если попробовать сперва раскладывать
"(@!*)([a-zA-Z0-9]+,)+" в "\1\2 \1\3 ...",
то может и получиться относительно изящно/понятно;
как-то так: http://stackoverflow.com/a/55781741/561921
(но с вычитанием сложнее).

PPS: в общем, написал такое, только не смог добить
ещё одно изменение поведения (может, и ладно).

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info

[-- Attachment #2: 0001-e2k-education.mk-soft-revert-java11-commit.patch --]
[-- Type: text/x-patch, Size: 1555 bytes --]

>From a4f441fcfbf5c8735f961057bcf2f10a84cd5517 Mon Sep 17 00:00:00 2001
From: Michael Shigorin <mike@altlinux.org>
Date: Fri, 29 Oct 2021 08:19:37 +0300
Subject: [PATCH] [e2k] education.mk: soft-revert java11 commit

It was encumbered, it's only java11 part that should be
archdep as e2k-alt-linux lacks that one so far.

See-also: 8f0f5f7d3c6765c97bd7c57819de67cbbfc0d6d6
---
 conf.d/education.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/conf.d/education.mk b/conf.d/education.mk
index a79200cdf..50cc60ef9 100644
--- a/conf.d/education.mk
+++ b/conf.d/education.mk
@@ -18,7 +18,11 @@ mixin/education: \
 	@$(call add,THE_BRANDING,menu xfce-settings system-settings)
 	@$(call add,THE_LISTS,slinux/xfce-base)
 	@$(call add,THE_LISTS,education/misc)
-	@$(call add,THE_PACKAGES,java-11-openjdk)
+ifeq (,$(filter-out e2k%,$(ARCH)))
+	@$(call add,THE_PACKAGES,jre)
+else
+	@$(call add,LIVE_PACKAGES,java-11-openjdk)
+endif
 	@$(call add,THE_PACKAGES,thunderbird)
 	@$(call add,THE_LISTS,$(call tags,base l10n))
 	@$(call add,BASE_LISTS,workstation/3rdparty)
@@ -39,7 +43,11 @@ ifeq (,$(filter-out i586 x86_64 aarch64,$(ARCH)))
 endif
 	@$(call add,LIVE_PACKAGES,mc-full)
 	@$(call add,LIVE_PACKAGES,remmina remmina-plugins)
+ifeq (,$(filter-out e2k%,$(ARCH)))
+	@$(call add,LIVE_PACKAGES,jre)
+else
 	@$(call add,LIVE_PACKAGES,java-11-openjdk)
+endif
 	@$(call add,LIVE_PACKAGES,xorg-conf-libinput-touchpad)
 	@$(call add,LIVE_LISTS,$(call tags,base rescue))
 	@$(call add,LIVE_LISTS,$(call tags,base extra))
-- 
2.33.0


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

* Re: [devel-distro] архитектуры, java-11-openjdk и LibreOffice*
  2021-11-22 18:24 [devel-distro] архитектуры, java-11-openjdk и LibreOffice* Michael Shigorin
@ 2021-11-22 18:36 ` Антон Мидюков
  2021-11-22 18:50   ` Michael Shigorin
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
  1 sibling, 1 reply; 13+ messages in thread
From: Антон Мидюков @ 2021-11-22 18:36 UTC (permalink / raw)
  To: devel-distro

23.11.2021 01:24, Michael Shigorin пишет:
> 	Здравствуйте.
> Коллеги, удивлён коммитами в antohami/master:
> 
> 3fbf1a5827672504e08d6a188cf8fcd916fe2c6b (sem@)
> 5581dc91ec6f3330c338995d1cdfbca285298011 (sem@)
> 9601a9e7ce92c7a521fd154f59d8e17524f12a95 (sem@)
> 8f0f5f7d3c6765c97bd7c57819de67cbbfc0d6d6 (cas@)
> 
> Понятно, что кроме меня никого не волнует,
> что java11 пока нет в sisyphus_e2k
> (прилагаю исправление для education.mk).

Я не стараюсь создавать несовместимости с профилями коллег
на ровном месте. Если серьёзных претензий нет, беру как есть.

> 
> Непонятно, зачем делать для armh отдельный список,
> если достаточно воспользоваться @armh в имеющемся?

О каких списках речь то?

> 
> Досадно, что реализация bin/archdep-filter не умеет
> списки архитектур (тогда регэксы были бы совсем уже
> нечитаемые, я думал над этим) -- но давайте тогда
> в таких случаях выписывать хотя бы списки архитектур.
> 
> Хотя тут есть другая опасность -- выплеснуть нечаянно
> какой-либо пакет или список, как это уже произошло
> с workstation/vlc на не-x86 (похоже, без замены чем-либо
> другим вообще, см. conf.d/basealt.mk).
> 
> Сейчас отдельно пришлю коммиты для обсуждения.
> 
> PS: хотя... если попробовать сперва раскладывать
> "(@!*)([a-zA-Z0-9]+,)+" в "\1\2 \1\3 ...",
> то может и получиться относительно изящно/понятно;
> как-то так: http://stackoverflow.com/a/55781741/561921
> (но с вычитанием сложнее).
> 
> PPS: в общем, написал такое, только не смог добить
> ещё одно изменение поведения (может, и ладно).
> 
> 

У меня возник вопрос по присланному патчу:
diff --git a/conf.d/education.mk b/conf.d/education.mk
index a79200cdf..50cc60ef9 100644
--- a/conf.d/education.mk
+++ b/conf.d/education.mk
@@ -18,7 +18,11 @@ mixin/education: \
 	@$(call add,THE_BRANDING,menu xfce-settings system-settings)
 	@$(call add,THE_LISTS,slinux/xfce-base)
 	@$(call add,THE_LISTS,education/misc)
-	@$(call add,THE_PACKAGES,java-11-openjdk)
+ifeq (,$(filter-out e2k%,$(ARCH)))
+	@$(call add,THE_PACKAGES,jre)
+else
+	@$(call add,LIVE_PACKAGES,java-11-openjdk)
+endif
 	@$(call add,THE_PACKAGES,thunderbird)
 	@$(call add,THE_LISTS,$(call tags,base l10n))
 	@$(call add,BASE_LISTS,workstation/3rdparty)

Было
@$(call add,THE_PACKAGES,java-11-openjdk)
Стало
@$(call add,LIVE_PACKAGES,java-11-openjdk)

Ошибка или так задумано?

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры
  2021-11-22 18:24 [devel-distro] архитектуры, java-11-openjdk и LibreOffice* Michael Shigorin
  2021-11-22 18:36 ` Антон Мидюков
@ 2021-11-22 18:45 ` Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 1/4] bin/archdep-filter: implement multi-matching Michael Shigorin
                     ` (4 more replies)
  1 sibling, 5 replies; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:45 UTC (permalink / raw)
  To: devel-distro

	Здравствуйте.
Изначально казалось странным, что в форме pkg@arch нельзя
указать как минимум несколько архитектур -- с несколькими
пакетами было всё-таки неясно (хотя ситуация с libreoffice
намекает, что выбор между a b c d@arch как "a b c d"@arch
или "a" "b" "c" "d@arch" стоило делать в пользу первого).

Ну не получилось у меня сразу сделать такую раскрывалку;
собственно, сегодня тоже практически весь день и ушёл
по мотивам накропанного было:

-java-11-openjdk@!mipsel
+java-11-openjdk@X86
+java-11-openjdk@ARM
+java-11-openjdk@ppc64le
+jre@mipsel
+jre@E2K

Но зато с предлагаемыми коммитами теперь можно так:

pkg@ARCHES1,arch2
pkg@!ARCHES3,arch4

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

pkg1@... pkg2@!... pkg3@...

---

С переделкой же под обработку всей строки до @ как подлежащей
фильтрации (на текущие pkg.in/lists/ это не окажет какого-либо
влияния, я проверил, что '^[^#].* .*@' там отсутствуют)
застрял вот на чём (и это противоречит той "завершённости",
поскольку выбирает другую):

--- bin/archdep-filter  2021-11-22 21:19:00.169564135 +0300
+++ bin/archdep-filter2 2021-11-22 21:19:46.657753727 +0300
@@ -36,13 +36,14 @@
 cat ${f:+"$f"} |
 sed -r  ':loop; s/^((([^@]+@!)[^,]+)+),([a-zA-Z0-9_]+)/\1@!\4/; t loop' |
 sed -r  ':loop; s/^((([^@]+@)[^,]+)+),([a-zA-Z0-9_]+)/\1\n\3\4/; t loop' |
-sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>[^ ]*\>/\1\2/pg" |
-sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\>[^ ]*\> */\1/pg" |
-sed -r  "s/\<([^@ ]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
-sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>[^ ]*\>/\1\2/pg" |
-sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
-sed -r  "s/\<([^@ ]*)@\![^ ]+\>/\1/g" |
-sed -r  "s/\<([^@ ]*)@[^@ ]+\> *//g" |
+sed -rn "s/\<([^@]*)\>|\<([^@]*)@$A\>[^ ]*\>/\1\2/pg" |
+sed -rn "s/\<([^@]*)\>|\<[^@]*@\!$A\>[^ ]*\> */\1/pg" |
+tee /dev/stderr |
+sed -r  "s/\<([^@]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
+sed -rn "s/\<([^@]*)\>|\<([^@]*)@$a\>[^ ]*\>/\1\2/pg" |
+sed -rn "s/\<([^@]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
+sed -r  "s/\<([^@]*)@\![^ ]+\>/\1/g" |
+sed -r  "s/\<([^@]*)@[^@]+\> *//g" |
 sed -r  "s/^ +//;s/ +$//;/^$/d" |
 if [ -n "$f" ]; then
        cat > "$t" && mv "$t" "$f"

$ echo -e 'a_b c d@!X86,aarch64' | sh bin/archdep-filter2 -a aarch64 
a_b c d@!X86@!aarch64
a_b c d@!

$ echo -e 'a_b c d@!X86,aarch64' | sh bin/archdep-filter2 -a aarch64 >/dev/null 
a_b c d@!X86@!aarch64

Бишь где-то лишний маркер "@!" остаётся.
Но сегодня уже никакой возможности это добивать нет.

Michael Shigorin (4):
  bin/archdep-filter: implement multi-matching
  bin/archdep-filter: implement multi-!matching too
  bin/archdep-filter: cosmetic cleanups
  bin/archdep-filter: a debugging note

 bin/archdep-filter | 20 +++++++++++++-------
 doc/archdep.txt    |  6 ++++++
 2 files changed, 19 insertions(+), 7 deletions(-)

-- 
2.33.0



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

* [devel-distro] [PATCH 1/4] bin/archdep-filter: implement multi-matching
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
@ 2021-11-22 18:45   ` Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too Michael Shigorin
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:45 UTC (permalink / raw)
  To: devel-distro

This has been inspired by a few commits that cared
for package availability reasons on a particular
architecture; the problem at hand is that pkglists
might need to include groups of packages that are
(un)available on groups of arches, and tackling that
with plain pkg@arch just results in combinatorial
explosion of that matrix.

Arches are handled one-by-one with a few hardcoded
macro substitutions.

Exploding a "pkg@arch1,arch2" string into a set of:

pkg@arch1
pkg@arch2

with subsequent archdep pruning would do the trick;
so here's another sed oneliner that does just that:

$ echo 'pkg@X86,ARM,ppc64le' |
  sed -r ':loop; s/^((([^@]+@)[^,]+)+),([^,]+)/\1\n\3\4/; t loop'
pkg@X86
pkg@ARM
pkg@ppc64le

See-also: 9601a9e7ce92c7a521fd154f59d8e17524f12a95
See-also: 5581dc91ec6f3330c338995d1cdfbca285298011
See-also: http://stackoverflow.com/a/55781741/561921
---
 bin/archdep-filter | 1 +
 doc/archdep.txt    | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/bin/archdep-filter b/bin/archdep-filter
index 69ff9c0a4..58cd076e9 100755
--- a/bin/archdep-filter
+++ b/bin/archdep-filter
@@ -34,6 +34,7 @@ esac
 
 # NB: pipe runs in parallel => faster than -e -e
 cat ${f:+"$f"} |
+sed -r  ':loop; s/^((([^@]+@)[^,]+)+),([a-zA-Z0-9_]+)/\1\n\3\4/; t loop' |
 sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>/\1\2/pg" |
 sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\> */\1/pg" |
 sed -r  "s/\<([^@ ]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
diff --git a/doc/archdep.txt b/doc/archdep.txt
index 4a33233ef..d1a1c3e91 100644
--- a/doc/archdep.txt
+++ b/doc/archdep.txt
@@ -48,6 +48,11 @@
 ARM (armh или aarch64), а также выборка "для любой архитектуры, кроме"
 (например, @!E2K, или "@!ARM).
 
+С версии 1.4.21 поддерживается перечисление архитектур через запятую
+после "@":
+
+  LibreOffice-still@X86,aarch64,ppc64le,mipsel
+
 Для преобразования можно воспользоваться следующей командой:
 
   sed -r -e 's/@I586_ONLY@([^\t ]+)/\1@i586/g' \
-- 
2.33.0



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

* [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 1/4] bin/archdep-filter: implement multi-matching Michael Shigorin
@ 2021-11-22 18:45   ` Michael Shigorin
  2021-11-29 16:44     ` Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 3/4] bin/archdep-filter: cosmetic cleanups Michael Shigorin
                     ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:45 UTC (permalink / raw)
  To: devel-distro

This has been clearly lacking while making the previous commit
but the implementation isn't that clear so let it be a separate
step.

The problem requiring the change in subsequent processors
is that these relied upon "@arch" as a flag to be inspected,
and "pkg@!arch1,arch2" on arch2 needs to take out *all* of that
fragment *including* arch1 mention as well.

Part of the cause is difference in handling: "positive" multi-match
would explode its "client" line into multiple lines to filter down
the pipeline, while "negative" multi-match *has* to keep that line
on a similarly single line (otherwise we'd end up with N-1 of those
slipping past the filter for particular architecture thus defeating
the whole purpose of "negative" matching semantics):

$ echo 'pkg@!E2K,mipsel,riscv64' |
  sed -r  ':loop; s/^((([^@]+@!)[^,]+)+),([a-zA-Z0-9_]+)/\1@!\4/; t loop'
pkg@!E2K@!mipsel@!riscv64

I've tried my best to test this specific change but it still might
introduce a regression in some corner case; feel free to report;
looks like there's a space for improvement in m-p's automated
tests department as well.

So now we can do:

  pkg@!ARCHES1,ARCHES2,arch3,arch4

and have pkg excluded on arches mentioned; the previous approach
could only offer explicit whitelists (not that it was entirely
wrong but then again, we have both ExclusiveArch and ExcludeArch
rpmtags in our spec files).
---
 bin/archdep-filter | 11 ++++++-----
 doc/archdep.txt    |  3 ++-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/bin/archdep-filter b/bin/archdep-filter
index 58cd076e9..674c2e1cc 100755
--- a/bin/archdep-filter
+++ b/bin/archdep-filter
@@ -34,13 +34,14 @@ esac
 
 # NB: pipe runs in parallel => faster than -e -e
 cat ${f:+"$f"} |
+sed -r  ':loop; s/^((([^@]+@!)[^,]+)+),([a-zA-Z0-9_]+)/\1@!\4/; t loop' |
 sed -r  ':loop; s/^((([^@]+@)[^,]+)+),([a-zA-Z0-9_]+)/\1\n\3\4/; t loop' |
-sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>/\1\2/pg" |
-sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\> */\1/pg" |
+sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>[^ ]*\>/\1\2/pg" |
+sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\>[^ ]*\> */\1/pg" |
 sed -r  "s/\<([^@ ]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
-sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>/\1\2/pg" |
-sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$a\> */\1/pg" |
-sed -r  "s/\<([^@ ]*)@\![^@ ]+\>/\1/g" |
+sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>[^ ]*\>/\1\2/pg" |
+sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
+sed -r  "s/\<([^@ ]*)@\![^ ]+\>/\1/g" |
 sed -r  "s/\<([^@ ]*)@[^@ ]+\> *//g" |
 sed -r  "s/^ +//;s/ +$//" |
 if [ -n "$f" ]; then
diff --git a/doc/archdep.txt b/doc/archdep.txt
index d1a1c3e91..845e6acdf 100644
--- a/doc/archdep.txt
+++ b/doc/archdep.txt
@@ -49,9 +49,10 @@ ARM (armh или aarch64), а также выборка "для любой ар
 (например, @!E2K, или "@!ARM).
 
 С версии 1.4.21 поддерживается перечисление архитектур через запятую
-после "@":
+после "@" или "@!":
 
   LibreOffice-still@X86,aarch64,ppc64le,mipsel
+  java-11-openjdk@!E2K,mipsel
 
 Для преобразования можно воспользоваться следующей командой:
 
-- 
2.33.0



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

* [devel-distro] [PATCH 3/4] bin/archdep-filter: cosmetic cleanups
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 1/4] bin/archdep-filter: implement multi-matching Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too Michael Shigorin
@ 2021-11-22 18:45   ` Michael Shigorin
  2021-11-22 18:45   ` [devel-distro] [PATCH 4/4] bin/archdep-filter: a debugging note Michael Shigorin
  2021-11-29  8:21   ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Антон Мидюков
  4 siblings, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:45 UTC (permalink / raw)
  To: devel-distro

"-a arch" is not requisite either; and having bunches
of empty lines in the resulting pkglists that are user
visible at least within the conventional installer's
alterator-pkg (groups selection) module wouldn't be nice.

I chose to sacrifice empty-line separators for clarity;
the really good cleanup would save *single* empty lines
between chunks of non-empty ones (not at the pkglist's
start or end); feel free to implement that as well.
---
 bin/archdep-filter | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/archdep-filter b/bin/archdep-filter
index 674c2e1cc..7802e7e15 100755
--- a/bin/archdep-filter
+++ b/bin/archdep-filter
@@ -2,7 +2,7 @@
 # filter stdin or file for words related to
 # the specified target architecture
 #
-# args: -a arch [-i file]
+# args: [-a arch] [-i file]
 
 if [ "$1" = "-a" -a -n "$2" ]; then
 	a="$2"
@@ -43,7 +43,7 @@ sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>[^ ]*\>/\1\2/pg" |
 sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
 sed -r  "s/\<([^@ ]*)@\![^ ]+\>/\1/g" |
 sed -r  "s/\<([^@ ]*)@[^@ ]+\> *//g" |
-sed -r  "s/^ +//;s/ +$//" |
+sed -r  "s/^ +//;s/ +$//;/^$/d" |
 if [ -n "$f" ]; then
 	cat > "$t" && mv "$t" "$f"
 else
-- 
2.33.0



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

* [devel-distro] [PATCH 4/4] bin/archdep-filter: a debugging note
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
                     ` (2 preceding siblings ...)
  2021-11-22 18:45   ` [devel-distro] [PATCH 3/4] bin/archdep-filter: cosmetic cleanups Michael Shigorin
@ 2021-11-22 18:45   ` Michael Shigorin
  2021-11-29  8:21   ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Антон Мидюков
  4 siblings, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:45 UTC (permalink / raw)
  To: devel-distro

...just to have it handy when it's in need next time.
---
 bin/archdep-filter | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/bin/archdep-filter b/bin/archdep-filter
index 7802e7e15..28681e10d 100755
--- a/bin/archdep-filter
+++ b/bin/archdep-filter
@@ -49,3 +49,7 @@ if [ -n "$f" ]; then
 else
 	cat
 fi
+
+# stick this for debugging sed pipeline and run the script
+# with >/dev/null to see what flows in a particular place:
+#   tee /dev/stderr |
-- 
2.33.0



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

* Re: [devel-distro] архитектуры, java-11-openjdk и LibreOffice*
  2021-11-22 18:36 ` Антон Мидюков
@ 2021-11-22 18:50   ` Michael Shigorin
  2021-11-23 10:20     ` Mikhail Efremov
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2021-11-22 18:50 UTC (permalink / raw)
  To: devel-distro

On Tue, Nov 23, 2021 at 01:36:03AM +0700, Антон Мидюков wrote:
> > Коллеги, удивлён коммитами в antohami/master:
> > 3fbf1a5827672504e08d6a188cf8fcd916fe2c6b (sem@)
> > 5581dc91ec6f3330c338995d1cdfbca285298011 (sem@)
> > 9601a9e7ce92c7a521fd154f59d8e17524f12a95 (sem@)
> > 8f0f5f7d3c6765c97bd7c57819de67cbbfc0d6d6 (cas@)
> > Понятно, что кроме меня никого не волнует,
> > что java11 пока нет в sisyphus_e2k
> > (прилагаю исправление для education.mk).
> Я не стараюсь создавать несовместимости с профилями коллег
> на ровном месте. Если серьёзных претензий нет, беру как есть.

Это понятно -- упомянул, что они именно в таком виде
и были предложены/прошли.

> > Непонятно, зачем делать для armh отдельный список,
> > если достаточно воспользоваться @armh в имеющемся?
> О каких списках речь то?

pkg.in/lists/workstation/libreoffice
pkg.in/lists/workstation/libreoffice-latest

> У меня возник вопрос по присланному патчу:
> Было
> @$(call add,THE_PACKAGES,java-11-openjdk)
> Стало
> @$(call add,LIVE_PACKAGES,java-11-openjdk)
> Ошибка или так задумано?

Моя ошибка при rebase (во втором месте там именно LIVE_PACKAGES,
скопировал невнимательно и не исправил).  Спасибо за бдительность.
Поправь, если заберёшь.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] архитектуры, java-11-openjdk и LibreOffice*
  2021-11-22 18:50   ` Michael Shigorin
@ 2021-11-23 10:20     ` Mikhail Efremov
  0 siblings, 0 replies; 13+ messages in thread
From: Mikhail Efremov @ 2021-11-23 10:20 UTC (permalink / raw)
  To: devel-distro

On Mon, 22 Nov 2021 21:50:14 +0300 Michael Shigorin wrote:
> On Tue, Nov 23, 2021 at 01:36:03AM +0700, Антон Мидюков wrote:
> > > Коллеги, удивлён коммитами в antohami/master:
> > > 3fbf1a5827672504e08d6a188cf8fcd916fe2c6b (sem@)
> > > 5581dc91ec6f3330c338995d1cdfbca285298011 (sem@)
> > > 9601a9e7ce92c7a521fd154f59d8e17524f12a95 (sem@)
> > > 8f0f5f7d3c6765c97bd7c57819de67cbbfc0d6d6 (cas@)
> > > Понятно, что кроме меня никого не волнует,
> > > что java11 пока нет в sisyphus_e2k

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

> > > (прилагаю исправление для education.mk).  
> > Я не стараюсь создавать несовместимости с профилями коллег
> > на ровном месте. Если серьёзных претензий нет, беру как есть.  
> 
> Это понятно -- упомянул, что они именно в таком виде
> и были предложены/прошли.
> 
> > > Непонятно, зачем делать для armh отдельный список,
> > > если достаточно воспользоваться @armh в имеющемся?  
> > О каких списках речь то?  
> 
> pkg.in/lists/workstation/libreoffice
> pkg.in/lists/workstation/libreoffice-latest

Вот именно потому, что нельзя для нескольких архитектур фильтр сделать.
В списке libreoffice уже было LibreOffice-still@!E2K, как при этом его
еще и для armh одновременно исключить?

-- 
WBR, Mikhail Efremov


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

* Re: [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры
  2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
                     ` (3 preceding siblings ...)
  2021-11-22 18:45   ` [devel-distro] [PATCH 4/4] bin/archdep-filter: a debugging note Michael Shigorin
@ 2021-11-29  8:21   ` Антон Мидюков
  4 siblings, 0 replies; 13+ messages in thread
From: Антон Мидюков @ 2021-11-29  8:21 UTC (permalink / raw)
  To: devel-distro

23.11.2021 01:45, Michael Shigorin пишет:
> 	Здравствуйте.
> Изначально казалось странным, что в форме pkg@arch нельзя
> указать как минимум несколько архитектур -- с несколькими
> пакетами было всё-таки неясно (хотя ситуация с libreoffice
> намекает, что выбор между a b c d@arch как "a b c d"@arch
> или "a" "b" "c" "d@arch" стоило делать в пользу первого).
> 
> Ну не получилось у меня сразу сделать такую раскрывалку;
> собственно, сегодня тоже практически весь день и ушёл
> по мотивам накропанного было:
> 
> -java-11-openjdk@!mipsel
> +java-11-openjdk@X86
> +java-11-openjdk@ARM
> +java-11-openjdk@ppc64le
> +jre@mipsel
> +jre@E2K
> 
> Но зато с предлагаемыми коммитами теперь можно так:
> 
> pkg@ARCHES1,arch2
> pkg@!ARCHES3,arch4
> 
> Прошу смотреть, испытывать и если всё хорошо -- забрать.

Работает. Забрал. Спасибо!

> Не гонял особо тщательно примерно вот такое (и не уверен,
> что такое надо уметь, хотя и хорошо бы для завершённости):
> 
> pkg1@... pkg2@!... pkg3@...

Такие записи выглядят перегружено, на мой взгляд.

> 
> ---
> 
> С переделкой же под обработку всей строки до @ как подлежащей
> фильтрации (на текущие pkg.in/lists/ это не окажет какого-либо
> влияния, я проверил, что '^[^#].* .*@' там отсутствуют)
> застрял вот на чём (и это противоречит той "завершённости",
> поскольку выбирает другую):
> 
> --- bin/archdep-filter  2021-11-22 21:19:00.169564135 +0300
> +++ bin/archdep-filter2 2021-11-22 21:19:46.657753727 +0300
> @@ -36,13 +36,14 @@
>  cat ${f:+"$f"} |
>  sed -r  ':loop; s/^((([^@]+@!)[^,]+)+),([a-zA-Z0-9_]+)/\1@!\4/; t loop' |
>  sed -r  ':loop; s/^((([^@]+@)[^,]+)+),([a-zA-Z0-9_]+)/\1\n\3\4/; t loop' |
> -sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>[^ ]*\>/\1\2/pg" |
> -sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\>[^ ]*\> */\1/pg" |
> -sed -r  "s/\<([^@ ]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
> -sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>[^ ]*\>/\1\2/pg" |
> -sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
> -sed -r  "s/\<([^@ ]*)@\![^ ]+\>/\1/g" |
> -sed -r  "s/\<([^@ ]*)@[^@ ]+\> *//g" |
> +sed -rn "s/\<([^@]*)\>|\<([^@]*)@$A\>[^ ]*\>/\1\2/pg" |
> +sed -rn "s/\<([^@]*)\>|\<[^@]*@\!$A\>[^ ]*\> */\1/pg" |
> +tee /dev/stderr |
> +sed -r  "s/\<([^@]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
> +sed -rn "s/\<([^@]*)\>|\<([^@]*)@$a\>[^ ]*\>/\1\2/pg" |
> +sed -rn "s/\<([^@]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |
> +sed -r  "s/\<([^@]*)@\![^ ]+\>/\1/g" |
> +sed -r  "s/\<([^@]*)@[^@]+\> *//g" |
>  sed -r  "s/^ +//;s/ +$//;/^$/d" |
>  if [ -n "$f" ]; then
>         cat > "$t" && mv "$t" "$f"
> 
> $ echo -e 'a_b c d@!X86,aarch64' | sh bin/archdep-filter2 -a aarch64 
> a_b c d@!X86@!aarch64
> a_b c d@!
> 
> $ echo -e 'a_b c d@!X86,aarch64' | sh bin/archdep-filter2 -a aarch64 >/dev/null 
> a_b c d@!X86@!aarch64
> 
> Бишь где-то лишний маркер "@!" остаётся.
> Но сегодня уже никакой возможности это добивать нет.
> 
> Michael Shigorin (4):
>   bin/archdep-filter: implement multi-matching
>   bin/archdep-filter: implement multi-!matching too
>   bin/archdep-filter: cosmetic cleanups
>   bin/archdep-filter: a debugging note
> 
>  bin/archdep-filter | 20 +++++++++++++-------
>  doc/archdep.txt    |  6 ++++++
>  2 files changed, 19 insertions(+), 7 deletions(-)
> 


-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* Re: [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too
  2021-11-22 18:45   ` [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too Michael Shigorin
@ 2021-11-29 16:44     ` Michael Shigorin
  2021-11-29 16:49       ` Антон Мидюков
  0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2021-11-29 16:44 UTC (permalink / raw)
  To: devel-distro

On Mon, Nov 22, 2021 at 09:45:16PM +0300, Michael Shigorin wrote:
> So now we can do:
> 
>   pkg@!ARCHES1,ARCHES2,arch3,arch4

Возможно, мне стоит дополнить документацию -- сделал по случаю
в pkg.in/lists/slinux/misc-base:

java-11-openjdk@!mipsel,E2K

и получил на выходе "java-11-openjdk@!"; похоже, сперва надо
указывать "сборные" архитектуры, затем конкретные, вот так
slinux.iso опять собрался:

-java-11-openjdk@!mipsel,E2K
+java-11-openjdk@!E2K,mipsel

Ну или уже код доработать, чтоб работало и так, и сяк...
(но пока неясно, когда на это опять найдётся внимание)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too
  2021-11-29 16:44     ` Michael Shigorin
@ 2021-11-29 16:49       ` Антон Мидюков
  2021-12-04 15:10         ` Антон Мидюков
  0 siblings, 1 reply; 13+ messages in thread
From: Антон Мидюков @ 2021-11-29 16:49 UTC (permalink / raw)
  To: devel-distro

29.11.2021 23:44, Michael Shigorin пишет:
> On Mon, Nov 22, 2021 at 09:45:16PM +0300, Michael Shigorin wrote:
>> So now we can do:
>>
>>   pkg@!ARCHES1,ARCHES2,arch3,arch4
> 
> Возможно, мне стоит дополнить документацию -- сделал по случаю
> в pkg.in/lists/slinux/misc-base:
> 
> java-11-openjdk@!mipsel,E2K
> 
> и получил на выходе "java-11-openjdk@!"; похоже, сперва надо
> указывать "сборные" архитектуры, затем конкретные, вот так
> slinux.iso опять собрался:
> 
> -java-11-openjdk@!mipsel,E2K
> +java-11-openjdk@!E2K,mipsel
> 
> Ну или уже код доработать, чтоб работало и так, и сяк...
> (но пока неясно, когда на это опять найдётся внимание)
> 

Во как. Погляжу. Это надо бы до релиза исправить, либо отложить твои коммиты
до следующего релиза.

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* Re: [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too
  2021-11-29 16:49       ` Антон Мидюков
@ 2021-12-04 15:10         ` Антон Мидюков
  0 siblings, 0 replies; 13+ messages in thread
From: Антон Мидюков @ 2021-12-04 15:10 UTC (permalink / raw)
  To: devel-distro

29.11.2021 23:49, Антон Мидюков пишет:
> 29.11.2021 23:44, Michael Shigorin пишет:
>> On Mon, Nov 22, 2021 at 09:45:16PM +0300, Michael Shigorin wrote:
>>> So now we can do:
>>>
>>>   pkg@!ARCHES1,ARCHES2,arch3,arch4
>>
>> Возможно, мне стоит дополнить документацию -- сделал по случаю
>> в pkg.in/lists/slinux/misc-base:
>>
>> java-11-openjdk@!mipsel,E2K
>>
>> и получил на выходе "java-11-openjdk@!"; похоже, сперва надо
>> указывать "сборные" архитектуры, затем конкретные, вот так
>> slinux.iso опять собрался:
>>
>> -java-11-openjdk@!mipsel,E2K
>> +java-11-openjdk@!E2K,mipsel
>>
>> Ну или уже код доработать, чтоб работало и так, и сяк...
>> (но пока неясно, когда на это опять найдётся внимание)
>>
> 
> Во как. Погляжу. Это надо бы до релиза исправить, либо отложить твои коммиты
> до следующего релиза.
> 

Долго же я глядел :-)

diff --git a/bin/archdep-filter b/bin/archdep-filter
index 28681e10da..7ed175364a 100755
--- a/bin/archdep-filter
+++ b/bin/archdep-filter
@@ -37,7 +37,7 @@ cat ${f:+"$f"} |
 sed -r  ':loop; s/^((([^@]+@!)[^,]+)+),([a-zA-Z0-9_]+)/\1@!\4/; t loop' |
 sed -r  ':loop; s/^((([^@]+@)[^,]+)+),([a-zA-Z0-9_]+)/\1\n\3\4/; t loop' |
 sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$A\>[^ ]*\>/\1\2/pg" |
-sed -rn "s/\<([^@ ]*)\>|\<[^@ ]*@\!$A\>[^ ]*\> */\1/pg" |
+sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$A\>[^ ]*\> */\1/pg" |
 sed -r  "s/\<([^@ ]*)@IA32\>/\1@i586 i586-\1@x86_64/g" |
 sed -rn "s/\<([^@ ]*)\>|\<([^@ ]*)@$a\>[^ ]*\>/\1\2/pg" |
 sed -rn "s/\<([^@ ]*)\>|\<[^ ]*@\!$a\>[^ ]*\> */\1/pg" |

Лишняя собачка. Наконец-то сообразил сравнить строчки с !$A и !$a.

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

end of thread, other threads:[~2021-12-04 15:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-22 18:24 [devel-distro] архитектуры, java-11-openjdk и LibreOffice* Michael Shigorin
2021-11-22 18:36 ` Антон Мидюков
2021-11-22 18:50   ` Michael Shigorin
2021-11-23 10:20     ` Mikhail Efremov
2021-11-22 18:45 ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Michael Shigorin
2021-11-22 18:45   ` [devel-distro] [PATCH 1/4] bin/archdep-filter: implement multi-matching Michael Shigorin
2021-11-22 18:45   ` [devel-distro] [PATCH 2/4] bin/archdep-filter: implement multi-!matching too Michael Shigorin
2021-11-29 16:44     ` Michael Shigorin
2021-11-29 16:49       ` Антон Мидюков
2021-12-04 15:10         ` Антон Мидюков
2021-11-22 18:45   ` [devel-distro] [PATCH 3/4] bin/archdep-filter: cosmetic cleanups Michael Shigorin
2021-11-22 18:45   ` [devel-distro] [PATCH 4/4] bin/archdep-filter: a debugging note Michael Shigorin
2021-11-29  8:21   ` [devel-distro] [PATCH 0/4] archdep-filter и множественные архитектуры Антон Мидюков

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/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-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

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


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