Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#45090 - [pgbouncer] does not require postgresql as dependency

Attached to Project: Arch Linux
Opened by Charles (char101) - Tuesday, 26 May 2015, 04:18 GMT
Last edited by Dan McGee (toofishes) - Sunday, 21 February 2016, 03:57 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Dan McGee (toofishes)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Currently since version >1.5.4-5 pgbouncer has postgresql as dependency, but pgbouncer does not need postgresql to run. Pgbouncer is a proxy to postgresql where the postgresql database may reside in another server. It does not even use libpq. I prefer not having to install postgresql (which is rather a large package) just to have pgbouncer run.


Additional info:
* >1.5.4-5


Steps to reproduce:
~ # pacman -Qi pgbouncer
Name : pgbouncer
Version : 1.5.4-5
Description : A lightweight connection pooler for PostgreSQL
Architecture : x86_64
URL : http://pgfoundry.org/projects/pgbouncer
Licenses : BSD
Groups : None
Provides : None
Depends On : libevent>=2.0

~ # pacman -Si pgbouncer
Repository : extra
Name : pgbouncer
Version : 1.5.5-1
Description : A lightweight connection pooler for PostgreSQL
Architecture : x86_64
URL : https://wiki.postgresql.org/wiki/PgBouncer
Licenses : BSD
Groups : None
Provides : None
Depends On : libevent>=2.0 postgresql

~ # pacman -Ql pgbouncer | grep bin
pgbouncer /usr/bin/
pgbouncer /usr/bin/pgbouncer

~ # ldd /usr/bin/pgbouncer
linux-vdso.so.1 (0x00007ffcb63f0000)
libevent-2.0.so.5 => /usr/lib/libevent-2.0.so.5 (0x00007f19ce9c2000)
libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f19ce78b000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f19ce3e8000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f19ce1cb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f19cec0b000)
This task depends upon

Closed by  Dan McGee (toofishes)
Sunday, 21 February 2016, 03:57 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed in 1.7.1-1.
Comment by Dan McGee (toofishes) - Tuesday, 26 May 2015, 12:18 GMT
It has this dependency for the users and groups from the postgresql package; it isn't a library or binary dependency. This might be able to be cleaned up if we use persistent users and group IDs.
Comment by Charles (char101) - Wednesday, 27 May 2015, 00:59 GMT
I was wrong about the version, postgresql was added as a dependency in 1.5.4-3 (https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/pgbouncer&id=4e1739d4e23aaf2e38f86ad86aa50ab582daf178). I rebuilt the package without dependency to posgresql.

The change that requires postgresql as far as I can see is this line: "gpasswd -a pgbouncer postgres". But since pgbouncer can run in a different host than the postgresql server, I think we cannot assume that there is a postgres user/group in the host that pgbouncer is running. Also I do not see why pgbouncer has to be in the postgres group.
Comment by Jan de Groot (JGC) - Thursday, 28 May 2015, 10:57 GMT
If the user creation is the only dependency, why not add that to pgbouncer aswel? Packages should never remove users/groups so there's no reason for such a dependency just because of the adduser/addgroup lines from post_install().

Loading...