ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] Q: mono FTBFS
Date: Wed, 23 Jun 2021 15:23:20 +0300
Message-ID: <20210623122320.GC23626@altlinux.org> (raw)
In-Reply-To: <20210623121721.GB23626@altlinux.org>

On Wed, Jun 23, 2021 at 03:17:21PM +0300, Dmitry V. Levin wrote:
> On Wed, Jun 23, 2021 at 04:11:39PM +0400, Ivan A. Melnikov wrote:
> > On Wed, Jun 23, 2021 at 02:01:37PM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jun 23, 2021 at 01:51:26PM +0300, Aleksei Nikiforov wrote:
> > > > 23.06.2021 13:40, Dmitry V. Levin пишет:
> > > [...]
> > > > > Вешать баг на rpm-build-mono?
> > > > 
> > > > Насколько я вижу, с rpm-build-mono всё в порядке. Лучше на rpm-build. 
> > > > Там сломали и недочинили.
> > > 
> > > Какие есть основания полагать, что rpm-build-mono сломался из-за изменений
> > > в rpm-build, которых не было?
> > 
> > Смотрите как интересно. В логах [1] пишут:
> > 
> > [00:21:46] /usr/lib/rpm/python3.prov: ERROR: rpm-build-python3 is not installed, the following files cannot be processed: /usr/src/tmp/mono-buildroot/usr/bin/mono-gdb.py /usr/src/tmp/mono-buildroot/usr/bin/mono-sgen-gdb.py 
> > [00:21:46] find-provides: ERROR: /usr/lib/rpm/python3.prov failed
> > 
> > И никаких провайдов вида `mono(...)` не находится.
> > 
> > Но если в сборочную среду добавить rpm-build-python3
> > (это я локально в хешере попробовал), то такие зависимости
> > находятся:
> > 
> > $ rpm -qp --provides ~/hasher/repo/x86_64/RPMS.hasher/mono-core-6.12.0.122-alt1.x86_64.rpm | grep ^mono | head -n5
> > mono4-core = 6.12.0.122-alt1
> > mono(Commons.Xml.Relaxng) = 4.0
> > mono(Commons.Xml.Relaxng) = 4.0.0.0
> > mono(CustomMarshalers) = 4.0
> > mono(CustomMarshalers) = 4.0.0.0
> > 
> > Мне это кажется странным. Мне кажется, такие ошибки python3.prov
> > должны или приводить к падению сборки или игнорироваться,
> > а тут происходить что-то третье.
> 
> Этому есть очень простое объяснение, см. лог сборки:
> $ grep -E '^Finding (Provides|Requires) ' beehive/logs/Sisyphus/x86_64/latest/success/mono-6.12.0.122-alt1 |sort |uniq -c 
>      24 Finding Provides (using sh -c '/usr/lib/rpm/find-provides | sort | uniq')
>      24 Finding Requires (using sh -c '/usr/lib/rpm/find-requires | sort | uniq | grep ^... | 
> 
> Другими словами, пакет mono специально игнорирует ошибки,
> которые возвращают find-provides и find-requires.

А ещё в mono.spec написано следующее:

# Interfaces of slightly older versions are required, upstream corrects it by modifying 'Requires'
# TODO: on each upgrade disable and recheck it
%define __find_provides sh -c '/usr/lib/rpm/find-provides | sort | uniq'
%define __find_requires sh -c '/usr/lib/rpm/find-requires | sort | uniq | grep ^... | \
        sed "s/mono\(Microsoft\.Build\.Framework\) = 15\.1/mono\(Microsoft.Build.Framework\) = 14.0/" | \
        sed "s/mono\(Microsoft\.Build\.Tasks\.Core\) = 15\.1\.0\.0/mono\(Microsoft.Build.Tasks.Core\) = 14.0.0.0/" | \
        sed "s/mono\(Microsoft\.Build\.Utilities\.Core\) = 15\.1\.0\.0/mono\(Microsoft.Build.Utilities.Core\) = 14.0.0.0/" | \
        sed "s/mono\(Mono\.Cecil\) = 0\.10\.0\.0/mono\(Mono.Cecil\) = 0.11.0.0/" | \
        sed "s/mono\(System\.Numerics\.Vectors\) = 4\.1/mono\(System.Numerics.Vectors\) = 4.0/" | \
        sed  "/mono\(System\.Buffers\) = .*/d" | \
        sed  "/mono\(System\.Runtime\.Loader\) = .*/d"'

Тому специалисту, который это написал, надо пройти повышение квалификации.
Подсказка #1: автозависимости уже отсортированы с помощью sort -u.
Подсказка #2: %filter_from_requires.


-- 
ldv


      reply	other threads:[~2021-06-23 12:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23  1:35 Dmitry V. Levin
2021-06-23  7:49 ` Aleksei Nikiforov
2021-06-23 10:40   ` Dmitry V. Levin
2021-06-23 10:51     ` Aleksei Nikiforov
2021-06-23 11:01       ` Dmitry V. Levin
2021-06-23 11:15         ` Aleksei Nikiforov
2021-06-23 11:57           ` Dmitry V. Levin
2021-06-23 12:21             ` Aleksei Nikiforov
2021-06-23 12:11         ` Ivan A. Melnikov
2021-06-23 12:17           ` Dmitry V. Levin
2021-06-23 12:23             ` Dmitry V. Levin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210623122320.GC23626@altlinux.org \
    --to=ldv@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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