unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Help with .deb, .rpm and guix packaging.
@ 2020-10-29 16:34 Aniket Patil
  2020-10-29 17:07 ` Ekaitz Zarraga
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Aniket Patil @ 2020-10-29 16:34 UTC (permalink / raw)
  To: help-guix

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?

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

Regards,
Aniket.

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

* Re: Help with .deb, .rpm and guix packaging.
  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
  2 siblings, 0 replies; 4+ messages in thread
From: Ekaitz Zarraga @ 2020-10-29 17:07 UTC (permalink / raw)
  To: Aniket Patil; +Cc: help-guix

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, October 29, 2020 5:34 PM, Aniket Patil <aniket112.patil@gmail.com> wrote:

> 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?
>
> 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
>
> Regards,
> Aniket.

Hi Aniket,

In the distros you mention, software is pre-compiled and the .tar packages
have a directory structure that defines where do the packaged files need
to be installed. Those packages don't define how the software has to be
compiled and they don't include the sources.

Guix is not bypassing those systems: Guix is one of those systems. Guix is
a package manager.

The main difference is that Guix describes how is the source compiled and
installed in a recipe. When the user installs a package using:

guix install packagename

The package sources are downloaded, compiled and installed in the system,
following the recipe.

Guix also has ways to keep packages separated to avoid dependency collisions,
ad-hoc environments, time traveling, package installation history with a
reasonable rollback system... and some other interesting features.

Guix is also a software distribution built on top of the Guix package manager
that extends those interesting tools further and defines a uniform way to
describe your operating system.

Hope this helps.

If you have further questions, don't hesitate to ask them.

Regards,
Ekaitz


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

* Re: Help with .deb, .rpm and guix packaging.
  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
  2 siblings, 0 replies; 4+ messages in thread
From: Catonano @ 2020-10-30  7:03 UTC (permalink / raw)
  To: Aniket Patil; +Cc: help-guix

Hi Aniket,

Il giorno gio 29 ott 2020 alle ore 17:35 Aniket Patil <
aniket112.patil@gmail.com> ha scritto:

> 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?
>
>
Ehm, I think you're not right, no

Software packages don't need to be expressed as files (.deb, .tar, .rmp or
any other format)

That's a convention, not a necessity

mainstream Linux distributions adopt such a convention

Others do not

As an analogy, If you say that packages are .deb files, it's as if you're
saying that a document is the paper it's printed on

So what would be the relationship between a file representing such document
and the papers that can be printed by it ?

Some will say that the hand signed paper is "the document"

Others will say that the LibreOffice file is the document


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,


Guix doesn't release .deb or .rpm files for packages, no

but that's not "bypassing"

As long as distributing the file for a document is not bypassing the
distribution of printed copies


> 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?
>

Guix is ensuring that that the binary bits belonging to a package (produced
by compilig its source code) it runs are the same on everymachine that
built
 the source with the same Guix recipe

And that's as an explicit producton of packages as I can think of

The idea that if there are no .deb files than the process is not explicit
is, in my opinion, not correct


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

The manual doesn't mention files and file formats because it doesn't assume
that software packages and files are identified

Binary files are a support, as paper id for documents

But the packages exist independently of supports (as documents do)

Hope this helps

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

* Re: Help with .deb, .rpm and guix packaging.
  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
  2 siblings, 0 replies; 4+ messages in thread
From: Julien Lepiller @ 2020-10-30 12:10 UTC (permalink / raw)
  To: help-guix, Aniket Patil



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.


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

end of thread, other threads:[~2020-10-30 12:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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

unofficial mirror of help-guix@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-user/0 guix-user/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-user guix-user/ https://yhetil.org/guix-user \
		help-guix@gnu.org
	public-inbox-index guix-user

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.user
	nntp://news.gmane.io/gmane.comp.gnu.guix.user


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git