guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why linux-libre source code is not in sources.json


From: zimoun
Subject: Re: Why linux-libre source code is not in sources.json
Date: Thu, 09 Sep 2021 09:37:54 +0200

Hi,

On Thu, 09 Sep 2021 at 01:46, zimoun <zimon.toutoune@gmail.com> wrote:

> --8<---------------cut here---------------start------------->8---
> scheme@(guix-user)> (package-source linux-libre-headers-5.13)
> $2 = #<origin #<promise #<procedure 7f881c1dd900 at 
> gnu/packages/linux.scm:248:8 ()>> #<content-hash sha256:#f> (#<origin 
> "http://www.fsfla.org/svn/fsfla/software/linux-libre/lemote/gnewsense/branches/3.16/100gnu+freedo.patch";
>  #<content-hash sha256:1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06> 
> () 7f881c1ec840> #<origin 
> "https://salsa.debian.org/kernel-team/linux/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0/debian/patches/bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch";
>  #<content-hash sha256:1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f> 
> () 7f881c1ec7e0> 
> "/gnu/store/yrqr7syxbm4pddzlgc4pwn9wixmpy9xh-guix-module-union/share/guile/site/3.0/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch")
>  7f881c1ec780>
> --8<---------------cut here---------------end--------------->8---
>
> Therefore, the builder of JSON (mainly ’origin->json’) does not consider
> such cases and assume that ’origin-uri’ can be applied.  Well, I will
> try to improve the situation if no one beats me. :-)

Ouch, it appears to me complicated because:

 a) at the package level, what is the source of linux-libre?
 b) this source is the result of some computed-origin-method

Somehow, SWH ingests URLs and no more.  And the current implementation
looks like:

--8<---------------cut here---------------start------------->8---
(define-public linux-libre-5.14-pristine-source
  (let ((version linux-libre-5.14-version)
        (hash (base32 "1iq8s031fviccc4710biwl7gxqdimm3nhlvxd0m3fykvhhmcanq0")))
   (make-linux-libre-source version
                            (%upstream-linux-source version hash)
                            deblob-scripts-5.14)))
--8<---------------cut here---------------end--------------->8---

where ’make-linux-libre-source’ returns a ’computed-origin-method’.  And
the ’origin-uri’ of ’linux-libre-5.14-pristine-source’ is a ’gexp’.
Then inside this ’gexp’, you can read the ’%upstream-linux-source’ URL:

--8<---------------cut here---------------start------------->8---
#<gexp-input native
 #<origin
  #"mirror://kernel.org/linux/kernel/v5.x/linux-5.13.14.tar.xz"
  #<content-hash sha256:06lbjsbr86qa8yai5gfclbfxvcqsw33kxj9b4r93hh6z1wajmx82>
--8<---------------cut here---------------end--------------->8---

and I do not know if it is possible to extract such thing.

Moreover, the ’deblob-scripts-5.14’ is an origin from
’linux-libre-deblob-scripts’ which returns a list of 2 origins.  These 2
URLs do not appear in ’linux-libre-5.14-pristine-source’, for instance.

Therefore, I do not know how to extract the source URLs for the package
’linux-libre-5.14’.


Ideas?

Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]