From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 19 Aug 2008 17:27:26 +0400 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20080819132726.GA618@altlinux.org> Mail-Followup-To: ALT Linux Team development discussions References: <200808191609.41963.shrek@altlinux.ru> <20080819130648.GZ618@altlinux.org> <20080819131057.GL5500@osdn.org.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="RUvhGz2nhX7DIu1B" Content-Disposition: inline In-Reply-To: <20080819131057.GL5500@osdn.org.ua> Subject: Re: [devel] =?koi8-r?b?xsHKzM/X2cUg2sHXydPJzc/T1MkgzsEg0sHTy9LZ1NnF?= =?koi8-r?b?IMHM2NTF0s7B1MnX2Q==?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Aug 2008 13:27:27 -0000 Archived-At: List-Archive: List-Post: --RUvhGz2nhX7DIu1B Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Aug 19, 2008 at 04:10:57PM +0300, Michael Shigorin wrote: > On Tue, Aug 19, 2008 at 05:06:49PM +0400, Alexey Tourbin wrote: > > =EB=C1=D6=C4=D9=CA =CB=CF=CD=D0=CF=CE=C5=CE=D4 =D0=D5=D4=C9 =D0=D2=CF= =C2=C9=D7=C1=C5=D4=D3=D1 =CE=C1 =D0=D2=C5=C4=CD=C5=D4 =C1=CC=D8=D4=C5=D2=CE= =C1=D4=C9=D7 -- =D3=CD. > > /usr/lib/rpm/find-package >=20 > readlink =D0=D5=D4=D8 | grep ^/etc/alternatives > ? =E4=C1, =D4=CF=CC=D8=CB=CF =C9=C4=C5=D1 =C4=CF=D7=C5=C4=C5=CE=C1 =C4=CF =CC= =CF=C7=C9=DE=C5=D3=CB=CF=C7=CF =CB=CF=CE=C3=C1. *=EB=C1=D6=C4=D9=CA* =CB=CF=CD=D0=CF=CE=C5=CE=D4 =D0=D5=D4=C9 =D0=D2=CF=C2= =C9=D7=C1=C5=D4=D3=D1 =CE=C1 =D0=D2=C5=C4=CD=C5=D4 =C1=CC=D8=D4=C5=D2=CE=C1= =D4=C9=D7. /usr/lib/rpm/find-package 154 # Is it an alternative? Path components can be alternatives, too. 155 local p=3D"$rep" alt_break=3D alt xalt xrep 156 xrep=3D$(readlink -vm "$rep") 157 while [ -n "$p" ]; do 158 # Check each path component whether it is an alternative. =D7=CF=D4 =CF=CE =DC=D4=CF=D4 readlink: 159 if [ -L "$p" ] && readlink -v "$p" |grep -qs '^/etc/alternatives/'= ; then 160 alt=3D$(CanonPath "$p") 161 Verbose "$f: $rep -> $p -> $alt (alternative)" 162 printf '%s\n' "$alt" 163 # Now we have to decide if this alternative should eventually 164 # prevent final $rep dependency resolution. 165 xalt=3D$(readlink -vm "$p") 166 case "$xrep" in 167 "$xalt") 168 # alternative and $rep are more or less the same 169 alt_break=3D1 ;; 170 "$xalt"/*) 171 # $rep is under alternative dir, too bad 172 Info "$f: alternative $alt prevents $rep dependency resolution" 173 alt_break=3D1 ;; 174 esac 175 fi 176 p=3D${p%/*} 177 done 178 [ -z "$alt_break" ] || return 0 179 unset p alt_break alt xalt xrep ||: =EB=CF=C4 =D7=D9=C7=CC=D1=C4=C9=D4 =D0=D2=C1=D7=C9=CC=D8=CE=CF =CB=C1=CB = =D3=D7=D1=D4=CF=CA =CF=D4=C5=C3 =D0=C1=D0=C1 =D2=C9=CD=D3=CB=C9=CA, =CF=C4= =CE=C1=CB=CF =D6=C5, =D3=D5=CB=C9=CE =D3=D9=CE, =D0=CF=C4=D7=C5=D2=D6=C5=CE =D4=C1=CA=CE=D9=CD = =D0=D2=C5=C7=D2=C5=DB=C5=CE=C9=D1=CD. =F7=CF=D4 =D0=D2=C9=CD=C5=D2 =D4=CF=C7=CF, =DE=D4=CF =CF=CE =CD=CF=D6=C5=D4= =D2=C1=C2=CF=D4=C1=D4=D8 =D0=D2=C1=D7=C9=CC=D8=CE=CF. $ ls -l /usr/share/design-current/gnome/splash/gnome-splash.png -rw-r--r-- 1 root root 76260 Oct 4 2002 /usr/share/design-current/gnome/s= plash/gnome-splash.png $ sh -c '. /usr/lib/rpm/find-package; FindPackage /some/symlink /usr/share/= design-current/gnome/splash/gnome-splash.png' /usr/share/design-current sh: /some/symlink: alternative /usr/share/design-current prevents /usr/shar= e/design-current/gnome/splash/gnome-splash.png dependency resolution $=20 =F0=CF=D1=D7=C9=CC=C1=D3=D8, =CB=C1=CB =C9 =D4=D2=C5=C2=CF=D7=C1=CC=CF=D3= =D8, =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=D8 =CE=C1 =C1=CC=D8=D4=C5=D2=CE=C1=D4= =C9=D7=CE=D9=CA =CB=C1=D4=C1=CC=CF=C7 /usr/share/design-current. =E1 =D7=CF=D4 =D0=D2=C9=CD=C5=D2, =DE=D4=CF =CF=CE =CD=CF=D6=C5=D4 =D3=C2= =C9=D4=D8=D3=D1 =D3 =C9=D3=D4=C9=CE=CE=CF=C7=CF =D0=D5=D4=C9 -- =C4=CF=D3= =D4=C1=D4=CF=DE=CE=CF =D7=CD=C5=D3=D4=CF /usr/share/design-current/gnome/splash/gnome-splash.png =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1=D4=D8 =D0=D5=D4=D8 /usr/share/foo/bar/../../design-current/gnome/splash/gnome-splash.png $ sh -c '. /usr/lib/rpm/find-package; FindPackage /some/symlink /usr/share/= foo/bar/../../design-current/gnome/splash/gnome-splash.png' design-graphics-sisyphus $ =EF=D0=C1, =D0=D2=C9 "=CE=C5=D5=C4=C1=DE=CE=CF=CD" =D5=CB=C1=DA=C1=CE=C9=C9= =D0=D5=D4=C9 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=D8 =D2=C1=D3=CB=D2=D9=CC=C1=D3= =D8 =D7 =D4=C5=CB=D5=DD=D5=C0 =C1=CC=D8=D4=C5=D2=CE=C1=D4=C9=D7=D5. --RUvhGz2nhX7DIu1B Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkiqyj4ACgkQfBKgtDjnu0YKzQCgy8wJ1EmfZ1pWTzIIjwm9je0l FowAoKG5HDmRKIUoP8ObG/aj9abBLm87 =7bUk -----END PGP SIGNATURE----- --RUvhGz2nhX7DIu1B--