From owner-freebsd-ports@freebsd.org Fri Dec 30 00:47:14 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 EA4B0C97A9A for ; Fri, 30 Dec 2016 00:47:14 +0000 (UTC) (envelope-from munro@penski.net) Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::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 C04651BD5 for ; Fri, 30 Dec 2016 00:47:14 +0000 (UTC) (envelope-from munro@penski.net) Received: by mail-io0-x22e.google.com with SMTP id d9so363127562ioe.0 for ; Thu, 29 Dec 2016 16:47:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=penski-net.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:from:date:message-id:subject:to; bh=mePLxCpox3m15kjvratH/hoHwpZJl89djy4jwWbYIrg=; b=A0u3oJkbOJjrMqkz1NPGtJwKynpDZWwUJSLUbOTjCjhBCjqHOZcdiAs3gXxzdx6Sqr JfDfZme61wZbDb4Aory5MwY9GLeGpYna5T7DLGmSoNEl/YUKpBPDEpS9nfF/4MBqLHP2 SZ4u9hIwQjc4BVJ4ypZKEoMF4EGV7YvSxNvWpuXo1b88qdOYE0RVToCy2tWiqnpmR4o4 FJlYSQQuzfX/KuBgKtL3y9g4Gt4RgMRu/pV3s7XwDU9f8+0PMKrtItjbN3kxFt6kTygW I/FW7hHgwj9D/AFFbvNwQ2e/GJHTCi3fAcplp4vUp1cJGObHA8jySx7H254TrYSMJ1GN 3Wag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=mePLxCpox3m15kjvratH/hoHwpZJl89djy4jwWbYIrg=; b=QTphBsiPOuERgv9cRrwyhSeNCOVCoIqN8pS4ZHB5OGWvSt//jSs9r8CsUvyepKshfG IJePd9Cc9R8fX9R8jidCNkuHJYKVtOUZI8ziLZsGF/HlFJMUaAnqp09L8FZOAo8oC7KT YvUtdtvjRvSV53DP0jnmV7ZcyxZicxsHbE1eP6VvfQgoudyiQ95C16PJ+pPh9riktw5G ZjG1un1U0m/lZdiQ50tsV2JcmvwDqIXYhK3aIa+Mqh8rQMQph04crAfggWm47lFYQ9mz /0hoTnWuBENIsLrwYMn+fyWq/FWloWHM+PBuiYRdcOEiIEBFpHb+ZQIG4s4Gi0hz7Y4T xxFA== X-Gm-Message-State: AIkVDXLR+1UhGY//TdNJakSqv3YaQjdVK3e/Z0K1gRSZxPPlfv7LcbHFG6mXdLOfqNU8rokUs7vCs9lTvDOMzg== X-Received: by 10.107.3.168 with SMTP id e40mr31689035ioi.89.1483058833874; Thu, 29 Dec 2016 16:47:13 -0800 (PST) MIME-Version: 1.0 Sender: munro@penski.net Received: by 10.36.76.15 with HTTP; Thu, 29 Dec 2016 16:47:13 -0800 (PST) X-Originating-IP: [222.152.193.73] From: Thomas Munro Date: Fri, 30 Dec 2016 13:47:13 +1300 X-Google-Sender-Auth: 8TsmWrOmfIC6UgiHDcDXxAXYZuY Message-ID: Subject: PostgreSQL package versioning suggestion To: freebsd-ports@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Dec 2016 00:47:15 -0000 Hi, I have run into two problems with the current PostgreSQL ports when installed via pkg, which make PostgreSQL significantly less convenient on FreeBSD than on other software distributions: 1. You can't install more than one major version at a time. This is somewhat inconvenient not only for upgrades of single database clusters, but also for simultaneously running different clusters at different versions on different upgrade schedules. The packaging on other popular systems allows this and it's a popular feature. 2. Other packages such as py27-psycopg2 (the leading Python client library for talking to PosgreSQL) depend on a specific major version, currently 9.3. That means that if you're using Python to talk to PostgreSQL installed via pkg, you can't upgrade to PostgreSQL 9.6, you have to stick with 9.3. I understand that the second problem can be solved by not using pkg. But I really want to use pkg, and I suspect other people migrating from systems like Debian would like to as well. Would it be possible to make the port for PostgreSQL 10 (the next version after 9.6 due late 2017, note that a number has been dropped from the versioning scheme) install into a versioned location, and not conflict with other major versions? For example it could install binaries into /usr/local/lib/postgres10/bin/... (or some more FreeBSDesque path scheme, I have no opinion on those details). Then going forward new majors releases would not conflict with each other. It doesn't matter so much (to me at least) if py27-psycopg2 still depends on the old 9.3 client, just as long as it doesn't force me to uninstall newer major releases of the database server. Apologies if someone's already addressing these problem, I wasn't sure where to look. Thanks for reading, Thomas Munro