all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
@ 2022-07-31 15:29 muradm
  2022-07-31 21:48 ` ( via Guix-patches via
  0 siblings, 1 reply; 11+ messages in thread
From: muradm @ 2022-07-31 15:29 UTC (permalink / raw)
  To: 56858

* gnu/packages/linux.scm (libcgroup): Update to 2.0.2.
[source]: Project migrated to github.
---
 gnu/packages/linux.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 906303175d..bcb2bb284a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8146,15 +8146,15 @@ (define-public fbcat
 (define-public libcgroup
   (package
     (name "libcgroup")
-    (version "0.41")
+    (version "2.0.2")
+    (home-page "https://github.com/libcgroup/libcgroup")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "mirror://sourceforge/libcg/" name "/"
-             version "/" name "-" version ".tar.bz2"))
+       (uri (string-append home-page "/releases/download/v"
+                           version "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "0lgvyq37gq84sk30sg18admxaj0j0p5dq3bl6g74a1ppgvf8pqz4"))))
+        (base32 "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))
@@ -8162,7 +8162,6 @@ (define-public libcgroup
      (list bison flex))
     (inputs
      (list linux-pam))
-    (home-page "https://sourceforge.net/projects/libcg/")
     (synopsis "Control groups management tools")
     (description "Control groups is Linux kernel method for process resource
 restriction, permission handling and more.  This package provides userspace
-- 
2.37.1





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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-07-31 15:29 [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2 muradm
@ 2022-07-31 21:48 ` ( via Guix-patches via
  2022-08-01  5:42   ` muradm
  2022-08-04  5:55   ` [bug#56858] [PATCH] " 宋文武 via Guix-patches via
  0 siblings, 2 replies; 11+ messages in thread
From: ( via Guix-patches via @ 2022-07-31 21:48 UTC (permalink / raw)
  To: muradm, 56858

Hi!

On Sun Jul 31, 2022 at 4:29 PM BST, muradm wrote:
> +    (home-page "https://github.com/libcgroup/libcgroup")
Put home-page under inputs and above synopsis, where it was before.

>         (method url-fetch)
> -       (uri (string-append
> -             "mirror://sourceforge/libcg/" name "/"
> -             version "/" name "-" version ".tar.bz2"))
> +       (uri (string-append home-page "/releases/download/v"
> +                           version "/" name "-" version ".tar.gz"))
Since we're using github now, we likely want to use git-fetch here.
I've been told Github releases are volatile.

    -- (




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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-07-31 21:48 ` ( via Guix-patches via
@ 2022-08-01  5:42   ` muradm
  2022-08-01  9:02     ` ( via Guix-patches via
  2022-08-04  5:55   ` [bug#56858] [PATCH] " 宋文武 via Guix-patches via
  1 sibling, 1 reply; 11+ messages in thread
From: muradm @ 2022-08-01  5:42 UTC (permalink / raw)
  To: (; +Cc: 56858

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


"(" <paren@disroot.org> writes:

> Hi!
>
> On Sun Jul 31, 2022 at 4:29 PM BST, muradm wrote:
>> +    (home-page "https://github.com/libcgroup/libcgroup")
> Put home-page under inputs and above synopsis, where it was 
> before.
>

Is there a guideline where home-page should be? I find it more
DRY when reusing.

>>         (method url-fetch)
>> -       (uri (string-append
>> -             "mirror://sourceforge/libcg/" name "/"
>> -             version "/" name "-" version ".tar.bz2"))
>> +       (uri (string-append home-page "/releases/download/v"
>> +                           version "/" name "-" version 
>> ".tar.gz"))
> Since we're using github now, we likely want to use git-fetch 
> here.
> I've been told Github releases are volatile.
>
>     -- (

Their repo is not suitable for building from, instead
they release sources manually.

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

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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-08-01  5:42   ` muradm
@ 2022-08-01  9:02     ` ( via Guix-patches via
  2022-08-01  9:06       ` ( via Guix-patches via
                         ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: ( via Guix-patches via @ 2022-08-01  9:02 UTC (permalink / raw)
  To: muradm; +Cc: 56858

On Mon Aug 1, 2022 at 6:42 AM BST, muradm wrote:
> Is there a guideline where home-page should be? I find it more
> DRY when reusing.
Almost every package in Guix puts it directly above synopsis, though
you do have a point about DRY.

> Their repo is not suitable for building from, instead
> they release sources manually.
Looks okay to me: <https://github.com/libcgroup/libcgroup/tree/v2.0.2>
But there is a problem with vendoring googletest, it seems. You'll want
to use the system's googletest, and (recursive? #t) in the git-reference
to clone the tests repo. Also, the tarball seems to contain pregenerated
autotools files, which are discouraged by Guix.


    -- (




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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-08-01  9:02     ` ( via Guix-patches via
@ 2022-08-01  9:06       ` ( via Guix-patches via
  2022-08-01 13:13       ` muradm
  2022-08-09 15:37       ` Ludovic Courtès
  2 siblings, 0 replies; 11+ messages in thread
From: ( via Guix-patches via @ 2022-08-01  9:06 UTC (permalink / raw)
  To: (, muradm; +Cc: 56858

On Mon Aug 1, 2022 at 10:02 AM BST, ( via Guix-patches via wrote:
> (recursive? #t) in the git-reference to clone the tests repo.
Alternatively, write an <origin> for the tests repo, then use
that as an input for the libcgroup package.

    -- (




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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-08-01  9:02     ` ( via Guix-patches via
  2022-08-01  9:06       ` ( via Guix-patches via
@ 2022-08-01 13:13       ` muradm
  2022-08-09 15:37       ` Ludovic Courtès
  2 siblings, 0 replies; 11+ messages in thread
From: muradm @ 2022-08-01 13:13 UTC (permalink / raw)
  To: (; +Cc: 56858

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


Previous version was also built from sources.

I didn't find it feasible to battle with bootstraping
for this version either. Tests are very intrusive and/or
containerized with lxc. So yeah, as per their process, there
are tons of things to be done manually from bootstraping.

May be sometime in the future if they will move to more
modern project layout, that could become feasible.

"(" <paren@disroot.org> writes:

> On Mon Aug 1, 2022 at 6:42 AM BST, muradm wrote:
>> Is there a guideline where home-page should be? I find it more
>> DRY when reusing.
> Almost every package in Guix puts it directly above synopsis, 
> though
> you do have a point about DRY.
>
>> Their repo is not suitable for building from, instead
>> they release sources manually.
> Looks okay to me: 
> <https://github.com/libcgroup/libcgroup/tree/v2.0.2>
> But there is a problem with vendoring googletest, it seems. 
> You'll want
> to use the system's googletest, and (recursive? #t) in the 
> git-reference
> to clone the tests repo. Also, the tarball seems to contain 
> pregenerated
> autotools files, which are discouraged by Guix.
>
>
>     -- (


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

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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-07-31 21:48 ` ( via Guix-patches via
  2022-08-01  5:42   ` muradm
@ 2022-08-04  5:55   ` 宋文武 via Guix-patches via
  1 sibling, 0 replies; 11+ messages in thread
From: 宋文武 via Guix-patches via @ 2022-08-04  5:55 UTC (permalink / raw)
  To: (; +Cc: muradm, 56858

"(" <paren@disroot.org> writes:

> Hi!
>
> On Sun Jul 31, 2022 at 4:29 PM BST, muradm wrote:
>> +    (home-page "https://github.com/libcgroup/libcgroup")
> Put home-page under inputs and above synopsis, where it was before.
>
>>         (method url-fetch)
>> -       (uri (string-append
>> -             "mirror://sourceforge/libcg/" name "/"
>> -             version "/" name "-" version ".tar.bz2"))
>> +       (uri (string-append home-page "/releases/download/v"
>> +                           version "/" name "-" version ".tar.gz"))
> Since we're using github now, we likely want to use git-fetch here.
> I've been told Github releases are volatile.

Hello, I believe '/releases' are okay, since they are uploaded manual by
the owner, the unstable ones are under '/archive' which are
auto-generated tarballs for tags.




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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-08-01  9:02     ` ( via Guix-patches via
  2022-08-01  9:06       ` ( via Guix-patches via
  2022-08-01 13:13       ` muradm
@ 2022-08-09 15:37       ` Ludovic Courtès
  2022-08-09 20:29         ` muradm
  2 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2022-08-09 15:37 UTC (permalink / raw)
  To: (; +Cc: muradm, 56858

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

Hi,

"(" <paren@disroot.org> skribis:

> On Mon Aug 1, 2022 at 6:42 AM BST, muradm wrote:
>> Is there a guideline where home-page should be? I find it more
>> DRY when reusing.
> Almost every package in Guix puts it directly above synopsis, though
> you do have a point about DRY.

Yeah IMO it’s a good idea to reuse ‘home-page’ like this patch does.

>> Their repo is not suitable for building from, instead
>> they release sources manually.
> Looks okay to me: <https://github.com/libcgroup/libcgroup/tree/v2.0.2>
> But there is a problem with vendoring googletest, it seems. You'll want
> to use the system's googletest, and (recursive? #t) in the git-reference
> to clone the tests repo. Also, the tarball seems to contain pregenerated
> autotools files, which are discouraged by Guix.

So, first things first.  The priority should be to run tests and remove
the bundled googletest, which I tried with the patch below.

Now, tests won’t run because apparently they try to use ‘sudo’ (!):

--8<---------------cut here---------------start------------->8---
Traceback (most recent call last):
  File "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", line 353, in <module>
    sys.exit(main(config))
  File "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", line 337, in main
    setup(config, record_time=True)
  File "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", line 170, in setup
    Run.run(['sudo', 'lxd', 'init', '--auto'])
  File "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/run.py", line 38, in run
    subproc = subprocess.Popen(command, shell=shell_bool,
  File "/gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'sudo'
FAIL ftests.sh (exit status: 1)
--8<---------------cut here---------------end--------------->8---

Could you check whether they can run at all without root privileges, and
if not, document it in a comment above #:tests? #f?

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1167 bytes --]

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e70d8d1a90..7eb309dfa5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8177,14 +8177,18 @@ (define-public libcgroup
        (uri (string-append home-page "/releases/download/v"
                            version "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))))
+        (base32 "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Delete the bundled copy of googletest, that even includes a .so.
+        '(delete-file-recursively "googletest"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:tests? #f))
+    ;; (arguments
+    ;;  `(#:tests? #f))
     (native-inputs
-     (list bison flex))
+     (list bison flex python-wrapper))
     (inputs
-     (list linux-pam))
+     (list linux-pam googletest))
     (synopsis "Control groups management tools")
     (description "Control groups is Linux kernel method for process resource
 restriction, permission handling and more.  This package provides userspace

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

* [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2.
  2022-08-09 15:37       ` Ludovic Courtès
@ 2022-08-09 20:29         ` muradm
  2022-08-23 21:10           ` [bug#56858] [PATCH v2] " muradm
  0 siblings, 1 reply; 11+ messages in thread
From: muradm @ 2022-08-09 20:29 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: (, 56858

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


Ludovic Courtès <ludo@gnu.org> writes:

> Hi,
>
> "(" <paren@disroot.org> skribis:
>
>> On Mon Aug 1, 2022 at 6:42 AM BST, muradm wrote:
>>> Is there a guideline where home-page should be? I find it more
>>> DRY when reusing.
>> Almost every package in Guix puts it directly above synopsis, 
>> though
>> you do have a point about DRY.
>
> Yeah IMO it’s a good idea to reuse ‘home-page’ like this patch 
> does.
>
>>> Their repo is not suitable for building from, instead
>>> they release sources manually.
>> Looks okay to me: 
>> <https://github.com/libcgroup/libcgroup/tree/v2.0.2>
>> But there is a problem with vendoring googletest, it seems. 
>> You'll want
>> to use the system's googletest, and (recursive? #t) in the 
>> git-reference
>> to clone the tests repo. Also, the tarball seems to contain 
>> pregenerated
>> autotools files, which are discouraged by Guix.
>
> So, first things first.  The priority should be to run tests and 
> remove
> the bundled googletest, which I tried with the patch below.
>
> Now, tests won’t run because apparently they try to use ‘sudo’ 
> (!):
>
> Traceback (most recent call last):
>   File 
>   "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", 
>   line 353, in <module>
>     sys.exit(main(config))
>   File 
>   "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", 
>   line 337, in main
>     setup(config, record_time=True)
>   File 
>   "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/./ftests.py", 
>   line 170, in setup
>     Run.run(['sudo', 'lxd', 'init', '--auto'])
>   File 
>   "/tmp/guix-build-libcgroup-2.0.2.drv-0/libcgroup-2.0.2/tests/ftests/run.py", 
>   line 38, in run
>     subproc = subprocess.Popen(command, shell=shell_bool,
>   File 
>   "/gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/lib/python3.9/subprocess.py", 
>   line 951, in __init__
>     self._execute_child(args, executable, preexec_fn, close_fds,
>   File 
>   "/gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/lib/python3.9/subprocess.py", 
>   line 1821, in _execute_child
>     raise child_exception_type(errno_num, err_msg, err_filename)
> FileNotFoundError: [Errno 2] No such file or directory: 'sudo'
> FAIL ftests.sh (exit status: 1)
>
> Could you check whether they can run at all without root 
> privileges, and
> if not, document it in a comment above #:tests? #f?
unfortunately, tests are executed virtualized with lxc/lxd, while
technically it seems to be possible to execute them, but it will 
require
fixing (but probably rewriting) python test runner code. Possible 
but
not feasible i think.

On the other hand, as far as it is mentioned in their release 
process,
sources release tarball is releaced after tests passing.

;; tests are virtualized with lxc/lxd, it is not very feasible
;; to make them executable under guix build

Will this commend do the work?

> Thanks,
> Ludo’.
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index e70d8d1a90..7eb309dfa5 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -8177,14 +8177,18 @@ (define-public libcgroup
>         (uri (string-append home-page "/releases/download/v"
>                             version "/" name "-" version 
>                             ".tar.gz"))
>         (sha256
> -        (base32 
> "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))))
> +        (base32 
> "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        ;; Delete the bundled copy of googletest, that even 
> includes a .so.
> +        '(delete-file-recursively "googletest"))))
>      (build-system gnu-build-system)
> -    (arguments
> -     `(#:tests? #f))
> +    ;; (arguments
> +    ;;  `(#:tests? #f))
>      (native-inputs
> -     (list bison flex))
> +     (list bison flex python-wrapper))
>      (inputs
> -     (list linux-pam))
> +     (list linux-pam googletest))
>      (synopsis "Control groups management tools")
>      (description "Control groups is Linux kernel method for 
>      process resource
>  restriction, permission handling and more.  This package 
>  provides userspace


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

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

* [bug#56858] [PATCH v2] gnu: libcgroup: Update to 2.0.2.
  2022-08-09 20:29         ` muradm
@ 2022-08-23 21:10           ` muradm
  2022-08-31 10:38             ` bug#56858: " Ludovic Courtès
  0 siblings, 1 reply; 11+ messages in thread
From: muradm @ 2022-08-23 21:10 UTC (permalink / raw)
  To: 56858, ludo; +Cc: paren

* gnu/packages/linux.scm (libcgroup): Update to 2.0.2.
[source]: Project migrated to github.
---
 gnu/packages/linux.scm | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a7d92816a8..6ea26b315c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -63,6 +63,7 @@
 ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
+;;; Copyright © 2022 muradm <mail@muradm.net>
 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -8089,23 +8090,26 @@ (define-public fbcat
 (define-public libcgroup
   (package
     (name "libcgroup")
-    (version "0.41")
+    (version "2.0.2")
+    (home-page "https://github.com/libcgroup/libcgroup")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "mirror://sourceforge/libcg/" name "/"
-             version "/" name "-" version ".tar.bz2"))
+       (uri (string-append home-page "/releases/download/v"
+                           version "/" name "-" version ".tar.gz"))
        (sha256
-        (base32 "0lgvyq37gq84sk30sg18admxaj0j0p5dq3bl6g74a1ppgvf8pqz4"))))
+        (base32 "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))))
     (build-system gnu-build-system)
     (arguments
+     ;; Tests are virtualized with lxc, it is not very feasible
+     ;; to make them executable under guix build. Also, note that
+     ;; origin is using source tarball release which is prepared
+     ;; after testing.
      `(#:tests? #f))
     (native-inputs
      (list bison flex))
     (inputs
      (list linux-pam))
-    (home-page "https://sourceforge.net/projects/libcg/")
     (synopsis "Control groups management tools")
     (description "Control groups is Linux kernel method for process resource
 restriction, permission handling and more.  This package provides userspace
-- 
2.37.1





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

* bug#56858: [PATCH v2] gnu: libcgroup: Update to 2.0.2.
  2022-08-23 21:10           ` [bug#56858] [PATCH v2] " muradm
@ 2022-08-31 10:38             ` Ludovic Courtès
  0 siblings, 0 replies; 11+ messages in thread
From: Ludovic Courtès @ 2022-08-31 10:38 UTC (permalink / raw)
  To: muradm; +Cc: paren, 56858-done

Hi,

muradm <mail@muradm.net> skribis:

> * gnu/packages/linux.scm (libcgroup): Update to 2.0.2.
> [source]: Project migrated to github.

Applied, thanks!

Ludo’.




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

end of thread, other threads:[~2022-08-31 10:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-31 15:29 [bug#56858] [PATCH] gnu: libcgroup: Update to 2.0.2 muradm
2022-07-31 21:48 ` ( via Guix-patches via
2022-08-01  5:42   ` muradm
2022-08-01  9:02     ` ( via Guix-patches via
2022-08-01  9:06       ` ( via Guix-patches via
2022-08-01 13:13       ` muradm
2022-08-09 15:37       ` Ludovic Courtès
2022-08-09 20:29         ` muradm
2022-08-23 21:10           ` [bug#56858] [PATCH v2] " muradm
2022-08-31 10:38             ` bug#56858: " Ludovic Courtès
2022-08-04  5:55   ` [bug#56858] [PATCH] " 宋文武 via Guix-patches via

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.