all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* All source code for GuixSD system
@ 2017-05-15 12:11 Dima Ursu
  2017-05-16  9:50 ` Efraim Flashner
  0 siblings, 1 reply; 7+ messages in thread
From: Dima Ursu @ 2017-05-15 12:11 UTC (permalink / raw)
  To: help-guix

Hello,

I'm Dima from Technoethical, and I'm stuck at getting some source code.

We want to ship laptops preinstalled with GuixSD as well, and we want to
include the sources corresponding to all the binaries present in the
GuixSD system we ship.

The plan was this:

1. find a list of the installed software;
$ guix package --list-installed --profile=/run/current-system/profile
$ guix package --list-installed
--profile=/var/guix/profiles/per-user/root/guix-profile

2. download the sources;
$ guix build -S <package-name>

3. copy them in the home folder;

However, at step 1 I noticed that only the packages installed by us are
there. There is no package for linux-libre, for example.
How do I get a list of the base packages, the ones shipped with the
GuixSD installation image?

Thank you,
Dima

-- 
Free Software Activist
Engineer @ Tehnoetic
https://tehnoetic.com

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

* Re: All source code for GuixSD system
  2017-05-15 12:11 All source code for GuixSD system Dima Ursu
@ 2017-05-16  9:50 ` Efraim Flashner
  2017-05-16 19:46   ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Efraim Flashner @ 2017-05-16  9:50 UTC (permalink / raw)
  To: Dima Ursu; +Cc: help-guix

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

On Mon, May 15, 2017 at 03:11:12PM +0300, Dima Ursu wrote:
> Hello,
> 
> I'm Dima from Technoethical, and I'm stuck at getting some source code.
> 
> We want to ship laptops preinstalled with GuixSD as well, and we want to
> include the sources corresponding to all the binaries present in the
> GuixSD system we ship.
> 
> The plan was this:
> 
> 1. find a list of the installed software;
> $ guix package --list-installed --profile=/run/current-system/profile
> $ guix package --list-installed
> --profile=/var/guix/profiles/per-user/root/guix-profile
> 
> 2. download the sources;
> $ guix build -S <package-name>
> 
> 3. copy them in the home folder;
> 
> However, at step 1 I noticed that only the packages installed by us are
> there. There is no package for linux-libre, for example.
> How do I get a list of the base packages, the ones shipped with the
> GuixSD installation image?
> 
> Thank you,
> Dima
> 
> -- 
> Free Software Activist
> Engineer @ Tehnoetic
> https://tehnoetic.com
> 

guix build <package-name> --sources=transitive will download all the
sources required to build from the bootstrap binaries to the package(s)
named.

I'm not sure how to do the same for the install image though.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

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

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

* Re: All source code for GuixSD system
  2017-05-16  9:50 ` Efraim Flashner
@ 2017-05-16 19:46   ` Ludovic Courtès
  2017-05-16 20:06     ` Tiberiu
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-16 19:46 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: help-guix

Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

> guix build <package-name> --sources=transitive will download all the
> sources required to build from the bootstrap binaries to the package(s)
> named.
>
> I'm not sure how to do the same for the install image though.

Currently there’s no tool to do that for GuixSD proper, though in
practice the command above should get you close to that.  It would be
interesting to develop something like a “guix system sources” command.

Having GuixSD preinstalled on hardware sold by Technoethic would be
sweet, Dima!

Thanks,
Ludo’.

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

* Re: All source code for GuixSD system
  2017-05-16 19:46   ` Ludovic Courtès
@ 2017-05-16 20:06     ` Tiberiu
  2017-05-16 20:11       ` Fox
  2017-05-16 21:03       ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Tiberiu @ 2017-05-16 20:06 UTC (permalink / raw)
  To: Ludovic Courtès, help-guix

On 16.05.2017 22:46, Ludovic Courtès wrote:
> Currently there’s no tool to do that for GuixSD proper, though in
> practice the command above should get you close to that.  It would be
> interesting to develop something like a “guix system sources” command.

How many binaries are there in GuixSD proper and how would you suggest
we get their sources manually? I imagine some of them also have some
patches applied, so looking on the web for the sources with the exact
same version probably won't cut it.

How is GuixSD proper built? Maybe we can take a look at what sources you
use for compiling the base system and get those sources (with any
patches that need to be applied as well).

> Having GuixSD preinstalled on hardware sold by Technoethical would be
> sweet, Dima!

GuixSD is a wonderful free system and we thank you for your help!

Tiberiu

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

* Re: All source code for GuixSD system
  2017-05-16 20:06     ` Tiberiu
@ 2017-05-16 20:11       ` Fox
  2017-05-16 21:03       ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Fox @ 2017-05-16 20:11 UTC (permalink / raw)
  To: help-guix

