Date: Tue, 22 Apr 2003 20:43:02 -0500 From: "Brandon D. Valentine" <ports@geekpunk.net> To: ports@freebsd.org Cc: "Mezz bsdforums.org" <reigncracks@hotmail.com> Subject: [bug & patch] libstdc++ in linux_base-7.1_3 Message-ID: <20030423014302.GA27748@geekpunk.net> In-Reply-To: <Sea2-F20WPQjeMAs4PJ000115df@hotmail.com> References: <Sea2-F20WPQjeMAs4PJ000115df@hotmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--J2SCkAp4GZ/dPZZf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Summary: This began as a problem report from <reigncracks@hotmail.com> inquiring about my linux-flashplugin6 port's dependency on the Linux libstdc++ shared library. I traced this to a bug in the linux_base-7.1 port. Patch is attached. Feel free to tell me to go file a PR, but this seems like a pretty trivial fix to go to all of that trouble. This is going to -ports since -ports is listed as the MAINTAINER. On Mon, Apr 21, 2003 at 06:19:39PM -0500, Mezz bsdforums.org wrote: > I seem to not able find libstdc++-libc6.2-2.so.3 in the ports tree, but > only can find libstdc++-libc6.1-1.so.2 (linked to > libstdc++-2-libc6.1-1-2.9.0.so) that came with the lastest linux_base. Just > asking, because linux-flash6 required the libstdc++-libc6.2-2.so.3 to make > it works. So, I linked it libstdc++-libc6.2-2.so.3 -> > libstdc++-2-libc6.1-1-2.9.0.so to get linux-flash6 works with the Opera. > > Perhaps, either linux_base or linux-flash6 needs to update to get > linux-flash6 works? > > ================ > $ pkg_info | grep linux > linux-flashplugin-6.0r69 > linux-opera-7.1.0.20030410 > linux_base-7.1_3 > ================ This appears to be the result of a bug introduced into the linux_base port in PORTREVISION 7.1_2. linux_base-7.1 originally installed the RedHat 7.1 libstdc++ RPM (libstdc++-2.96-81.i386.rpm) as a PATCHFILE. In Revision 1.64 of the Makefile the logic to install the PATCHFILES was removed. In the same commit the libstdc++ RPM was moved from the PATCHFILES to the DISTFILES and so no problem manifested at that time. Revision 1.69 of ports/emulators/linux_base/Makefile upgraded the libstdc++ RPM to the RedHat 7.1 update package (libstdc++-2.96-112.7.1.i386.rpm). The upgrade moved libstdc++ back to the PATCHFILES because the RPM was only available in the PATCH_SITE_SUBDIR. Since PORTREVISION 2 the linux_base port has not install the libstdc++ shared library. This is a Bad Thing<tm>. 733 taran:/home/bandix% pkg_info | grep linux_base linux_base-7.1_3 The base set of packages needed in Linux mode 734 taran:/home/bandix% /usr/compat/linux/bin/rpm -qa | grep libstdc++ compat-libstdc++-6.2-2.9.0.14 The libstdc++ file is _fetched_, just not installed: 735 taran:/home/bandix% rpm -qpl /usr/ports/distfiles/rpm/libstdc++-2.96-112.7.1.i386.rpm /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so /usr/lib/libstdc++-libc6.2-2.so.3 The attached patch to the linux_base Makefile bumps PORTREVISION and reverts the change in v1.64 of the Makefile which removed the logic to install the PATCHFILES. Note: It is messy to put the logic to install PATCHFILES inside do-install but there's no way it can go inside of do-patch since during do-patch the RPM database isn't initialized. I assume this is why this was done this way in the original port. Thanks, Brandon D. Valentine -- brandon@dvalentine.com http://www.geekpunk.net Pseudo-Random Googlism: peace is not --J2SCkAp4GZ/dPZZf Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="linux_base.patch" Index: Makefile =================================================================== RCS file: /home/ncvs/ports/emulators/linux_base/Makefile,v retrieving revision 1.73 diff -r1.73 Makefile 10c10 < PORTREVISION= 3 --- > PORTREVISION= 4 146a147,152 > done > # > # Install updates > @for R in ${PATCHFILES}; do \ > ${ECHO} $$R; \ > ${RPM} -U ${RPMFLAGS} ${RPMDIR}/$$R; \ --J2SCkAp4GZ/dPZZf--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030423014302.GA27748>