From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.62) (envelope-from ) id 1Gyet9-0000VO-7n for garchives@archives.gentoo.org; Mon, 25 Dec 2006 01:44:27 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.8/8.13.8) with SMTP id kBP1fFL9019667; Mon, 25 Dec 2006 01:41:15 GMT Received: from s15216962.onlinehome-server.info (s15216962.onlinehome-server.info [217.160.22.205]) by robin.gentoo.org (8.13.8/8.13.8) with ESMTP id kBP1ct1g024903 for ; Mon, 25 Dec 2006 01:39:00 GMT Received: (from uucp@localhost) by s15216962.onlinehome-server.info (8.13.3/8.13.3/SuSE Linux 0.7) with UUCP id kBP1cjmh008267 for gentoo-user@lists.gentoo.org; Mon, 25 Dec 2006 02:38:45 +0100 Received: (from weigelt@localhost) by nibiru.metux.de (8.12.10/8.12.10) id kBP1blep006209 for gentoo-user@lists.gentoo.org; Mon, 25 Dec 2006 02:37:47 +0100 Date: Mon, 25 Dec 2006 02:37:47 +0100 From: Enrico Weigelt To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Wrong dependencies to postgresql Message-ID: <20061225013747.GA26946@nibiru.local> References: <20061223225446.GA19428@nibiru.local> <200612241154.54159.bss03@volumehost.net> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@gentoo.org Reply-to: gentoo-user@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="n8g4imXOkfNTN/H1" Content-Disposition: inline In-Reply-To: <200612241154.54159.bss03@volumehost.net> User-Agent: Mutt/1.4.1i X-Terror: bin laden, kill bush, Briefbombe, Massenvernichtung, KZ, X-Nazi: Weisse Rasse, Hitlers Wiederauferstehung, 42, X-Antichrist: weg mit schaeuble, ausrotten, heiliger krieg, al quaida, X-Killer: 23, endloesung, Weltuntergang, X-Doof: wer das liest ist doof X-Archives-Salt: 25d8c693-3bce-4af6-85d6-c29e76cc48c7 X-Archives-Hash: 3bd6bededf953b877e64d3103320c6b8 --n8g4imXOkfNTN/H1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline * Boyd Stephen Smith Jr. wrote: Hi, > Jakub is pretty bugzilla savvy, are you sure you bugs weren't > closed for valid reasons? well, after some discussion @ gentoo-dev, it's now a little bit clearer: The bugs are not completely valid yet (but soon will be), since libpq (<=8.0.8) is still buggy/incomplete (missing pg_config), so some packages may still need postgresql for building (not runtime). I supplied fixed ebuild to the -dev, but they told me they don't see what I'm fixing ;-o Well, this issue is actually fixed in 8.0.9 (IMHO not completely stabelized yet, but soon), while introducing another, even worse at the same time: libpq-8.0.9 doesn't wanna play w/ postgresql<=8.0.8, but postgresql-8.0.9 wants exactly libpq-8.0.9. So there's no clean way to solve this. Someone @ b.g.o suggested completely removing postgres+libpq and installing afresh, but that's an absolutely no-go for production systems (IMHO). Disabling deps for upgrade should work, but is unclean. My fixed ebuild should fit into the gap by adding pg_config to libpq (overwriting the one from postgresql) and changing the postgresql ebuild to be satisfied w/ this libpq version. > Sometime he does jump the gun though, Not only at me ? Some bit salving ;-) > Bugzilla is *the only* official channel to get bugs reported > so that the developers will fix them. If you don't report your > bugs, you'll just have to wait for someone else to report or > the developers to "accidentally" fix the bug while working on > something else. I'll simply do it by myself. I have to maintain my own overlay nevertheless. Maybe I could drop a note to -user if perhaps anyone's interested in my stuff. But I had to learn filing bugs and talking @ -dev are just a waste my (rare+expensive) time. > > Lots of packages have an wrong/unnecessary dependency to > > postgresql. > > I don't doubt it. It's generally better to depend on too much > rather than too little, and once things are "working" it's hard > to get someone to "fix" it and run the risk of breaking it further. Wouldn't be such an problem w/ really cleanroom builds + tests from the first place. Seems, Gentoo isn't made for that. > > Three cases: > > > > a) probably traditionally depended on the whole postgresql, maybe > > since before libpq was an own package. ie. qt, dovecot, ... > > Have you confirmed these actually compile just against libpg? I'm still in the process. The lack of automatic cleanroom builds requires me to install an minimal jail before each build. (most of my gentoo systems actually have postgresql server running) > > b) many apps (ie. webapps like bugzilla) have postgresql as dep., > > although they do not need it to be installed. (ie. bugzilla does > > not have to do anything directly w/ postgresql, since it uses > > perl-DBD for database access). Of course they maybe want to > > have access to some postgres database, but this obviously does > > not need an local server. > > Are you sure this isn't bringing in postgresql to satisfy some virtual? Which virtual should it be ? And why ? > In all cases, you've confirmed that the dependency is direct and not > USE flag controlled? Of course, it is controlled by the postgresql useflag. But that doesn't make it better. Bugzilla does not need an local postgres server. And I didn't find any sign that it needs pg_config, so this current libpq bug also shouldn't be an issue. cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service - http://www.metux.de/ --------------------------------------------------------------------- Please visit the OpenSource QM Taskforce: http://wiki.metux.de/public/OpenSource_QM_Taskforce Patches / Fixes for a lot dozens of packages in dozens of versions: http://patches.metux.de/ --------------------------------------------------------------------- --n8g4imXOkfNTN/H1 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="libpq-8.0.8-r1.ebuild" # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-db/libpq/libpq-8.0.8-r2.ebuild,v 1.12 2006/07/30 22:32:28 chtekk Exp $ inherit eutils gnuconfig flag-o-matic toolchain-funcs DESCRIPTION="Libraries of postgresql" HOMEPAGE="http://www.postgresql.org/" MY_P="postgresql-${PV}" SRC_URI="mirror://postgresql/source/v${PV}/postgresql-base-${PV}.tar.bz2" LICENSE="POSTGRESQL" SLOT="4" KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86" IUSE="ssl nls pam readline zlib kerberos" #pg-hier" S=${WORKDIR}/${MY_P} DEPEND="virtual/libc sys-devel/autoconf >=sys-libs/ncurses-5.2 >=sys-devel/bison-1.875 zlib? ( >=sys-libs/zlib-1.1.3 ) pam? ( virtual/pam ) readline? ( >=sys-libs/readline-4.1 ) ssl? ( >=dev-libs/openssl-0.9.6-r1 ) nls? ( sys-devel/gettext ) kerberos? ( virtual/krb5 )" RDEPEND="virtual/libc zlib? ( >=sys-libs/zlib-1.1.3 ) ssl? ( >=dev-libs/openssl-0.9.6-r1 ) kerberos? ( virtual/krb5 )" MAKEOPTS="${MAKEOPTS} -j1" pkg_preinst() { # removing wrong symlink which is created by previous ebuild. if [ -L /usr/include/libpq ]; then rm /usr/include/libpq fi } src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}/${P}-gentoo.patch" } src_compile() { filter-flags -ffast-math -feliminate-dwarf2-dups local myconf use ssl && myconf="$myconf --with-openssl" use nls && myconf="$myconf --enable-nls" use pam && myconf="$myconf --with-pam" use readline || myconf="$myconf --without-readline" use zlib || myconf="$myconf --without-zlib" use kerberos && myconf="$myconf --with-krb5" # these are the only working CFLAGS I could get on ppc, so locking them # down, anything more aggressive fails (i.e. -mcpu or -Ox) # Gerk - Nov 26, 2002 use ppc && CFLAGS="-pipe -fsigned-char" # Detect mips systems properly gnuconfig_update ./configure --prefix=/usr \ --include=/usr/include/postgresql/libpq-${SLOT} \ --mandir=/usr/share/man \ --host=${CHOST} \ --with-docdir=/usr/share/doc/${PF} \ --libdir=/usr/$(get_libdir) \ --enable-depend \ $myconf || die cd ${S}/src/interfaces/libpq emake LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die cd "${S}/src/bin/pg_config" || die "could not cd to pg_config" emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "emake pg_config failed" } src_install() { cd ${S}/src/interfaces/libpq make DESTDIR=${D} LIBDIR=${D}/usr/$(get_libdir) install || die cd ${S}/src/include make DESTDIR=${D} install || die cd ${S} dodoc README HISTORY COPYRIGHT INSTALL dosym libpq-${SLOT}.a /usr/$(get_libdir)/libpq.a for f in ${D}/usr/include/postgresql/libpq-${SLOT}/*.h do dosym postgresql/libpq-${SLOT}/$(basename $f) /usr/include/ done dodir /usr/include/libpq for f in ${D}/usr/include/postgresql/libpq-${SLOT}/libpq/*.h do dosym ../postgresql/libpq-${SLOT}/libpq/$(basename $f) /usr/include/libpq/ done cd ${D}/usr/include/postgresql/libpq-${SLOT} for f in $(find * -name '*.h' -print) ; do destdir=$(dirname $f) if [ ! -d "${D}/usr/include/postgresql/${destdir}" ]; then dodir /usr/include/postgresql/${destdir} fi dosym /usr/include/postgresql/libpq-${SLOT}/${f} /usr/include/postgresql/${destdir}/ done cd "${S}/src/bin/pg_config" emake DESTDIR="${D}" install || die "emake install pg_config failed" } --n8g4imXOkfNTN/H1-- -- gentoo-user@gentoo.org mailing list