ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: [SOLVED] arepo и glibc-locales
@ 2010-08-31  8:18 Alexey I. Froloff
  2010-08-31  9:26 ` Денис Смирнов
  0 siblings, 1 reply; 44+ messages in thread
From: Alexey I. Froloff @ 2010-08-31  8:18 UTC (permalink / raw)
  To: ALT Devel discussion list


[-- Attachment #1.1: Type: text/plain, Size: 484 bytes --]

Я нашёл багу в arepo, которая не давала пересобрать glibc-locales
(и другие пакеты с большим поличеством файлов).

Проблема в самодеятельном arepo'вском скрипте find-requires, на
stdin которому отдаётся список файлов.  Если этот список
достаточно большой, скрипт завершается реньше чем rpm успеет
записать все данные в пайп.

Патчи приложены, костыль i586-glibc-locales можно выносить из
сизифа.

-- 
Regards,    --
Sir Raorn.   --- http://thousandsofhate.blogspot.com/

[-- Attachment #1.2: 0001-Do-not-process-non-ELF-s-with-ldd.patch --]
[-- Type: text/plain, Size: 1665 bytes --]

From e6bbf8437cd24d664c3583f7714ef6c450016fd9 Mon Sep 17 00:00:00 2001
From: Alexey I. Froloff <raorn@altlinux.org>
Date: Tue, 31 Aug 2010 12:14:50 +0400
Subject: [PATCH 1/2] Do not process non-ELF's with ldd

Signed-off-by: Alexey I. Froloff <raorn@altlinux.org>
---
 arepo.py |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/arepo.py b/arepo.py
index 2cb7ec8..b41b938 100755
--- a/arepo.py
+++ b/arepo.py
@@ -554,15 +554,21 @@ for file in "$@"; do
             install -d -- "%buildroot$file"
         else
 	    echo === $file
-            list="${list} `ldd "$file"|cut -d '>' -f 2|grep \.so|cut -f 1 -d '('`"
+            case "$(file -L -- "$file")" in
+            'ELF '*' shared object'|'ELF '*' executable')
+                list="${list} `ldd "$file"|cut -d '>' -f 2|grep \.so|cut -f 1 -d '('`"
+                ;;
+            esac
             mkdir -p -- "`dirname %buildroot$file`"
             cp -a -- "$file" "%buildroot$file"
         fi
 done
-list=`for l in $list; do echo $l; done|sort|uniq`
-list=`for l in $list; do rpm -qf --queryformat '%{NAME}\n' $l; done|sort|uniq`
-echo search for $pkg in $list
-for l in $list; do [ $l = $pkg ] && echo skip $l || echo i586-$l >> ${TMP:-/tmp}/${pkg}-requires; done
+if [ -n "$list" ]; then
+    list=`for l in $list; do echo $l; done|sort|uniq`
+    list=`for l in $list; do rpm -qf --queryformat '%{NAME}\n' $l; done|sort|uniq`
+    echo search for $pkg in $list
+    for l in $list; do [ $l = $pkg ] && echo skip $l || echo i586-$l >> ${TMP:-/tmp}/${pkg}-requires; done
+fi
 EOF
 chmod +x install.sh
 
-- 
1.7.1.1


[-- Attachment #1.3: 0002-Swallow-filelist-passed-by-rpm-to-avoid-SIGPIPE.patch --]
[-- Type: text/plain, Size: 648 bytes --]

From bfe1977293b61fb2a88d07377abb172a0d704593 Mon Sep 17 00:00:00 2001
From: Alexey I. Froloff <raorn@altlinux.org>
Date: Tue, 31 Aug 2010 12:15:59 +0400
Subject: [PATCH 2/2] Swallow filelist passed by rpm to avoid SIGPIPE

Signed-off-by: Alexey I. Froloff <raorn@altlinux.org>
---
 arepo.py |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arepo.py b/arepo.py
index b41b938..6f4b605 100755
--- a/arepo.py
+++ b/arepo.py
@@ -594,6 +594,7 @@ chmod +x find-deps.sh
 
 cat >find-requires <<'EOF'
 #!/bin/sh -e
+cat >/dev/null
 pkg=~(pkgname)s
 file=${TMP:-/tmp}/${pkg}-requires
 cat $file
-- 
1.7.1.1


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

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

end of thread, other threads:[~2010-10-13  7:43 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-31  8:18 [devel] I: [SOLVED] arepo и glibc-locales Alexey I. Froloff
2010-08-31  9:26 ` Денис Смирнов
2010-08-31 10:08   ` Alexey I. Froloff
2010-08-31 12:01     ` Денис Смирнов
2010-08-31 12:17       ` Alexey I. Froloff
2010-09-01  1:01         ` Денис Смирнов
2010-09-01  6:39           ` Alexey I. Froloff
2010-09-01  6:54             ` Денис Смирнов
2010-09-01  7:10               ` Alexey I. Froloff
2010-09-01  7:18                 ` Sergey Y. Afonin
2010-09-01  7:19                   ` Alexey I. Froloff
2010-09-01  7:21                     ` Денис Смирнов
2010-09-01  7:37                 ` Slava Semushin
2010-09-01  7:39                   ` Slava Semushin
2010-09-01  7:59                     ` Led
2010-09-01  2:11         ` REAL
2010-09-01  6:42           ` Sergey Y. Afonin
2010-09-01  6:03             ` REAL
2010-09-01  7:13               ` Sergey Y. Afonin
2010-09-01  7:25                 ` Alexey I. Froloff
2010-09-01  7:33                   ` Денис Смирнов
2010-09-01 11:53                     ` Dmitry V. Levin
2010-09-01 15:26                       ` Денис Смирнов
2010-09-01 16:02                         ` Dmitry V. Levin
2010-09-02 20:23                           ` Денис Смирнов
2010-10-11 21:34                             ` Dmitry V. Levin
2010-10-13  7:37                               ` Денис Смирнов
2010-10-13  7:43                                 ` Dmitry V. Levin
2010-09-05 13:40                           ` Vitaly Lipatov
2010-09-05 13:45                             ` Aleksey Novodvorsky
2010-09-05 13:53                               ` Dmitry V. Levin
2010-09-05 14:16                                 ` Alexey I. Froloff
2010-09-05 14:20                                   ` Dmitry V. Levin
2010-09-05 17:18                                     ` Kirill A. Shutemov
2010-09-05 17:22                                       ` Dmitry V. Levin
2010-09-06 21:15                                         ` [devel] glibc-locales Dmitry V. Levin
2010-09-07  8:51                                         ` [devel] [JT] Re: I: [SOLVED] arepo и glibc-locales Michael Shigorin
2010-09-01  1:02         ` [devel] " Денис Смирнов
2010-09-01  8:11         ` Ildar Mulyukov
2010-09-01 11:44           ` Dmitry V. Levin
2010-09-01 11:56             ` Ildar Mulyukov
2010-09-01 13:34         ` Sergey Vlasov
2010-09-01 13:40           ` Alexey I. Froloff
2010-09-01 17:50             ` Sergey Vlasov

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