unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Dovecot + pigeonhole packaging
@ 2019-08-28 17:11 Alexey Abramov
  2019-08-29  6:01 ` Gábor Boskovits
  0 siblings, 1 reply; 4+ messages in thread
From: Alexey Abramov @ 2019-08-28 17:11 UTC (permalink / raw)
  To: help-guix

Hi guix,


My system requires me to have dovecot and pigeonhole. So I packaged it. I 
created two none public packages and merged them into one big package.


But wouldn't it be better to do it the same way as debian does?Every 
component lives in a separate package, and if I need some library I don't 
have to install the giant package.


The problem I encountered is that dovecot has mail_plugin_dir property 
which does not accept multiple folders. It means I have to put and install 
new plugins in the very same directory with existing plugins. rpath is not 
an option here. Even if a library knows where to load its dependencies, 
dovecot doesn't aware of it.


Is there a way to have shared store folder? Debian overrides  rpath to all 
dovecot extensions and set it to /usr/dovecot/lib.


Or maybe create a dummy package and use it as a storage for the libraries? 
What is the right approach here?


I also checked how nixos does it, and I don't like this approach, they 
patch source code and install their libs in /etc


--
Alexey

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dovecot + pigeonhole packaging
  2019-08-28 17:11 Dovecot + pigeonhole packaging Alexey Abramov
@ 2019-08-29  6:01 ` Gábor Boskovits
  2019-08-30 19:46   ` Alexey Abramov
  0 siblings, 1 reply; 4+ messages in thread
From: Gábor Boskovits @ 2019-08-29  6:01 UTC (permalink / raw)
  To: Alexey Abramov; +Cc: help-guix

Hello Alexey,

Alexey Abramov <levenson@mmer.org> ezt írta (időpont: 2019. aug. 28., Sze,
22:30):

> Hi guix,
>
>
> My system requires me to have dovecot and pigeonhole. So I packaged it. I
> created two none public packages and merged them into one big package.
>

Is this on Guix System?
If yes, then guix system has a dovecot-service:
https://guix.gnu.org/manual/en/html_node/Mail-Services.html
maybe you could have a look at that, and see if it helps.


>
> But wouldn't it be better to do it the same way as debian does?Every
> component lives in a separate package, and if I need some library I don't
> have to install the giant package.
>

In guix packages can be split to multiple outputs. You can also define
separate packages,
but these are less common. Would multiple outputs make sense in this case?
https://guix.gnu.org/manual/en/html_node/Packages-with-Multiple-Outputs.html


>
>
> The problem I encountered is that dovecot has mail_plugin_dir property
> which does not accept multiple folders. It means I have to put and install
> new plugins in the very same directory with existing plugins. rpath is not
> an option here. Even if a library knows where to load its dependencies,
> dovecot doesn't aware of it.
>
>
> Is there a way to have shared store folder? Debian overrides  rpath to all
> dovecot extensions and set it to /usr/dovecot/lib.
>

If dovecot follows symlinks on plugin resoltuion, then the service
configuration
could be extended by a plugins keyword, like it was for postgresql
extensions,
that sets up a symlink is a well known location to the store item of the
package
providing the plugin.


>
> Or maybe create a dummy package and use it as a storage for the libraries?
> What is the right approach here?
>
>
> I also checked how nixos does it, and I don't like this approach, they
> patch source code and install their libs in /etc
>
>
> --
> Alexey
>
>
>
>
Best regards,
g_bor

-- 
OpenPGP Key Fingerprint: 7988:3B9F:7D6A:4DBF:3719:0367:2506:A96C:CF63:0B21

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dovecot + pigeonhole packaging
  2019-08-29  6:01 ` Gábor Boskovits
@ 2019-08-30 19:46   ` Alexey Abramov
  2019-09-01  6:37     ` Gábor Boskovits
  0 siblings, 1 reply; 4+ messages in thread
From: Alexey Abramov @ 2019-08-30 19:46 UTC (permalink / raw)
  To: Gábor Boskovits; +Cc: help-guix

Gábor Boskovits <boskovits@gmail.com> writes:

> Hello Alexey,
>
> Alexey Abramov <levenson@mmer.org> ezt írta (időpont: 2019. aug. 28., Sze,
> 22:30):
>
>> Hi guix,
>>
>>
>> My system requires me to have dovecot and pigeonhole. So I packaged it. I
>> created two none public packages and merged them into one big package.
>>
>
> Is this on Guix System?
> If yes, then guix system has a dovecot-service:
> https://guix.gnu.org/manual/en/html_node/Mail-Services.html
> maybe you could have a look at that, and see if it helps.

