From owner-freebsd-ports@freebsd.org Fri May 6 23:35:16 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACA58B31CA1 for ; Fri, 6 May 2016 23:35:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 8D1F213A6 for ; Fri, 6 May 2016 23:35:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 88901B31CA0; Fri, 6 May 2016 23:35:16 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85D67B31C9F for ; Fri, 6 May 2016 23:35:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1FFA513A3; Fri, 6 May 2016 23:35:16 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by mail-wm0-x22e.google.com with SMTP id n129so74426339wmn.1; Fri, 06 May 2016 16:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=L4Qp0NQNGs50IBYoRfEJCRWEFow+b1BeSDqiAm/BSyw=; b=Pcg39KOEXoRSO+pUm8AuM4OmPuI2BFNRD92du1p5umRXORkliMXxwqKhhk+VPYfFFe Krl7bpENvTnt+x0f1c4x0QXDtDrmpeLRKpddHscTXslmocBVi3tCO3vfYajGbd06poBq s1hDYhWLgUYurZge1YfYb0OgJH/JnVtH7VVZ6WUfNmFkwWDRyDf1A6AkdmcAcI4horLo fPomdsmphBnE/WXAyvFnhc34OfDPbgpyQ+GWx0rtAc+cHfe+6vtGbrIdsRe6KzYtixY+ 3eHLK/TyqpV8yvSKuCgWf13xga2KHbX7co/a0U3uOAYAEm5o35QHK5Cyr3S8uY1dNGJO GkfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:subject:message-id :mime-version:content-disposition:user-agent; bh=L4Qp0NQNGs50IBYoRfEJCRWEFow+b1BeSDqiAm/BSyw=; b=OQpmxv6txiYdPDTXGt3XwGQ3Y628mHXQ2zWdtU3E17Zv7iWsRDRVg17d/ppRaZm+yj GZO5QtzhwPaynAD2Yn0Ct0qLwrkr0AujJwypO8LJyNqh2CO8fpTxuI7P7xQrbwM1BciD ROwPqm6/z0aQgqj0UFpbThoVzzHzKMtzbqTgwmU8JELpsYgofW3RSIZCRwYUZNmF9ghn 6poOJVeiKfarmioD5I7nrm0vdCBItneaimiyebygv4N/05jW3TvlHeRUjqR/fiTRD0QT EBMn8DxLKmuMzspo646i+54X6hv0s7wkPVTgp7Ytj1KnnyjlnkIkZslYle/jJnlrwRdk QFuw== X-Gm-Message-State: AOPr4FUM0GWnAzO1mUtnGHFRIiNW24HL5ZaUG7VuvWJX/1mwZws8h2gsAEJcIEuIhn0ENg== X-Received: by 10.28.91.17 with SMTP id p17mr178268wmb.86.1462577714762; Fri, 06 May 2016 16:35:14 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id l74sm10783762wmb.15.2016.05.06.16.35.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 May 2016 16:35:14 -0700 (PDT) Sender: Baptiste Daroussin Date: Sat, 7 May 2016 01:35:12 +0200 From: Baptiste Daroussin To: pgsql@FreeBSD.org, girgen@FreeBSD.org, ports@FreeBSD.org Subject: coinstallable version of pgsql (POC) Message-ID: <20160506233512.GC84309@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="JgQwtEuHJzHdouWu" Content-Disposition: inline User-Agent: Mutt/1.6.0 (2016-04-01) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 May 2016 23:35:16 -0000 --JgQwtEuHJzHdouWu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi all, Apparently noone had time to work on making all the version of pgsql coinstallable since we last talked about it Here is a proof of concept done on pg95 which makes it coinstallable: https://people.freebsd.org/~bapt/pgsql95.diff It is unfinished given I have not enough time for that. Basically it keeps the package split as it is now (PoC done on clients, server, contrib and plperl) for server what remains is renaming the rc.d script all binaries are now installed under lib/postgresql95/bin and a symlink in regular bin suffixed by the version number. the rpath from the default built is disabled and replaced with a new one which ensure the order of the rpath is correct (the default one is not in the right order) which ensure the libpq version found in priority is the the right version. using rpath is good here to avoid adding a ldconfig file which would make other programs accidentally find the non default libpq In order to keep the manpages, in category 1 the manpages have been renamed to match the name of the symlinks in the PATH In the 7 category thet have been suffixed with postgresql${version} so one can really have all the manpages for all clients available and clearly state which one correspond to which version the man3 and pkgconfig has been removed as they belong to the libpq package What is missing: create a new postgresql-libq based on latest pg version which is installed in the default lib directory What I forgot here is to add a BUNDLE_LIBS=yes for the solver never to take in accoung libpq.so.5 from those clients Last thing would be to cleanup Mk/Uses/pgsql.mk to allow parallel installation I really hope you like that approach and that someone will be able to finish it soon. That would be really helpful for users to be able to decide which version of pg they want without having to build their own packages. It will also simplify upgrading as at one point one have tools from all version of postgresql available at once. Best regards, Bapt --JgQwtEuHJzHdouWu Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXLSowAAoJEGOJi9zxtz5aN+UQAIwfSVpGDPlLLPlwRnQwjIoy kJ8ADfzqWAw8A4Y0fMJVfPKqPsZkeFO/pIQ09Nm+YtQhOAwrUkZX03ogY+cFAxJb 9uReQUCB9z2NO8nWFaAJFqEFlCnUOLEzHRY8Vlr5TJ2JVJ/3QlE/uQOSwE3/FnIc Y0S8A9qrLx0zDCLwYZr3kpxm/YXq5WEe5dfvqpNx8Gj6vGiaMPkUxxuYb5oMkQ4w nW9Qpzxs6DGtNKNklxu41iKrzYUHjA+69fYSpqOXzXUeowtpzS08el1dAcMyYYEX 3uszUGGSvqNUMLwJPpuX7gUuxuE66XlCqLKLEYm6/0oL3ecy1ATLnkz/y3t2T15T aaqy5FXAvCdg/4pKkvT8qo++Mu4WnBHk+tUIC6fzwvcDluxynm9ytqfSjHCGR02/ Qol+U9U47gZhrC8O4raxO9a94WcqqngOisvw7UYYNwuwEUzyJ90sIgeIu5mKMGUI 835y7YSRa6F6r6DbYgJg2y75z7wD/wI87kNjj8ROFai/7DcICiYdPXDq+RhvjXBD lmFUvX6IS/5fbJj9l1k6bUrcGLx3CrM7HrgVMGETKmZL8jbuTmEFlSexw5jSaqCz kuTcLygxPYAxZLn9A4U66dzZoF/bIfg+sNqK7yYDoM81MpyF5s+mKXctNgOz5JPV 95IPD14YZ3NzNXshjqOa =M/IX -----END PGP SIGNATURE----- --JgQwtEuHJzHdouWu--