* 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
[parent not found: <cb710463-0adb-9dab-933f-9b3f746bc229@tehnoetic.com>]
* 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
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).