unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org>
To: Andy Tai <atai@atai.org>
Cc: guix-devel@gnu.org
Subject: Re: package definition question: installation into system directory
Date: Fri, 23 Jun 2023 13:24:06 -0700	[thread overview]
Message-ID: <CAFHYt56VURjWObdoZue9zMWdn4YaDPkJ2z3fbqBbzb7qO+kqhw@mail.gmail.com> (raw)
In-Reply-To: <CAJsg1E8ePgMT9J2cABUA0NYySMjq=jQH7W+MB5XXABWkVhwz3g@mail.gmail.com>

Hi Andy,

On Fri, Jun 23, 2023 at 11:44 AM Andy Tai <atai@atai.org> wrote:
>
> Hi, I was trying to create a package definition for xrdp.
>
> cannot create directory ‘/etc/xrdp’: Permission denied

Installation paths must be located inside the output folder. The paths
always point into the store.

> make[3]: *** [Makefile:690: install-dist_sesmansysconfDATA] Error 1

You should be able to override the installation prefix at configure
time. It will affect Automake's sysconfdir, which is probably at issue
here. [1]

(It may even work at 'make' time but I do not recommend It.)

I believe the preferred way to override the installation prefix in
Guix is via something like

(arguments
  (list
    #: configure-flags (list (string-append "--prefix=" output)))).

> it was trying to install (some PAM related file) into /etc
> which fails.  Curious how should such scenario be handled?

The PAM-related file belongs into the package output. That makes it
available for potential use. Users of your package can then include it
in their system config via the PAM facilities in Guix System.

An example for pam_limits can be seen here [3] except you probably
want to use absolute paths to the PAM data. I suggested it for
pam_limits in this patch [4] but it has not yet been accepted. Instead
of the linux-pam package users of your package would refer to xrdp.

Kind regards & please have a good weekend!
Felix

[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
[2] https://guix.gnu.org/en/manual/devel/en/guix.html#index-gnu_002dbuild_002dsystem
[3] https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/base.scm#n1604
[4] https://issues.guix.gnu.org/63383#3


  reply	other threads:[~2023-06-23 20:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-23 18:43 package definition question: installation into system directory Andy Tai
2023-06-23 20:24 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-23 17:56 Andy Tai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFHYt56VURjWObdoZue9zMWdn4YaDPkJ2z3fbqBbzb7qO+kqhw@mail.gmail.com \
    --to=guix-devel@gnu.org \
    --cc=atai@atai.org \
    --cc=felix.lechner@lease-up.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).