On 13 December 2016 at 02:27, Ivan Lezhnjov IV <i...@commandprompt.com> wrote:
> Hi, > > I’m working on pgbouncer snap package and as I’m new to snaps I wanted to > ask the community what is the current preferred way to install a program’s > configuration files that are meant to be edited by users? > > For example, pgbouncer has a couple of files: pgbouncer.ini and > userlist.txt. Both normally located under /etc/pgbouncer. > > As users need to be able to modify various settings in pgbouncer.ini it > has to be under $SNAP_USER_DATA/etc/pgbouncer/. > > I use a standalone wrapper script that initializes some filesystem paths, > creates empty log files, etc. which is all required by pgbouncer and is > never created by the program itself, where I essentially do this: > > [ -e "$CNF_DIR/pgbouncer.ini" ] || cp $SNAP/etc/pgbouncer/pgbouncer.ini > $CNF_DIR/pgbouncer.ini > > As you can see I first dump pgbouncer.ini to $SNAP/etc/pgbouncer/ and then > attempt to copy it to $CNF_DIR, which expands to > $SNAP_USER_DATA/etc/pgbouncer. > > However, this doesn’t work as $SNAP/etc/pgbouncer/pgbouncer.ini is owned > by root and when the wrapper script is run as a normal user it cannot read > the $SNAP/etc/pgbouncer/pgbouncer.ini file (permission denied). > I think the only problem here is that $SNAP/etc/pgbouncer/pgbouncer.ini was not world readable when snapped. Maybe a umask issue, or you need to explicitly set the permissions on this template file. > I might be one step close to getting this to work but I was wondering what > is the common/recommended practice to do what I’m trying to achieve here? I used the same approach you did, and got it building locally and working ( https://code.launchpad.net/~stub/+git/pgbouncer-snap/+ref/master , please steal freely if there is anything useful there ). I haven't published it anywhere because I thought there was a reasonable chance you would be looking at it :) Also, I'm holding out hope that we can run non-root daemons sooner rather than later since pgbouncer is another app that refuses to run as root. I wasn't looking forward to documenting how to manually install systemd service definitions :) -- Stuart Bishop <stuart.bis...@canonical.com>
-- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft