ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] I: новый libssl7
Date: Sat, 9 Aug 2008 22:38:03 +0400
Message-ID: <20080809183803.GV6814@altlinux.org> (raw)
In-Reply-To: <921f6bb40808090259r2ea9e62ci49cc71ab33e1baa8@mail.gmail.com>


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

On Sat, Aug 09, 2008 at 01:59:24PM +0400, Evgeny Sinelnikov wrote:
> >> > Мне это официально не нравится!
> >> > libssl-devel не должен вытягивать libe2fs-devel.
> >>
> >> Это особенности зависимостей libkrb5-devel:
> >> $ rpm -q --whatrequires libe2fs-devel
> >> libkrb5-devel-1.6.3-alt3
> >> Я пока не разбирался нужны ли они там, но непосредственного отношения
> >> с libssl-devel эта зависимость не имеет.
> >
> > Непосредственного вроде бы и не имеет, а вообще имеет.
> 
> Думаю, что это нужно решать уже в рамках krb5. Сделал для этого #16637.

Пакет libe2fs-devel больше года назад был распилен.
Хедеры krb5 на самом деле требуют только libcom_err-devel.

$ cpp.req -v /usr/include/krb5/**/*.h |sort -u
cpp.req: /usr/include/krb5/gssapi.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi.h: /usr/include/stdint.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi.h: /usr/include/inttypes.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi.h: /usr/lib64/gcc/x86_64-alt-linux/4.1.2/include/stddef.h -> gcc4.1 (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi.h: /usr/include/sys/types.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi_generic.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi_krb5.h: /usr/include/stdint.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi_krb5.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/gssapi_krb5.h: /usr/include/krb5/krb5.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssapi/mechglue.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/auth.h: /usr/include/krb5/gssrpc/xdr.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/auth_gss.h: /usr/include/krb5/gssrpc/rpc.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/auth_gss.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/netdb.h: /usr/include/krb5/gssrpc/types.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/types.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/xdr.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/auth.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/clnt.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/rpc_msg.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/auth_unix.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/auth_gss.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/svc_auth.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/rpc.h: /usr/include/krb5/gssrpc/svc.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/svc.h: /usr/include/krb5/gssrpc/svc_auth.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/svc_auth.h: /usr/include/krb5/gssapi/gssapi.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/sys/types.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/sys/time.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/unistd.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/sys/param.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/netinet/in.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/stdlib.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/lib64/gcc/x86_64-alt-linux/4.1.2/include/limits.h -> gcc4.1 (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/types.h: /usr/include/krb5/gssrpc/rename.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/gssrpc/xdr.h: /usr/include/stdio.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5.h: /usr/include/krb5/krb5/krb5.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/stdlib.h -> glibc-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/lib64/gcc/x86_64-alt-linux/4.1.2/include/limits.h -> gcc4.1 (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/krb5.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
cpp.req: /usr/include/krb5/krb5/locate_plugin.h: /usr/include/krb5/krb5/krb5.h -> libkrb5-devel (via rpmdb)
cpp.req: /usr/include/krb5/profile.h: /usr/include/et/com_err.h -> libcom_err-devel (via rpmdb)
gcc4.1
glibc-devel
libcom_err-devel
libkrb5-devel
$ 

[-- Attachment #1.2: cpp.req --]
[-- Type: text/plain, Size: 2885 bytes --]

#!/bin/sh -efu
#
# Copyright (C) 2008  Alexey Tourbin <at@altlinux.org>
#
# 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 "$@"

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

  reply	other threads:[~2008-08-09 18:38 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 20:56 Evgeny Sinelnikov
2008-08-08 21:00 ` Mikhail Gusarov
2008-08-08 21:06   ` Evgeny Sinelnikov
2008-08-08 21:08     ` Mikhail Gusarov
2008-08-08 21:17       ` Evgeny Sinelnikov
2008-08-09  6:00       ` Alexander Bokovoy
2008-08-09  5:53 ` Alexander Bokovoy
2008-08-09 10:17   ` Evgeny Sinelnikov
2008-08-09 11:06     ` Alexander Bokovoy
2008-08-09 13:59       ` Mikhail Gusarov
2008-08-09 14:06         ` Alexander Bokovoy
2008-08-09 14:25       ` Evgeny Sinelnikov
2008-08-09 14:39         ` Alexander Bokovoy
2008-08-09 17:12           ` Evgeny Sinelnikov
2008-08-18  7:23           ` [devel] [wiki] DevelChanges Michael Shigorin
2008-08-09  8:49 ` [devel] I: новый libssl7 Alexey Tourbin
2008-08-09  9:10   ` Evgeny Sinelnikov
2008-08-09  9:26     ` Alexey Tourbin
2008-08-09  9:59       ` Evgeny Sinelnikov
2008-08-09 18:38         ` Alexey Tourbin [this message]
2008-08-09 17:03 ` Alexey Tourbin
2008-08-09 17:32   ` Evgeny Sinelnikov
2008-08-09 17:36     ` Alexey Tourbin
2008-08-09 17:46       ` Evgeny Sinelnikov
2008-08-09 17:56         ` Alexey Tourbin
2008-08-09 18:01           ` Evgeny Sinelnikov
2008-08-09 18:06             ` Alexey Tourbin
2008-08-09 18:23               ` Sergey Bolshakov
2008-08-09 18:05           ` Led
2008-08-09 18:18             ` Alexey Tourbin
2008-08-09 17:30 ` Alexey Tourbin
2008-08-09 17:40   ` Evgeny Sinelnikov
2008-08-09 17:55     ` Evgeny Sinelnikov
2008-08-09 18:01       ` Alexey Tourbin
2008-08-09 19:31 ` Alexey Tourbin
2008-08-09 21:01   ` Alexey Tourbin
2008-08-09 21:06     ` Evgeny Sinelnikov
2008-08-09 21:09       ` Alexey Tourbin
2008-08-09 21:20         ` Evgeny Sinelnikov
2008-08-09 19:54 ` Alexey Tourbin
2008-08-11 10:05 ` Stanislav Ievlev

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=20080809183803.GV6814@altlinux.org \
    --to=at@altlinux.ru \
    --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