[PATCH] gnu: skopeo: Update to 1.15.0.

  • Done
  • quality assurance status badge
Details
3 participants
  • Z572
  • Christopher Baines
  • Tomas Volf
Owner
unassigned
Submitted by
Tomas Volf
Severity
normal
T
T
Tomas Volf wrote on 31 Mar 23:05 +0200
(address . guix-patches@gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
071ced8c13ed07991da93082180cad133fe393aa.1711919102.git.~@wolfsden.cz
The package is also converted to gnu-build-system in order to take advantage
of already existing Makefile instead of reinventing (parts) of it in Guile.

* gnu/packages/virtualization.scm (skopeo)[version]: Update to 1.15.0.
[build-system]: Use gnu-build-system.
[native-inputs]: Add go-1.21, sort.
[inputs]: Add bash-minimal.
[arguments]<#:import-path, #:install-source?>: Delete.
<#:make-flags, #:test-target, #:imported-modules>: New arguments.
<#:phases>{'configure}: Delete.
{'set-env, 'cc-to-gcc, 'wrap-skopeo, 'remove-go-references}: New phases.

Change-Id: I1010e1f4fbdc093646c2879bdf30125ab2e88bdd
---
This commit updates the skopeo, and also converts it to use
gnu-build-system. Both is done in one commit, since 1.15 did not
built just by straight-forward update, and due to the intended rewrite
the time spent debugging that would be wasted.

This (gnu-build-system) matches how podman and buildah are done in #70112
bringing all github.com/containers/* projects on the same model.

gnu/packages/virtualization.scm | 80 ++++++++++++++++++++++-----------
1 file changed, 54 insertions(+), 26 deletions(-)

Toggle diff (114 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 251fe00aa0..60f43c19cf 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -151,6 +151,7 @@ (define-module (gnu packages virtualization)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (guix modules)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -2257,7 +2258,7 @@ (define-public umoci
(define-public skopeo
(package
(name "skopeo")
- (version "1.2.3")
+ (version "1.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2266,12 +2267,15 @@ (define-public skopeo
(file-name (git-file-name name version))
(sha256
(base32
- "0n22sdif437ddg5ch0ipwim3fg0n6ihc9bfi52qkhy3r1grz04hs"))))
- (build-system go-build-system)
+ "1f9n3ysdmll7vq8dmgpv03m8aqq3w9cfvbmxxpwmnv1nlfc67ihq"))))
+ (build-system gnu-build-system)
(native-inputs
- (list pkg-config go-github-com-go-md2man))
+ (list go-1.21
+ go-github-com-go-md2man
+ pkg-config))
(inputs
- (list btrfs-progs
+ (list bash-minimal
+ btrfs-progs
eudev
libassuan
libselinux
@@ -2280,27 +2284,51 @@ (define-public skopeo
glib
gpgme))
(arguments
- '(#:import-path "github.com/containers/skopeo"
- #:install-source? #f
- #:tests? #f ; The tests require Docker
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "make" "bin/skopeo"))))
- (add-after 'build 'build-docs
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "make" "docs"))))
- (replace 'install
- (lambda* (#:key import-path outputs #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (let ((out (assoc-ref outputs "out")))
- (install-file "default-policy.json"
- (string-append out "/etc/containers"))
- (invoke "make" "install-binary" "install-completions" "install-docs"
- (string-append "PREFIX=" out)))))))))
+ (list
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ "PREFIX="
+ (string-append "DESTDIR=" #$output)
+ (string-append "GOMD2MAN="
+ #$go-github-com-go-md2man "/bin/go-md2man"))
+ #:tests? #f ; The tests require Docker
+ #:test-target "test-unit"
+ #:imported-modules
+ (source-module-closure `(,@%gnu-build-system-modules
+ (guix build go-build-system)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda _
+ ;; When running go, things fail because HOME=/homeless-shelter.
+ (setenv "HOME" "/tmp")
+ ;; Required for detecting btrfs in hack/btrfs* due to bug in GNU
+ ;; Make <4.4 causing CC not to be propagated into $(shell ...)
+ ;; calls. Can be removed once we update to >4.3.
+ ;;
+ ;; This techically does nothing *now*, but after upstream
+ ;; issue[1] is solved and 'cc-to-gcc phase is removed, it will
+ ;; start being required.
+ ;; 1: https://github.com/containers/skopeo/issues/2278
+ (setenv "CC" #$(cc-for-target))))
+ (add-after 'unpack 'cc-to-gcc
+ (lambda _
+ (for-each (lambda (file)
+ (substitute* file
+ (("^cc -" all)
+ (string-append "g" all))))
+ '("hack/btrfs_tag.sh"
+ "hack/btrfs_installed_tag.sh"
+ "hack/libdm_tag.sh"
+ "hack/libsubid_tag.sh"))))
+ (add-after 'install 'wrap-skopeo
+ (lambda _
+ (wrap-program (string-append #$output "/bin/skopeo")
+ `("PATH" suffix
+ ("/run/setuid-programs")))))
+ (add-after 'install 'remove-go-references
+ (@@ (guix build go-build-system) remove-go-references)))))
(home-page "https://github.com/containers/skopeo")
(synopsis "Interact with container images and container image registries")
(description
--
2.41.0
Z
(name . Tomas Volf)(address . ~@wolfsden.cz)(address . 70115@debbugs.gnu.org)
tencent_18D6D91F968E77797509496DD0E65B6A4D06@qq.com
Tomas Volf <~@wolfsden.cz> writes:

Toggle quote (126 lines)
> The package is also converted to gnu-build-system in order to take advantage
> of already existing Makefile instead of reinventing (parts) of it in Guile.
>
> * gnu/packages/virtualization.scm (skopeo)[version]: Update to 1.15.0.
> [build-system]: Use gnu-build-system.
> [native-inputs]: Add go-1.21, sort.
> [inputs]: Add bash-minimal.
> [arguments]<#:import-path, #:install-source?>: Delete.
> <#:make-flags, #:test-target, #:imported-modules>: New arguments.
> <#:phases>{'configure}: Delete.
> {'set-env, 'cc-to-gcc, 'wrap-skopeo, 'remove-go-references}: New phases.
>
> Change-Id: I1010e1f4fbdc093646c2879bdf30125ab2e88bdd
> ---
> This commit updates the skopeo, and also converts it to use
> gnu-build-system. Both is done in one commit, since 1.15 did not
> built just by straight-forward update, and due to the intended rewrite
> the time spent debugging that would be wasted.
>
> This (gnu-build-system) matches how podman and buildah are done in #70112
> bringing all github.com/containers/* projects on the same model.
>
> gnu/packages/virtualization.scm | 80 ++++++++++++++++++++++-----------
> 1 file changed, 54 insertions(+), 26 deletions(-)
>
> diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
> index 251fe00aa0..60f43c19cf 100644
> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -151,6 +151,7 @@ (define-module (gnu packages virtualization)
> #:use-module (guix gexp)
> #:use-module (guix git-download)
> #:use-module (guix packages)
> + #:use-module (guix modules)
> #:use-module (guix utils)
> #:use-module (srfi srfi-1)
> #:use-module (srfi srfi-26)
> @@ -2257,7 +2258,7 @@ (define-public umoci
> (define-public skopeo
> (package
> (name "skopeo")
> - (version "1.2.3")
> + (version "1.15.0")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> @@ -2266,12 +2267,15 @@ (define-public skopeo
> (file-name (git-file-name name version))
> (sha256
> (base32
> - "0n22sdif437ddg5ch0ipwim3fg0n6ihc9bfi52qkhy3r1grz04hs"))))
> - (build-system go-build-system)
> + "1f9n3ysdmll7vq8dmgpv03m8aqq3w9cfvbmxxpwmnv1nlfc67ihq"))))
> + (build-system gnu-build-system)
> (native-inputs
> - (list pkg-config go-github-com-go-md2man))
> + (list go-1.21
> + go-github-com-go-md2man
> + pkg-config))
> (inputs
> - (list btrfs-progs
> + (list bash-minimal
> + btrfs-progs
> eudev
> libassuan
> libselinux
> @@ -2280,27 +2284,51 @@ (define-public skopeo
> glib
> gpgme))
> (arguments
> - '(#:import-path "github.com/containers/skopeo"
> - #:install-source? #f
> - #:tests? #f ; The tests require Docker
> - #:phases
> - (modify-phases %standard-phases
> - (replace 'build
> - (lambda* (#:key import-path #:allow-other-keys)
> - (with-directory-excursion (string-append "src/" import-path)
> - (invoke "make" "bin/skopeo"))))
> - (add-after 'build 'build-docs
> - (lambda* (#:key import-path #:allow-other-keys)
> - (with-directory-excursion (string-append "src/" import-path)
> - (invoke "make" "docs"))))
> - (replace 'install
> - (lambda* (#:key import-path outputs #:allow-other-keys)
> - (with-directory-excursion (string-append "src/" import-path)
> - (let ((out (assoc-ref outputs "out")))
> - (install-file "default-policy.json"
> - (string-append out "/etc/containers"))
> - (invoke "make" "install-binary" "install-completions" "install-docs"
> - (string-append "PREFIX=" out)))))))))
> + (list
> + #:make-flags
> + #~(list (string-append "CC=" #$(cc-for-target))
> + "PREFIX="
> + (string-append "DESTDIR=" #$output)
> + (string-append "GOMD2MAN="
> + #$go-github-com-go-md2man "/bin/go-md2man"))
> + #:tests? #f ; The tests require Docker
> + #:test-target "test-unit"
> + #:imported-modules
> + (source-module-closure `(,@%gnu-build-system-modules
> + (guix build go-build-system)))
> + #:phases
> + #~(modify-phases %standard-phases
> + (delete 'configure)
> + (add-after 'unpack 'set-env
> + (lambda _
> + ;; When running go, things fail because HOME=/homeless-shelter.
> + (setenv "HOME" "/tmp")
> + ;; Required for detecting btrfs in hack/btrfs* due to bug in GNU
> + ;; Make <4.4 causing CC not to be propagated into $(shell ...)
> + ;; calls. Can be removed once we update to >4.3.
> + ;;
> + ;; This techically does nothing *now*, but after upstream
> + ;; issue[1] is solved and 'cc-to-gcc phase is removed, it will
> + ;; start being required.
> + ;; 1: https://github.com/containers/skopeo/issues/2278
> + (setenv "CC" #$(cc-for-target))))
> + (add-after 'unpack 'cc-to-gcc
> + (lambda _
> + (for-each (lambda (file)
> + (substitute* file
> + (("^cc -" all)
> + (string-append "g" all))))

I don't think this is a good idea. Why not "$(CC)", this env can get
from set-env phase.

Toggle quote (10 lines)
> + '("hack/btrfs_tag.sh"
> + "hack/btrfs_installed_tag.sh"
> + "hack/libdm_tag.sh"
> + "hack/libsubid_tag.sh"))))
> + (add-after 'install 'wrap-skopeo
> + (lambda _
> + (wrap-program (string-append #$output "/bin/skopeo")
> + `("PATH" suffix
> + ("/run/setuid-programs")))))

It would be nice to add some comments about why need wrap /run/setuid-programs .

Toggle quote (5 lines)
> + (add-after 'install 'remove-go-references
> + (@@ (guix build go-build-system) remove-go-references)))))
> (home-page "https://github.com/containers/skopeo")
> (synopsis "Interact with container images and container image registries")
> (description
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmYKsO4ACgkQO1qpk+Gi
3/BEPA/9HQurwrepNv47qTjU8MwuhyIyjApxUgVfj8bOyJ0OMqT7ZgctEgIuAdu8
s0B55l8B4DDGZYe9nn6pyXGuXmUKOxToaBUK4xUryiJf1RhY7V7FdX1xQMl1YI39
NB2h9h2lqBfru+AzF+hgtHY3vYCUMHW4+PGUvHiltMf4YZSzQYnWQSX0O37ex4B0
Q1PhYd+6jDsc+/qVsxO/USHU0V1HmnbciJzKCl5BJCNWm1mcZ6X5r3JNAO0me1Vf
2LWTfanDguwMByw8KK4rUA8oN6TQmvsJyJpzaWpJV8lYkhhWqjNloBKLYgVHjQS2
fHHqOHg5DnuWei642yF5Y0AE2oV+BsrLkCfxFPzl6BeOxjFoL+69jhFk/kvsuURK
KiDBjAGAVCFXLrQwYpkHq0uiXUN7zMYXOYA/pat6PSV4xjv0iqmM2Ytqdjbe2UmO
QU4D9sK30lCBhdH9p3isnddQeVJ7cNlB1apgnqZGD3JaNvSf5eDJ4Eo4MGwy/13E
pEbYJuI9x/ds+yqx6+4FpFDgawi8MEdDgDbVHX2ve7tHqZYVUoTu32bppEoAn3ze
OcfzYnR648zy0iFPtXsVwKe0PJrV5FODrk/aAHBNUOAKPSq1+3940hjqKL17u5Ks
DCsAOcjxhzLe9ieND6KJoZar9FysOCjDt8Ogyr2v3c7PvahlpaM=
=RIkg
-----END PGP SIGNATURE-----

T
T
Tomas Volf wrote on 1 Apr 15:21 +0200
(name . Z572)(address . 873216071@qq.com)(address . 70115@debbugs.gnu.org)
Zgq0v3iFZbKsfM0L@ws
Attachment: file
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmYKtL8ACgkQL7/ufbZ/
walswQ/7BpLAJG0Zrtv1gu8YzDqihCuU3yvih8IE+0qXmHWG4TR5W053+MBZRiGy
bnoUYfdyJz+Uk4ACrpfRV8cN15fj+H9Wm7+opO0Pl3MhQzs8CcUCjenvD5g/DnZu
3dcTio40rYjw4RJYQa8HYIGg45cjYqb27GTnFKATTQPKMFoDEx6zkOK/x4IADKdQ
gNyuHxa/KgotWQYId7lZIZXzodad3Z6bR2n7KddyrLF7mWszTN0Xqo22y1N//CPU
Z3uucQ2pBDcJzHNHEsNzWYYyEmoJXyP6lVmUfDG7ubhN9kbF90yX1zLrrYNaplob
1KJOrCo+4gzAN2SnBLMvFQYuheJbrD7CEMsRwTZ8hUtEmoEts1rHKG5bcgZPqmJc
9635TvPnGeOdFD2hoIDRbgB9+XgAPcW5qm6b6OnFbSDgH81f76bUlWKrwCGUMkU+
XjzcXnpLNNzFO32nnrthkGrXWeGjobm3fOOzKyAmnIC6k+ZIfGTp0jAcrdZcMGFi
rzONNHTfN1KsudT2+yRhlWnTUERbKSeJaHQu6YXVmsPF6Id0S2xTbnRGvOx1qaE0
n8YFRs95O8/rC1ju1mqC74bR/YK013mi+uSNuL/5J82B3K3RqQ7NI+V8Ts7g9GuN
nszDGFDLAt+D29BqAhqoWTkpPSCvUF/JagXWbbY/uPENW9r0fHY=
=3b6M
-----END PGP SIGNATURE-----


T
T
Tomas Volf wrote on 1 Apr 15:51 +0200
[PATCH v2] gnu: skopeo: Update to 1.15.0.
(address . 70115@debbugs.gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
d0f5743cf9f8f595010b1ed96f685648587afbd4.1711979489.git.~@wolfsden.cz
The package is also converted to gnu-build-system in order to take advantage
of already existing Makefile instead of reinventing (parts) of it in Guile.

* gnu/packages/virtualization.scm (skopeo)[version]: Update to 1.15.0.
[build-system]: Use gnu-build-system.
[native-inputs]: Add go-1.21, sort.
[inputs]: Add bash-minimal.
[arguments]<#:import-path, #:install-source?>: Delete.
<#:make-flags, #:test-target, #:imported-modules>: New arguments.
<#:phases>{'configure}: Delete.
{'set-env, 'cc-to-gcc, 'wrap-skopeo, 'remove-go-references}: New phases.

Change-Id: I1010e1f4fbdc093646c2879bdf30125ab2e88bdd
---
v2:
- Use "$CC" instead of hard-coding gcc.
- Add comment why /run/setuid-programs is required.

gnu/packages/virtualization.scm | 81 ++++++++++++++++++++++-----------
1 file changed, 55 insertions(+), 26 deletions(-)

Toggle diff (115 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 251fe00aa0..34cccd6550 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -151,6 +151,7 @@ (define-module (gnu packages virtualization)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (guix modules)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -2257,7 +2258,7 @@ (define-public umoci
(define-public skopeo
(package
(name "skopeo")
- (version "1.2.3")
+ (version "1.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2266,12 +2267,15 @@ (define-public skopeo
(file-name (git-file-name name version))
(sha256
(base32
- "0n22sdif437ddg5ch0ipwim3fg0n6ihc9bfi52qkhy3r1grz04hs"))))
- (build-system go-build-system)
+ "1f9n3ysdmll7vq8dmgpv03m8aqq3w9cfvbmxxpwmnv1nlfc67ihq"))))
+ (build-system gnu-build-system)
(native-inputs
- (list pkg-config go-github-com-go-md2man))
+ (list go-1.21
+ go-github-com-go-md2man
+ pkg-config))
(inputs
- (list btrfs-progs
+ (list bash-minimal
+ btrfs-progs
eudev
libassuan
libselinux
@@ -2280,27 +2284,52 @@ (define-public skopeo
glib
gpgme))
(arguments
- '(#:import-path "github.com/containers/skopeo"
- #:install-source? #f
- #:tests? #f ; The tests require Docker
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "make" "bin/skopeo"))))
- (add-after 'build 'build-docs
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "make" "docs"))))
- (replace 'install
- (lambda* (#:key import-path outputs #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (let ((out (assoc-ref outputs "out")))
- (install-file "default-policy.json"
- (string-append out "/etc/containers"))
- (invoke "make" "install-binary" "install-completions" "install-docs"
- (string-append "PREFIX=" out)))))))))
+ (list
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ "PREFIX="
+ (string-append "DESTDIR=" #$output)
+ (string-append "GOMD2MAN="
+ #$go-github-com-go-md2man "/bin/go-md2man"))
+ #:tests? #f ; The tests require Docker
+ #:test-target "test-unit"
+ #:imported-modules
+ (source-module-closure `(,@%gnu-build-system-modules
+ (guix build go-build-system)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda _
+ ;; When running go, things fail because HOME=/homeless-shelter.
+ (setenv "HOME" "/tmp")
+ ;; Required for detecting btrfs in hack/btrfs* due to bug in GNU
+ ;; Make <4.4 causing CC not to be propagated into $(shell ...)
+ ;; calls. Can be removed once we update to >4.3.
+ ;;
+ ;; This techically does nothing *now*, but after upstream
+ ;; issue[1] is solved and 'cc-to-gcc phase is removed, it will
+ ;; start being required.
+ ;; 1: https://github.com/containers/skopeo/issues/2278
+ (setenv "CC" #$(cc-for-target))))
+ (add-after 'unpack 'cc-to-gcc
+ (lambda _
+ (for-each (lambda (file)
+ (substitute* file
+ (("^cc( -.*)" all rest)
+ (string-append "\"$CC\"" rest))))
+ '("hack/btrfs_tag.sh"
+ "hack/btrfs_installed_tag.sh"
+ "hack/libdm_tag.sh"
+ "hack/libsubid_tag.sh"))))
+ (add-after 'install 'wrap-skopeo
+ (lambda _
+ (wrap-program (string-append #$output "/bin/skopeo")
+ `("PATH" suffix
+ ;; We need at least newuidmap, newgidmap and mount.
+ ("/run/setuid-programs")))))
+ (add-after 'install 'remove-go-references
+ (@@ (guix build go-build-system) remove-go-references)))))
(home-page "https://github.com/containers/skopeo")
(synopsis "Interact with container images and container image registries")
(description
--
2.41.0
C
C
Christopher Baines wrote on 5 Apr 13:31 +0200
(name . Tomas Volf)(address . ~@wolfsden.cz)(address . 70115-done@debbugs.gnu.org)
87zfu8gi54.fsf@cbaines.net
Tomas Volf <~@wolfsden.cz> writes:

Toggle quote (12 lines)
> The package is also converted to gnu-build-system in order to take advantage
> of already existing Makefile instead of reinventing (parts) of it in Guile.
>
> * gnu/packages/virtualization.scm (skopeo)[version]: Update to 1.15.0.
> [build-system]: Use gnu-build-system.
> [native-inputs]: Add go-1.21, sort.
> [inputs]: Add bash-minimal.
> [arguments]<#:import-path, #:install-source?>: Delete.
> <#:make-flags, #:test-target, #:imported-modules>: New arguments.
> <#:phases>{'configure}: Delete.
> {'set-env, 'cc-to-gcc, 'wrap-skopeo, 'remove-go-references}: New phases.

Thanks both, I've pushed this to master as
142e1c2cf0de55ea7803f1f175a6022c24fa467f.

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmYP4SdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeaTQ/6Aukmp8upiVGJi70p65FcEQxIyQ9hZOPY
F8dMhS3JKyxa2PBgtivsVqGGMLIk0ZidrPWduODjWsggSgiY7skF5j4loDgyrXaD
2FqWaSuwd/d3jgxwDjQEtIGkqWyDL/sPxKfqud+K2lXKtiMr2q20Z2ZPm8JKvCF8
bT70urtk5/MLqbg1qQO/BV49r4YTLj/gzTD6w5jRhNlhSd0iicj1C4kScNBRM5V7
Cg5LJo+at2ZMBQe7XvVUVe0VDnkQHAxV7i8XdLqJQvzkrpl/j0TFWBfvKB0iI1fW
nRM3vMwAS8228Ljr9ct3QAwoivXMR6sughCuaDtFfRV5WdaEqsjiVXVJ/8cTXXqT
KCv5J7pCAWVQhgA30nGNtLaIhiusCjQB4/eNqkfG9WjXr2LlADuRbNkQA5Nua/pw
7JLW0D33BTZZl3LCIgCGLYsJfOYuvRg2lPb1EzA/EwMkNHLN7ZdSX1bYcZlmZM9Y
fbU3BrvRWUZ8Ar1QqCidQHZ0TPGq4h9EWpaPAdUb/LxXNrU4cEMSC0GdxJMhCKy8
JrVZNuXr0eWVeR2vfAxXk3dVxHNjT2M1aufSmlvzgYc+MbX0F2KgQlbIjHlROo0W
Ia8j8LnTiX99gU8W+WCFss5YL6AJOMQw30nIoeiU7uxTNhQezqK3AojqOnKX8NT7
j57Mpe/w4bY=
=5jWo
-----END PGP SIGNATURE-----

Closed
?