Yes, I am migrating my mail server and a working laptop to Guix.

>> But wouldn't it be better to do it the same way as debian does?Every
>> component lives in a separate package, and if I need some library I don't
>> have to install the giant package.
>>
>
> In guix packages can be split to multiple outputs. You can also define
> separate packages,
> but these are less common. Would multiple outputs make sense in this case?
> https://guix.gnu.org/manual/en/html_node/Packages-with-Multiple-Outputs.html
>>
>>
>> The problem I encountered is that dovecot has mail_plugin_dir property
>> which does not accept multiple folders. It means I have to put and install
>> new plugins in the very same directory with existing plugins. rpath is not
>> an option here. Even if a library knows where to load its dependencies,
>> dovecot doesn't aware of it.
>>
>>
>> Is there a way to have shared store folder? Debian overrides  rpath to all
>> dovecot extensions and set it to /usr/dovecot/lib.
>>
>
> If dovecot follows symlinks on plugin resoltuion, then the service
> configuration
> could be extended by a plugins keyword, like it was for postgresql
> extensions,
> that sets up a symlink is a well known location to the store item of the
> package
> providing the plugin.

Thanks for the symlink tip! I am using guix on my laptop as a foreign
distr and was struggle with the path to the lib. I didn't know how to
get that folder. Thanks!

(string-append %current-profile "/lib/dovecot") fixed everything.

--
Alexey

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dovecot + pigeonhole packaging
  2019-08-30 19:46   ` Alexey Abramov
@ 2019-09-01  6:37     ` Gábor Boskovits
  0 siblings, 0 replies; 4+ messages in thread
From: Gábor Boskovits @ 2019-09-01  6:37 UTC (permalink / raw)
  To: Alexey Abramov; +Cc: help-guix

Glad to hear it!

Alexey Abramov <levenson@mmer.org> ezt írta (időpont: 2019. aug. 30., Pén
21:46):

> Gábor Boskovits <boskovits@gmail.com> writes:
>
> > Hello Alexey,
> >
> > Alexey Abramov <levenson@mmer.org> ezt írta (időpont: 2019. aug. 28.,
> Sze,
> > 22:30):
> >
> >> Hi guix,
> >>
> >>
> >> My system requires me to have dovecot and pigeonhole. So I packaged it.
> I
> >> created two none public packages and merged them into one big package.
> >>
> >
> > Is this on Guix System?
> > If yes, then guix system has a dovecot-service:
> > https://guix.gnu.org/manual/en/html_node/Mail-Services.html
> > maybe you could have a look at that, and see if it helps.
>
> Yes, I am migrating my mail server and a working laptop to Guix.
>
> >> But wouldn't it be better to do it the same way as debian does?Every
> >> component lives in a separate package, and if I need some library I
> don't
> >> have to install the giant package.
> >>
> >
> > In guix packages can be split to multiple outputs. You can also define
> > separate packages,
> > but these are less common. Would multiple outputs make sense in this
> case?
> >
> https://guix.gnu.org/manual/en/html_node/Packages-with-Multiple-Outputs.html
> >>
> >>
> >> The problem I encountered is that dovecot has mail_plugin_dir property
> >> which does not accept multiple folders. It means I have to put and
> install
> >> new plugins in the very same directory with existing plugins. rpath is
> not
> >> an option here. Even if a library knows where to load its dependencies,
> >> dovecot doesn't aware of it.
> >>
> >>
> >> Is there a way to have shared store folder? Debian overrides  rpath to
> all
> >> dovecot extensions and set it to /usr/dovecot/lib.
> >>
> >
> > If dovecot follows symlinks on plugin resoltuion, then the service
> > configuration
> > could be extended by a plugins keyword, like it was for postgresql
> > extensions,
> > that sets up a symlink is a well known location to the store item of the
> > package
> > providing the plugin.
>
> Thanks for the symlink tip! I am using guix on my laptop as a foreign
> distr and was struggle with the path to the lib. I didn't know how to
> get that folder. Thanks!
>
> (string-append %current-profile "/lib/dovecot") fixed everything.
>
> --
> Alexey
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-01  6:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-28 17:11 Dovecot + pigeonhole packaging Alexey Abramov
2019-08-29  6:01 ` Gábor Boskovits
2019-08-30 19:46   ` Alexey Abramov
2019-09-01  6:37     ` Gábor Boskovits

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).