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] forcing arch/noarch
Date: Mon, 28 Dec 2009 03:44:40 +0300
Message-ID: <20091228004439.GA27650@wo.int.altlinux.org> (raw)
In-Reply-To: <20091227015352.GJ9864@altlinux.org>

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

On Sun, Dec 27, 2009 at 04:53:52AM +0300, Alexey Tourbin wrote:
> On Sun, Dec 27, 2009 at 04:09:38AM +0300, Dmitry V. Levin wrote:
[...]
> > The proposed patchset introduces two new restrictions:
> > 1. Packages that mustn't be noarch because of essential payload
> >    mismatch on different architectures.
> 
> Furthermore, /usr/share part of arch-dependent packages is treated
> the same way as noarch packages.

Yes, and this might be a problem for packagers.
For example, eclipse-ecj isn't a noarch package but
/usr/share/java/eclipse-ecj-3.4.1.jar symlink points to
%_libdir/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_3.4.2.v_883_R34x.jar
That is, the whole package needs to be reworked.  This task might be quite
complicated because /usr/share/java/ecj.jar is referenced by other
packages.  I'm not sure that we are ready for this restriction yet.

> This is how you can detect binaries under /usr/share/doc.

Yes, but there are other methods to implement such a detection.

> > 2. Packages that must be noarch because their payload is essentially
> >    the same on different architectures.
> > 
> > The only drawback of the first restriction is that the proposed
> > implementation fails to filter out non-essential differences, e.g.
> > timestamps and random html reference names.  That is, in its current
> > form it would stop some grave packaging bugs, but also it would forbid
> > some legal noarch packages.
> 
> This depends on how you define "legal".  At an extreme, it is best to
> require full md5 match for both noarch packages and /usr/share part of
> arch packages.  However, we need to omit mtime.  This might not be easy
> since some files can include mtime (e.g. *.jar files) but otherwise have
> identical contents (and in case of *.jar files, mtime is not even part
> of the "contents").

I'd say that noarch packages built on different platforms are equivalent
if one could be substituted with another without changing behaviour.

For example, different timestamps are OK if nothing depends on them.
Even different file names are probably OK if they behave the same way
and if they aren't referenced by other packages (it would be hard to
prove that they aren't referenced, though).

> So we simply can't require full md5 match before we can handle *.jar
> files.  So, for now, to use file(1) seems to be the right thing to do.

Timestamps are sometimes included in file(1) output.  The first hunk from
your usr-share.gz demonstrates this:

-/usr/share/doc/SNNS-Manual-4.2/UserManual.dvi	100644	TeX DVI file (TeX output 2009.10.08:2318\213
+/usr/share/doc/SNNS-Manual-4.2/UserManual.dvi	100644	TeX DVI file (TeX output 2009.10.08:2317\213

> > The second restriction was reported to have a major impact on packages
> > because it affects about 600 source packages, and changing rules to
> > break so many packages due to optimization purposes doesn't look good.
> > Some ideas to avoid extra dumb work for packages were proposed later,
> > but no implementation have been arisen yet.
> > Also, the implementation in its current form may mistakenly decide that
> > packages have to be noarch while they really shouldn't, e.g. cpuburn.
> > 
> > That is, I'd be glad to make these restrictions taken effect when these
> > three issues are dealt with.
> 
> So "the three issues" are:
> 1a) Different filenames in noarch packages - to me, illegal.
> And that's not new.  Only treating /usr/share the same way is new.
> 1b) Non-essential differences between files - we use only file magic
> instead of full md5 match (also, fixed gzip magic to exclude mtime).

TeX DVI file magic needs similar fix.

> 2) Too many packages will fail to pass the girar.

Yes.

> 3) False noarch due to i586 running on x86_64.

I believe these false positives could be dealt with.
For example, packages with exclusivearch/excludearch shouldn't be forced
to noarch.

> I guess we can agree upon downgrading to warnings.  But warnings
> don't work as good as errors.  How many times you think you've seen
> the warning about /usr/share/doc/liboil-0.3.16 ?

Yes, warnings are almost of no use.  In particular, too little attention
is being paid to repocop warnings.  But vast number of new errors is not
good, too.


-- 
ldv

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

  parent reply	other threads:[~2009-12-28  0:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-21 23:36 ` [devel] noarch and /usr/share (packages/aptitude: tags/0.4.5-alt5) Alexey Tourbin
2009-12-22  8:05   ` Alexey Tourbin
2009-12-22 12:12     ` Michael Shigorin
2009-12-22 17:57       ` Alexey Tourbin
2009-12-23 12:00         ` Michael Shigorin
2009-12-23 18:48           ` Alexey Tourbin
2009-12-22 18:18     ` [devel] forced noarch Dmitry V. Levin
2009-12-22 18:54       ` Alexey Tourbin
2009-12-22 19:02         ` Damir Shayhutdinov
2009-12-22 19:06           ` Alexey Tourbin
2009-12-23 14:17         ` Kirill A. Shutemov
2009-12-23 19:19           ` Alexey Tourbin
2009-12-23 20:33             ` Kirill A. Shutemov
2009-12-23 21:23               ` Alexey Tourbin
2009-12-23  0:49       ` [devel] packages with non-identical /usr/share Alexey Tourbin
2009-12-23 11:57         ` Michael Shigorin
2009-12-23  2:11       ` [devel] forced noarch Alexey Tourbin
2009-12-23 11:12         ` Dmitry V. Levin
2009-12-23 12:38           ` Damir Shayhutdinov
2009-12-23 12:47             ` Michael Shigorin
2009-12-23 13:11             ` Dmitry V. Levin
2009-12-23 13:17               ` Damir Shayhutdinov
2009-12-23 13:52                 ` Dmitry V. Levin
2009-12-23 20:11           ` Alexey Tourbin
2009-12-23 22:30             ` Alexey Tourbin
2009-12-24  0:26               ` Alexey Tourbin
2009-12-27  1:09     ` [devel] forcing arch/noarch Dmitry V. Levin
2009-12-27  1:53       ` Alexey Tourbin
2009-12-27  9:50         ` Денис Смирнов
2009-12-28  0:44         ` Dmitry V. Levin [this message]
2009-12-28 17:23         ` [devel] suggesting arch/noarch Michael Shigorin
2009-12-29  0:47           ` Alexey Tourbin

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=20091228004439.GA27650@wo.int.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