all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: help-guix@gnu.org
Subject: Re: question re. packaging, build, init and shepherd
Date: Thu, 09 May 2019 18:03:21 +0100	[thread overview]
Message-ID: <874l63o90m.fsf@cbaines.net> (raw)
In-Reply-To: <da4f2d08-d20a-6ef1-62ec-fab4377f7d75@meetinghouse.net>

[-- Attachment #1: Type: text/plain, Size: 2608 bytes --]


Miles Fidelman <mfidelman@meetinghouse.net> writes:

> The GUIX documentation is great when it comes to installing GUIX, and
> then installing packaged software.
>
> It's not so clear on how do install software that isn't in the package
> repository - whether by creating a package, or via the classic
> ./configure;make;make install, or if there are tools that can bring
> classically installed software under package management (e.g., the
> Debian alien tool).

I can't really think of a situation where creating a package would be a
bad approach, and the manual does describe this. There's also the
packaging tutorial blog post [1]

1: https://www.gnu.org/software/guix/blog/2018/a-packaging-tutorial-for-guix/

I think there could indeed be a lack of guidance about where do perhaps
deviate from the instructions or common steps for installing software.

Taking the shepherd as an example, the INSTALL file distributed with the
source contains the common: './configure && make && make install'

With a Guix System, that would probably work, at least initially. But
you'd be missing out on some of the advantages Guix packages offer, and
would possibly run in to problems with garbage collection.

As Guix doesn't really have binary packages like Debian, there isn't
really the possibility of a Alien like tool. The dependencies between
the "binary" package forms are very strict, using exact store paths,
which would make generating a package to slot in to a system difficult.

> And then there's the question of init systems:  Until systemd came
> along, ./configure;make;make install generally just works - leaving
> init files in the right places, starting up daemons, etc.
>
> Which leads to the question of, if I want to install something
> complicated in GUIX - say the Sympa list manager (to pick a non-random
> example), which comes with standard sysvinit scripts - can I just
> ./configure;make;make install?  Does Shepherd do the right thing with
> sysvinit scripts?  Can I invoke them through Shepherd (e.g, after a
> config change)?  Can I still edit & invoke the init scripts in the
> classic ways (vi, /etc/init.d/<foo> restart).

The configuration of the shepherd is normally entirely managed through
your Guix operating-system definition. The configuration is generated in
te store, and shepherd looks at that.

This is important as it allows you to boot in to previous generations of
your system, which is useful for recovering the system if things go
wrong.

So, whereas I think things like systemd are aware of sysvinit scripts in
the usual place, the shepherd is completely unaware.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

  reply	other threads:[~2019-05-09 17:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-09 16:07 question re. packaging, build, init and shepherd Miles Fidelman
2019-05-09 17:03 ` Christopher Baines [this message]
2019-05-09 21:22   ` Miles Fidelman
2019-05-10  7:12     ` Giovanni Biscuolo
2019-05-10  7:28     ` Christopher Baines

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

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

  git send-email \
    --in-reply-to=874l63o90m.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=help-guix@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.