<div dir="ltr">Hi,<div><br></div><div>I'm starting to use snapcraft and picked squid-deb-proxy as my first victim. This is just the normal squid service with a set of configuration files tailored for deb package caching.</div><div><br></div><div>I'm assuming that the best place for the squid config files is SNAP_DATA, because it's versioned and any rollback will include the configuration files as they were in the previous installed revision. Is that correct?</div><div><br></div><div>My other question is about nested configuration files.</div><div><br></div><div>This particular squid config file includes other config files via absolute paths. In the normal deb package, you will see things like this:</div><div><br></div><div><div>    acl allowed_networks src "/etc/squid-deb-proxy/allowed-networks-src.acl"</div></div><div><br></div><div>Now even if I point squid to the main/parent config file in SNAP_DATA, that absolute path above inside the config won't work because it's ouside SNAP_DATA. So what are my alternatives?</div><div><br></div><div>a) hardcode the path above to use this prefix: /var/snap/squid-deb-proxy/current/. This is just like SNAP_DATA, but using "current" instead of the revision number, so it's stable. The acl line above would be like this, for example:</div><div><br></div><div><div>    acl allowed_networks src "/var/snap/squid-deb-proxy/current/etc/squid-deb-proxy/allowed-networks-src.acl"</div></div><div><br></div><div>Can I use "current" like this, or is that abuse or bad form?<br></div><div><br></div><div><br></div><div>b) use a simple template system and dynamically generate the config file with SNAP_DATA as the prefix before starting the service. I would have something like this in the template file:</div><div><div>    </div><div>    acl allowed_networks src "@PREFIX@/etc/squid-deb-proxy/allowed-networks-src.acl"</div></div><div><br></div><div>And generate the actual config file replacing @PREFIX@ with the contents of SNAP_DATA before starting the service. Is this overkill, or the most elegant solution?</div><div><br></div><div><br></div><div>c) something else I'm missing? I'm very much starting my journey here :)</div><div><br></div><div>Thanks!<br><br></div></div>