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 --]
next prev 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