unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: help-guix@gnu.org,Aniket Patil <aniket112.patil@gmail.com>
Subject: Re: Help with .deb, .rpm and guix packaging.
Date: Fri, 30 Oct 2020 08:10:17 -0400	[thread overview]
Message-ID: <EC7B46E8-D8DC-4E3C-AD85-64C83B682DE2@lepiller.eu> (raw)
In-Reply-To: <CAF-xJgvWCRqXhv8hXhm4C5uJL+bUi1pVMYbvyCX1byNV9F5PPg@mail.gmail.com>



Le 29 octobre 2020 12:34:58 GMT-04:00, Aniket Patil <aniket112.patil@gmail.com> a écrit :
>Hi,
>There are GNU/Linux distros which are Debian-based or fedora(Redhat)
>based
>etc. What I know to my knowledge is GNU packages are .tar packages with
>.deb and .rpm file format, am I right? What I am wondering about how
>guix
>makes it happen? I mean are we bypassing the process of making the
>package
>in .deb and .rpm format and releasing it, or what exactly are we doing?
>To
>my knowledge, we are building from source code as we can see in the
>recipe.
>So that means we are bypassing the process of making packages
>explicitly
>for the distro, aren't we?

Archives of packages are useful for *sharing* an already-built package. If you look at Gentoo for instance, the package manager builds everything from source, so it doesn't need to handle an archive format.

Guix is the same, but has two facets. First, building jocally means you don't need an archive format such as deb or rpm, because you download the sources, build locally, and install directly. If you allow substitutes, guix will download them from a build farm. In that case, the download requires some sort of archive, and we use the nar archive format (same as nix).

In theory, we could use the .deb or .rpm format to share our packages, but they have their own specificities that don't align well with guix assumptions.

The role of Guix is to be a separate package manager. We do not produce .deb or .rpm, but store paths, which are another way of managing packages. When installed on top of a foreign distro, you could say we bypass the system's package manager entirely. This allows us to be independent from the distro and run in any environment, whether it's rpm-based, deb-based, or something else.

>Where can I learn more about this? I am going through guix manual but I
>don't know which chapter to look for. Also, where can I learn more
>about
>packaging software on GNU/Linux distribution? Like .deb or .rpm

Since each distribution uses its own process, you need to look at their respective documentation.

For Guix, the manual is the reference, though it might be confusing because it is quite detailled. If your goal is to understand the internals and how guix installs software, I recommend reading these sections:

http://guix.gnu.org/manual/devel/en/html_node/The-Store.html

http://guix.gnu.org/manual/devel/en/html_node/Derivations.html

http://guix.gnu.org/manual/devel/en/html_node/Substitutes.html#Substitutes

>
>Regards,
>Aniket.


      parent reply	other threads:[~2020-10-30 12:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-29 16:34 Help with .deb, .rpm and guix packaging Aniket Patil
2020-10-29 17:07 ` Ekaitz Zarraga
2020-10-30  7:03 ` Catonano
2020-10-30 12:10 ` Julien Lepiller [this message]

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=EC7B46E8-D8DC-4E3C-AD85-64C83B682DE2@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=aniket112.patil@gmail.com \
    --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.
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).