From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 7 Oct 2008 17:21:33 +0400 From: Alexey Tourbin To: devel@lists.altlinux.org Message-ID: <20081007132133.GZ6399@altlinux.org> Mail-Followup-To: devel@lists.altlinux.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="r6fxLKBTHCmC166Z" Content-Disposition: inline Subject: [devel] =?koi8-r?b?zMnbzsnFINrB18nTyc3P09TJICotZGV2ZWwg0MHLxdTP?= =?koi8-r?b?1yAobGliWDExKQ==?= 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, 07 Oct 2008 13:21:44 -0000 Archived-At: List-Archive: List-Post: --r6fxLKBTHCmC166Z Content-Type: multipart/mixed; boundary="cJfXB9mphngkt5vq" Content-Disposition: inline --cJfXB9mphngkt5vq Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable libX11.spec: 27 BuildRequires: libXdmcp-devel libXau-devel xorg-xtrans-devel xorg-u= til-macros libxcb-devel 28 =20 29 %description 30 X11 Library 31 =20 32 %package devel 33 Summary: X11 Libraries and Header Files 34 Group: Development/C 35 PreReq: xorg-x11-proto-devel 36 Requires: %name =3D %version-%release libXdmcp-devel libXau-devel l= ibxcb-devel 37 Conflicts: XFree86-devel < 4.4 xorg-x11-devel <=3D 6.9.0 38 =20 39 %description devel 40 %name-devel contains the libraries and header files needed to 41 develop programs which make use of %name. =EE=C5 =D3=CC=C5=C4=D5=C5=D4 =C1=D7=D4=CF=CD=C1=D4=C9=DE=C5=D3=CB=C9 =D0=C5= =D2=C5=CE=CF=D3=C9=D4=D8 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=C9 =C9=DA BuildRequ= ires =D7 Requires =C4=CC=D1 *-devel =D0=C1=CB=C5=D4=C1. =FA=C1=D7=C9=D3=C9=CD= =CF=D3=D4=C9 =CE=C1 =D5=D2=CF=D7=CE=C5 pkgconfig(...) =CF=C2=D9=DE=CE=CF =CF=CB=C1=DA=D9=D7=C1=C0=D4=D3=D1 =C2=CF=CC=C5=C5 =D0=D2= =C1=D7=C9=CC=D8=CE=D9=CD=C9 =C9 =D4=CF=DE=CE=D9=CD=C9. $ rpm -qR libX11-devel |grep ^pkgconfig=20 pkgconfig(kbproto) =20 pkgconfig(xcb) =20 pkgconfig(xproto) =20 $ =E4=D7=C5 =D0=CF=D3=CC=C5=C4=CE=C9=C5 pkgconfig(...) =DA=C1=D7=C9=D3=C9=CD= =CF=D3=D4=C9 =D3=CF=CF=D4=D7=C5=D4=D3=D4=D7=D5=C0=D4 =D0=C1=CB=C5=D4=C1=CD libxcb-devel =C9 xorg-xproto-devel (=D1=D7=CE=D9=C5 =DA=C1=D7=C9=D3=C9=CD= =CF=D3=D4=C9 =C4=CF=C2=C1=D7=CC=C5=CE=D9 =D7=D2=D5=DE=CE=D5=C0). =FA=C1=D7=C9=D3=C9=CD=CF=D3=D4=D8 pkgconfig(kbproto) =C4=CF=D0=CF=CC=CE=C9= =D4=C5=CC=D8=CE=CF =D7=D9=D4=D1=C7=C9=D7=C1=C5=D4 xorg-kbproto-devel (=D7=D2=D5=DE=CE=D5=C0 =CE=C5 =D5=CB=C1=DA=C1=CE). =F0=C1=CB=C5=D4=D9 libXdmcp-devel libXau-devel, =D5=CB=C1=DA=C1=CE=CE=D9=C5= =D7=D2=D5=DE=CE=D5=C0, =CF=CB=C1=DA=D9=D7=C1=C0=D4=D3=D1 =CC=C9=DB=CE=C9= =CD=C9. =EF=CE=C9 =C9=D3=D0=CF=CC=D8=DA=D5=C0=D4=D3=D1 =C4=CC=D1 =D3=C2=CF=D2=CB=C9= libX11 (=D7 BuildRequires), =CE=CF =CE=C5 =D4=D2=C5=C2=D5=C0=D4=D3=D1 =D0=D2=C9 =D3=C2=CF=D2=CB=C5 =C4=D2=D5=C7=C9=C8 =D0=C1=CB=C5=D4=CF=D7 =D3 l= ibX11-devel (=D7 Requires). =F1 =D0=D2=C9=CC=CF=D6=C9=CC =D3=CB=D2=C9=D0=D4 cpp.req, =CB=CF=D4=CF=D2=D9= =CA =D0=CF=DA=D7=CF=CC=D1=C5=D4 =C4=CF=D0=CF=CC=CE=C9=D4=C5=CC=D8=CE=CF =D0= =D2=CF=D7=C5=D2=C9=D4=D8, =CB=C1=CB=C9=C5 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=C9 =D4=D2=C5=C2=D5=C0=D4=D3= =D1 =C4=CC=D1 =C8=C5=C4=C5=D2=CF=D7. $ rpm -ql libX11-devel |grep /usr/include/ |cpp.req -v |sort -u cpp.req: /usr/include/X11/XKBlib.h: /usr/include/X11/Xlib.h -> libX11-devel= (via rpmdb) cpp.req: /usr/include/X11/XKBlib.h: /usr/include/X11/extensions/XKBstr.h ->= xorg-kbproto-devel (via rpmdb) cpp.req: /usr/include/X11/Xcms.h: /usr/include/X11/Xlib.h -> libX11-devel (= via rpmdb) cpp.req: /usr/include/X11/Xlib-xcb.h: /usr/include/xcb/xcb.h -> libxcb-deve= l (via rpmdb) cpp.req: /usr/include/X11/Xlib-xcb.h: /usr/include/X11/Xlib.h -> libX11-dev= el (via rpmdb) cpp.req: /usr/include/X11/Xlib.h: /usr/include/sys/types.h -> glibc-devel (= via rpmdb) cpp.req: /usr/include/X11/Xlib.h: /usr/include/X11/X.h -> xorg-xproto-devel= (via rpmdb) cpp.req: /usr/include/X11/Xlib.h: /usr/include/X11/Xfuncproto.h -> xorg-xpr= oto-devel (via rpmdb) cpp.req: /usr/include/X11/Xlib.h: /usr/include/X11/Xosdefs.h -> xorg-xproto= -devel (via rpmdb) cpp.req: /usr/include/X11/Xlib.h: /usr/lib64/gcc/x86_64-alt-linux/4.1.2/inc= lude/stddef.h -> gcc4.1 (via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/X11/Xlib.h -> libX11-deve= l (via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/X11/Xproto.h -> xorg-xpro= to-devel (via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/X11/XlibConf.h -> libX11-= devel (via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/errno.h -> glibc-devel (v= ia rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/X11/Xfuncs.h -> xorg-xpro= to-devel (via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/include/stdlib.h -> glibc-devel (= via rpmdb) cpp.req: /usr/include/X11/Xlibint.h: /usr/lib64/gcc/x86_64-alt-linux/4.1.2/= include/stddef.h -> gcc4.1 (via rpmdb) cpp.req: /usr/include/X11/Xlocale.h: /usr/include/X11/Xfuncproto.h -> xorg-= xproto-devel (via rpmdb) cpp.req: /usr/include/X11/Xlocale.h: /usr/include/X11/Xosdefs.h -> xorg-xpr= oto-devel (via rpmdb) cpp.req: /usr/include/X11/Xlocale.h: /usr/include/locale.h -> glibc-devel (= via rpmdb) cpp.req: /usr/include/X11/Xresource.h: /usr/include/X11/Xlib.h -> libX11-de= vel (via rpmdb) cpp.req: /usr/include/X11/Xutil.h: /usr/include/X11/Xlib.h -> libX11-devel = (via rpmdb) cpp.req: /usr/include/X11/Xutil.h: /usr/include/X11/keysym.h -> xorg-xproto= -devel (via rpmdb) gcc4.1 glibc-devel libX11-devel libxcb-devel xorg-kbproto-devel xorg-xproto-devel $=20 =FA=C4=C5=D3=D8 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=C9 gcc4.1 =C9 glibc-devel --= =D4=D2=C9=D7=C9=C1=CC=D8=CE=D9=C5, =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=D8 libX11-devel =D3=C1=CD=C1 =CE=C1 =D3=C5=C2=D1 "=CE=C5 =D3=DE=C9=D4=C1=C5=D4= =C1=D3=D1" (=D0=CF=D4=CF=CD=D5 =C4=C5=CC=CF =D0=D2=CF=C9=D3=C8=CF=C4=C9=D4 =D7 =C8=CF=D3=D4-=D3=C9=D3=D4=C5=CD=C5, =C1 =CE=C5 =D7 RPM_BUILD_ROOT). = =EF=D3=D4=C1=D7=DB=C9=C5=D3=D1 =D4=D2=C9 =D3=D5=DD=C5=D3=D4=D7=C5=CE=CE=D9= =C5 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=C9 =D3=CF=CF=D4=D7=C5=D4=D3=D4=D7=D5=C0=D4 = =D5=D6=C5 =C9=CD=C5=C0=DD=C9=CD=D3=D1 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=D1=CD = pkgconfig(...). =FA=CE=C1=DE=C9=D4, =CD=CF=D6=CE=CF =C2=D9=CC=CF =C2=D9 =D7=CF=CF=C2=DD=C5 = =CE=C5 =D0=C9=D3=C1=D4=D8 =D7=D2=D5=DE=CE=D5=C0 =C4=CF=D0=CF=CC=CE=C9=D4=C5= =CC=D8=CE=D9=C5 =DA=C1=D7=C9=D3=C9=CD=CF=D3=D4=C9 =C4=CC=D1 libX11-devel. --cJfXB9mphngkt5vq Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="cpp.req" #!/bin/sh -efu # # Copyright (C) 2008 Alexey Tourbin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. . /usr/lib/rpm/functions . /usr/lib/rpm/find-package [ -n "${RPM_LIBDIR-}" ] || RPM_LIBDIR=`rpm --eval %_libdir` PKG_CONFIG_PATH=$RPM_LIBDIR/pkgconfig:/usr/share/pkgconfig [ -z "${RPM_BUILD_ROOT-}" ] || PKG_CONFIG_PATH=$RPM_BUILD_ROOT$RPM_LIBDIR/pkgconfig:$RPM_BUILD_ROOT/usr/share/pkgconfig:$PKG_CONFIG_PATH export PKG_CONFIG_PATH PkgconfigCflags() { local f="$1"; shift local pc_files if [ -n "${RPM_BUILD_ROOT-}" ]; then pc_files=$(set +f; ls "$RPM_BUILD_ROOT$RPM_LIBDIR/pkgconfig"/*.pc 2>/dev/null ||:) else pc_files=$(rpmquery -f "$f" --list 2>/dev/null | egrep "^$RPM_LIBDIR/pkgconfig/[^/]+[.]pc\$" || [ $? = 1 ]) fi [ -n "$pc_files" ] || return 0 local pc for pc in $pc_files; do pkg-config --enable-recursion --cflags "$pc" || Fatal "$pc: pkg-config failed" done } Cflags() { local f="$1"; shift local cflags cflags=$(PkgconfigCflags "$f") set -- $cflags -I/usr/include -I${f%/*} -I${f%/*/*} -I${f%/*/*/*} local cf for cf; do case $cf in -D?*) echo $cf ;; esac done for cf; do [ -n "${RPM_BUILD_ROOT-}" ] || continue case $cf in -I/*) echo -I$RPM_BUILD_ROOT${cf#-I} ;; esac done for cf; do case $cf in -I/*) echo $cf ;; esac done } cpp= IncludedFiles() { local f="$1"; shift if [ -z "$cpp" ]; then cpp=/usr/bin/${RPM_ARCH:-noarch}-alt-linux-cpp [ -x "$cpp" ] || cpp=/usr/bin/cpp [ -z "${GCC_VERSION-}" ] || cpp=$cpp-$GCC_VERSION Debug "cpp=$cpp" fi cflags=$(Cflags "$f") Debug "$f: cflags:" $cflags if ! out=$("$cpp" -w -x c++ $cflags "$f"); then Warning "$f: cpp failed" return 0 fi echo "$out" |grep '^#' |awk -v prog="$PROG" -v hdr="$f" ' # info cpp "Preprocessor Output" BEGIN { SP = 0 Stack[SP] = hdr } function filename(f) { if (!sub(/^"\//, "/", f) || !sub(/"$/, "", f)) printf "%s: %s: bad path %s\n", prog, hdr, f >"/dev/stderr" return f } function Push(f) { f=filename(f) Stack[++SP]=f if (SP==1) print f } function Pop(f) { f=filename(f) if (f != Stack[--SP]) printf "%s: %s: expected pop %s, got pop %s\n", prog, hdr, Stack[SP], f >"/dev/stderr" } $4==1 { Push($3) } $4==2 { Pop($3) } END { if (SP > 0) printf "%s: %s: non-empty stack, top %s\n", prog, hdr, Stack[SP] >"/dev/stderr" }' } CppReq() { local f="$1"; shift local files files=$(IncludedFiles "$f") [ -n "$files" ] || return 0 local RPM_FINDPACKAGE_HOST_PKG_NAMES=1 local inc echo "$files" |while read -r inc; do FindPackage "$f" "${inc#${RPM_BUILD_ROOT-}}" done } ArgvFileAction CppReq "$@" --cJfXB9mphngkt5vq-- --r6fxLKBTHCmC166Z Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkjrYl0ACgkQfBKgtDjnu0Ys5gCZAZdSzzSjBgJZdkRXsih901mc 5vkAoL4JQGVc7FXIlq7NACbPKOVpLk9n =cWzZ -----END PGP SIGNATURE----- --r6fxLKBTHCmC166Z--