On 16.05.2017 22:06, Tiberiu wrote:

> GuixSD is a wonderful free system and we thank you for your help!

I could not agree more!

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

* Re: All source code for GuixSD system
  2017-05-16 20:06     ` Tiberiu
  2017-05-16 20:11       ` Fox
@ 2017-05-16 21:03       ` Ludovic Courtès
       [not found]         ` <cb710463-0adb-9dab-933f-9b3f746bc229@tehnoetic.com>
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-16 21:03 UTC (permalink / raw)
  To: Tiberiu; +Cc: help-guix

Hi Tiberiu,

Tiberiu <tiberiu@tehnoetic.com> skribis:

> On 16.05.2017 22:46, Ludovic Courtès wrote:
>> Currently there’s no tool to do that for GuixSD proper, though in
>> practice the command above should get you close to that.  It would be
>> interesting to develop something like a “guix system sources” command.
>
> How many binaries are there in GuixSD proper and how would you suggest
> we get their sources manually? I imagine some of them also have some
> patches applied, so looking on the web for the sources with the exact
> same version probably won't cut it.
>
> How is GuixSD proper built? Maybe we can take a look at what sources you
> use for compiling the base system and get those sources (with any
> patches that need to be applied as well).

If you run:

  guix gc -R $(readlink -f /run/current-system)

on a GuixSD system, that’ll list all the “things” the system itself
references.  Some of these things are configuration files, but many
others are the actual packages.

A rough approach would be to run something along these lines:

  guix build --sources=transitive \
    $(guix gc -R $(readlink -f /run/current-system) | \
      grep -e '-[0-9.]\+$' | \
      sed -'es,/gnu/store/.\{32\}-\(.*\)-\([0-9.]\+\)$,\1@\2,g')

It requires a bit more work, but if everything goes well, this would add
all the source of the packages the system depends on to /gnu/store.

At that point, the user can just run:

  guix build -S PACKAGE

which will return the /gnu/store file name of the source for PACKAGE
without having to download it.

HTH,
Ludo’.

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

* Re: All source code for GuixSD system
       [not found]         ` <cb710463-0adb-9dab-933f-9b3f746bc229@tehnoetic.com>
@ 2017-05-19 15:39           ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-19 15:39 UTC (permalink / raw)
  To: Dima Ursu; +Cc: help-guix

Hello Dima,

(+Cc: help-guix)

Dima Ursu <dima@tehnoetic.com> skribis:

> On 05/17/2017 12:03 AM, Ludovic Courtès wrote:

[...]

>> If you run:
>>
>>   guix gc -R $(readlink -f /run/current-system)
>>
>> on a GuixSD system, that’ll list all the “things” the system itself
>> references.  Some of these things are configuration files, but many
>> others are the actual packages.
>
> Thanks, Ludo, that's what I was looking for!
>
>> A rough approach would be to run something along these lines:
>>
>>   guix build --sources=transitive \
>>     $(guix gc -R $(readlink -f /run/current-system) | \
>>       grep -e '-[0-9.]\+$' | \
>>       sed -'es,/gnu/store/.\{32\}-\(.*\)-\([0-9.]\+\)$,\1@\2,g')
>
> I've run this in several stages, and it seems that  grep -e '-[0-9.]\+$'
> is a bit too aggressive - some packages that I think are valid are
> excluded, like:
> tz-data
> mutter
> libjpeg-9b
> libcdio-paranoia
> xf86-video-intel
>
> They either have some letters at the end, or not have a version at all.
> I wonder if the "--sources=transitive" would take care of them and pull
> them anyway, but there's no obvious way to be sure of that.

Yeah, I guess you could fine-tune the regexp as a first step.

> There are some .scm files, which I assume are already in the source
> version, but correct me if I'm wrong.

Yes, these are just copied from Guix proper to /gnu/store.

> Some of the reported packages confuse me, like boot, fstab, profile,
> raw-initrd, system - and they won't even build - guix just reports them
> as "unknown package". Should I bother at all with them?

These are non-package byproducts used by the system (everything ‘guix
system’ and other tools build goes to /gnu/store, including
configuration files, the initrd, and so on.)  It’s safe to ignore them.

HTH,
Ludo’.

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

end of thread, other threads:[~2017-05-19 15:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-15 12:11 All source code for GuixSD system Dima Ursu
2017-05-16  9:50 ` Efraim Flashner
2017-05-16 19:46   ` Ludovic Courtès
2017-05-16 20:06     ` Tiberiu
2017-05-16 20:11       ` Fox
2017-05-16 21:03       ` Ludovic Courtès
     [not found]         ` <cb710463-0adb-9dab-933f-9b3f746bc229@tehnoetic.com>
2017-05-19 15:39           ` Ludovic Courtès

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.