diff --git a/sys-libs/db/db-4.8.30-r2.ebuild b/sys-libs/db/db-4.8.30-r2.ebuild index 5584a2c..d57cce8 100644 --- a/sys-libs/db/db-4.8.30-r2.ebuild +++ b/sys-libs/db/db-4.8.30-r2.ebuild @@ -28,7 +28,7 @@ done LICENSE="Sleepycat" SLOT="4.8" KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="doc java cxx tcl test" +IUSE="debian-symver doc java cxx tcl test" REQUIRED_USE="test? ( tcl )" @@ -44,6 +44,25 @@ RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" +pkg_pretend() { + if ( has_version "${CATEGORY}/${PN}[-debian-symver(-)]" && use debian-symver ) || \ + ( has_version "${CATEGORY}/${PN}[debian-symver(-)]" && ! use debian-symver ) ; then + ewarn + ewarn "- WARNING - WARNING - WARNING - WARNING - WARNING -" + ewarn "${CATEGORY}/${PN}:${SLOT} USE=debian-symver change detected" + ewarn + ewarn "You are choosing a different symbol versioning scheme due to a" + ewarn "change in the state of USE=debian-symver -- this *will* break" + ewarn "the ABI compared to the current installation, in a way that" + ewarn "@preserved-libs will NOT save you from. Please imediately" + ewarn "rebuild any consumers of ${CATEGORY}/${PN}:${SLOT} after merging" + ewarn "this change. The following can help you with this:" + ewarn + ewarn "revdep-rebuild --library libdb-${SLOT}\.so libdb_cxx-${SLOT}\.so libdbstl-${SLOT}\.so" + ewarn + fi +} + src_prepare() { cd "${WORKDIR}"/"${MY_P}" || die for (( i=1 ; i<=${PATCHNO} ; i++ )) @@ -101,7 +120,14 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then + if use debian-symver ; then + append-ldflags -Wl,--version-script,"${T}"/symver-script + cat >"${T}"/symver-script < + Use DBX_Y symbol versioning in libraries, matching those of debian Enable rpc client/server