Fix incidentally wrongly uploaded source code tarball without generated frontend code.
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=145
This commit is contained in:
commit
a188a05589
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
39
0001-Add-source-code-reference.patch
Normal file
39
0001-Add-source-code-reference.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 3dd318d8ddc8db3f84020c448e283620cc5d09ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marius Kittler <mkittler@suse.de>
|
||||||
|
Date: Mon, 6 Feb 2023 13:51:31 +0100
|
||||||
|
Subject: [PATCH] Add source code reference
|
||||||
|
|
||||||
|
---
|
||||||
|
public/app/core/components/Footer/Footer.tsx | 16 +++++++---------
|
||||||
|
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/public/app/core/components/Footer/Footer.tsx b/public/app/core/components/Footer/Footer.tsx
|
||||||
|
index c73c2ea53..829700096 100644
|
||||||
|
--- a/public/app/core/components/Footer/Footer.tsx
|
||||||
|
+++ b/public/app/core/components/Footer/Footer.tsx
|
||||||
|
@@ -73,15 +73,13 @@ export let getVersionLinks = (): FooterLink[] => {
|
||||||
|
url: hasReleaseNotes ? `https://github.com/grafana/grafana/blob/main/CHANGELOG.md` : undefined,
|
||||||
|
});
|
||||||
|
|
||||||
|
- if (buildInfo.hasUpdate) {
|
||||||
|
- links.push({
|
||||||
|
- target: '_blank',
|
||||||
|
- id: 'updateVersion',
|
||||||
|
- text: `New version available!`,
|
||||||
|
- icon: 'download-alt',
|
||||||
|
- url: 'https://grafana.com/grafana/download?utm_source=grafana_footer',
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
+ links.push({
|
||||||
|
+ target: '_blank',
|
||||||
|
+ id: 'updateVersion',
|
||||||
|
+ text: `Source code`,
|
||||||
|
+ icon: 'download-alt',
|
||||||
|
+ url: 'https://build.opensuse.org/package/show/openSUSE:Factory/grafana',
|
||||||
|
+ });
|
||||||
|
|
||||||
|
return links;
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
30
0002-Use-bash-instead-of-env.patch
Normal file
30
0002-Use-bash-instead-of-env.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Index: grafana-11.3.0/packaging/wrappers/grafana
|
||||||
|
===================================================================
|
||||||
|
--- grafana-11.3.0.orig/packaging/wrappers/grafana
|
||||||
|
+++ grafana-11.3.0/packaging/wrappers/grafana
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#! /usr/bin/env bash
|
||||||
|
+#!/usr/bin/bash
|
||||||
|
|
||||||
|
# Wrapper for the grafana binary
|
||||||
|
# This file serves as a wrapper for the grafana binary. It ensures we set
|
||||||
|
Index: grafana-11.3.0/packaging/wrappers/grafana-cli
|
||||||
|
===================================================================
|
||||||
|
--- grafana-11.3.0.orig/packaging/wrappers/grafana-cli
|
||||||
|
+++ grafana-11.3.0/packaging/wrappers/grafana-cli
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#! /usr/bin/env bash
|
||||||
|
+#!/usr/bin/bash
|
||||||
|
|
||||||
|
# Wrapper for the grafana binary
|
||||||
|
# This file serves as a wrapper for the grafana binary. It ensures we set
|
||||||
|
Index: grafana-11.3.0/packaging/wrappers/grafana-server
|
||||||
|
===================================================================
|
||||||
|
--- grafana-11.3.0.orig/packaging/wrappers/grafana-server
|
||||||
|
+++ grafana-11.3.0/packaging/wrappers/grafana-server
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#! /usr/bin/env bash
|
||||||
|
+#!/usr/bin/bash
|
||||||
|
|
||||||
|
# Wrapper for the grafana binary
|
||||||
|
# This file serves as a wrapper for the grafana binary. It ensures we set
|
164
0004-Bump-crypto.patch
Normal file
164
0004-Bump-crypto.patch
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
diff --git a/go.mod b/go.mod
|
||||||
|
index c4e1f95ab61..e2ed9da6a5b 100644
|
||||||
|
--- a/go.mod
|
||||||
|
+++ b/go.mod
|
||||||
|
@@ -170,13 +170,13 @@ require (
|
||||||
|
go.uber.org/atomic v1.11.0 // @grafana/alerting-backend
|
||||||
|
go.uber.org/goleak v1.3.0 // @grafana/grafana-search-and-storage
|
||||||
|
gocloud.dev v0.39.0 // @grafana/grafana-app-platform-squad
|
||||||
|
- golang.org/x/crypto v0.27.0 // @grafana/grafana-backend-group
|
||||||
|
+ golang.org/x/crypto v0.32.0 // @grafana/grafana-backend-group
|
||||||
|
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // @grafana/alerting-backend
|
||||||
|
golang.org/x/mod v0.20.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
golang.org/x/net v0.29.0 // @grafana/oss-big-tent @grafana/partner-datasources
|
||||||
|
golang.org/x/oauth2 v0.23.0 // @grafana/identity-access-team
|
||||||
|
- golang.org/x/sync v0.8.0 // @grafana/alerting-backend
|
||||||
|
- golang.org/x/text v0.18.0 // @grafana/grafana-backend-group
|
||||||
|
+ golang.org/x/sync v0.10.0 // @grafana/alerting-backend
|
||||||
|
+ golang.org/x/text v0.21.0 // @grafana/grafana-backend-group
|
||||||
|
golang.org/x/time v0.6.0 // @grafana/grafana-backend-group
|
||||||
|
golang.org/x/tools v0.24.0 // @grafana/grafana-as-code
|
||||||
|
gonum.org/v1/gonum v0.14.0 // @grafana/observability-metrics
|
||||||
|
@@ -430,8 +430,8 @@ require (
|
||||||
|
go.uber.org/mock v0.4.0 // indirect
|
||||||
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
|
go.uber.org/zap v1.27.0 // @grafana/identity-access-team
|
||||||
|
- golang.org/x/sys v0.25.0 // indirect
|
||||||
|
- golang.org/x/term v0.24.0 // indirect
|
||||||
|
+ golang.org/x/sys v0.29.0 // indirect
|
||||||
|
+ golang.org/x/term v0.28.0 // indirect
|
||||||
|
golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20240812133136-8ffd90a71988 // indirect; @grafana/grafana-backend-group
|
||||||
|
google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect
|
||||||
|
diff --git a/go.sum b/go.sum
|
||||||
|
index 049f75c36e8..9b731cd1d18 100644
|
||||||
|
--- a/go.sum
|
||||||
|
+++ b/go.sum
|
||||||
|
@@ -3471,8 +3471,8 @@ golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1m
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
|
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
||||||
|
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
|
||||||
|
-golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
|
||||||
|
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
|
||||||
|
+golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
|
||||||
|
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
@@ -3719,8 +3719,8 @@ golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||||
|
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
-golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
||||||
|
-golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
+golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||||
|
+golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@@ -3860,8 +3860,8 @@ golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
|
||||||
|
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||||
|
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ=
|
||||||
|
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
|
||||||
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
@@ -3885,8 +3885,8 @@ golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
|
||||||
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
|
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
|
||||||
|
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
|
||||||
|
-golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
|
||||||
|
-golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
|
||||||
|
+golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
|
||||||
|
+golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
|
||||||
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
@@ -3908,8 +3908,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||||
|
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||||
|
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||||
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
|
-golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
||||||
|
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||||
|
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||||
|
+golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||||
|
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
diff --git a/pkg/build/go.mod b/pkg/build/go.mod
|
||||||
|
index eb21e9948a2..8e1afbd4d76 100644
|
||||||
|
--- a/pkg/build/go.mod
|
||||||
|
+++ b/pkg/build/go.mod
|
||||||
|
@@ -36,12 +36,12 @@ require (
|
||||||
|
go.opentelemetry.io/otel v1.30.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
go.opentelemetry.io/otel/sdk v1.29.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
go.opentelemetry.io/otel/trace v1.30.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
- golang.org/x/crypto v0.27.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
+ golang.org/x/crypto v0.32.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
golang.org/x/mod v0.20.0 // @grafana/grafana-backend-group
|
||||||
|
golang.org/x/net v0.29.0 // indirect; @grafana/oss-big-tent @grafana/partner-datasources
|
||||||
|
golang.org/x/oauth2 v0.23.0 // @grafana/identity-access-team
|
||||||
|
- golang.org/x/sync v0.8.0 // indirect; @grafana/alerting-backend
|
||||||
|
- golang.org/x/text v0.18.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
+ golang.org/x/sync v0.10.0 // indirect; @grafana/alerting-backend
|
||||||
|
+ golang.org/x/text v0.21.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
golang.org/x/time v0.6.0 // indirect; @grafana/grafana-backend-group
|
||||||
|
golang.org/x/tools v0.24.0 // indirect; @grafana/grafana-as-code
|
||||||
|
google.golang.org/api v0.191.0 // @grafana/grafana-backend-group
|
||||||
|
@@ -85,7 +85,7 @@ require (
|
||||||
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect
|
||||||
|
go.opentelemetry.io/otel/metric v1.30.0 // indirect
|
||||||
|
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
|
||||||
|
- golang.org/x/sys v0.25.0 // indirect
|
||||||
|
+ golang.org/x/sys v0.29.0 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20240812133136-8ffd90a71988 // indirect; @grafana/grafana-backend-group
|
||||||
|
google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect
|
||||||
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect
|
||||||
|
diff --git a/pkg/build/go.sum b/pkg/build/go.sum
|
||||||
|
index e348659ac5e..5abfd35005b 100644
|
||||||
|
--- a/pkg/build/go.sum
|
||||||
|
+++ b/pkg/build/go.sum
|
||||||
|
@@ -263,8 +263,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
||||||
|
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
|
-golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
|
||||||
|
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
|
||||||
|
+golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
|
||||||
|
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
|
||||||
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI=
|
||||||
|
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ=
|
||||||
|
@@ -294,8 +294,8 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
-golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
||||||
|
-golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
+golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||||
|
+golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@@ -306,13 +306,13 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||||
|
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
|
||||||
|
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||||
|
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
-golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
||||||
|
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||||
|
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||||
|
+golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||||
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
|
||||||
|
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
47
Makefile
Normal file
47
Makefile
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
NAME = grafana
|
||||||
|
SPEC = $(NAME).spec
|
||||||
|
|
||||||
|
default: verify-deps clean tar
|
||||||
|
|
||||||
|
verify-deps:
|
||||||
|
@which yarn >/dev/null 2>&1 || ( echo "yarn not found; run \`sudo npm install -g yarn\`" && false )
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(NAME)-*.tar $(NAME)-*.tar.gz
|
||||||
|
|
||||||
|
tar:
|
||||||
|
osc service manualrun
|
||||||
|
@version=$$( awk '/^Version:/ {print $$2}' $(SPEC) ) && \
|
||||||
|
echo "Package version is $$version" && \
|
||||||
|
basename=$(NAME)-$$version && \
|
||||||
|
tar=$$basename.tar && \
|
||||||
|
tmpdir=$$(mktemp -d -p .) && \
|
||||||
|
cd $$tmpdir && \
|
||||||
|
gunzip ../$$tar.gz && \
|
||||||
|
tar -xf ../$$tar && \
|
||||||
|
# recreate tarball explicitly in a format that handles long filenames \
|
||||||
|
tar --format=posix -cf ../$$tar $$basename && \
|
||||||
|
cd $$basename && \
|
||||||
|
# Patches for the JS frontend go after here \
|
||||||
|
patch --no-backup-if-mismatch -p1 -i ../../0001-Add-source-code-reference.patch && \
|
||||||
|
# End patches section \
|
||||||
|
# Patches for Go modules go after here \
|
||||||
|
patch --no-backup-if-mismatch -p1 -i ../../0004-Bump-crypto.patch && \
|
||||||
|
# End of Go modules patches section \
|
||||||
|
go mod download && \
|
||||||
|
go mod verify && \
|
||||||
|
go work vendor && \
|
||||||
|
tar --format=posix -cf ../../vendor.tar vendor && \
|
||||||
|
# avoid ".git can't be found" \
|
||||||
|
git init && \
|
||||||
|
# avoid "FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory" \
|
||||||
|
export NODE_OPTIONS=--max_old_space_size=8192 && \
|
||||||
|
yarn install --immutable && \
|
||||||
|
yarn run build && \
|
||||||
|
cd .. && \
|
||||||
|
echo "Updating $$basename/public in tarball..." && \
|
||||||
|
tar -rf ../$$tar $$basename/public && \
|
||||||
|
cd .. && \
|
||||||
|
gzip $$tar && \
|
||||||
|
gzip -f vendor.tar && \
|
||||||
|
rm -rf $$tmpdir
|
38
README
Normal file
38
README
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
The tarball is generated via the OBS source service, but Grafana
|
||||||
|
needs to ship the compiled frontend assets as well, which have to
|
||||||
|
be built by running yarn inside the source tree (see
|
||||||
|
https://github.com/grafana/grafana/blob/master/contribute/developer-guide.md#frontend).
|
||||||
|
This can't be done at build time on OBS, because it involves
|
||||||
|
downloading and installing packages from the internet, so instead
|
||||||
|
we have a Makefile which does the following:
|
||||||
|
|
||||||
|
- Runs `osc service disabledrun` to get the latest source tarball
|
||||||
|
- Unpacks the tarball to a temporary directory
|
||||||
|
- Runs `yarn install --pure-lockfile && yarn build`
|
||||||
|
- Adds the generated "vendor" and "public" content to the tarball,
|
||||||
|
then compresses it with xz.
|
||||||
|
- The tarball can then be used by OBS to build an RPM.
|
||||||
|
|
||||||
|
In order for this to work you need to have npm >= 14 and yarn installed.
|
||||||
|
|
||||||
|
# zypper in npm14
|
||||||
|
# zypper in obs-service-download_files obs-service-go_modules \
|
||||||
|
obs-service-obs_scm
|
||||||
|
# npm install -g yarn
|
||||||
|
|
||||||
|
Then, to package a new release of Grafana, run `make` then `osc ci`
|
||||||
|
and you should be good.
|
||||||
|
|
||||||
|
If you have a patch for the Javascript frontend to apply you need
|
||||||
|
to do the following:
|
||||||
|
|
||||||
|
- Create the patch and add it with `osc add <PATCH>` to the repo
|
||||||
|
- Open the Makefile
|
||||||
|
- Add after the `cd $$basename && \` the patch with:
|
||||||
|
`patch -p1 < ../../000x-<NAME>.patch && \`
|
||||||
|
- Do NOT add the patch to the Specfile.
|
||||||
|
- Then use the process of building Grafana as described above.
|
||||||
|
|
||||||
|
Please direct any questions to Tim Serong <tserong@suse.com>
|
||||||
|
If Tim is not available you may also contact Enno Gotthold <egotthold@suse.de>
|
9
_constraints
Normal file
9
_constraints
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<disk>
|
||||||
|
<size unit="G">5</size>
|
||||||
|
</disk>
|
||||||
|
</hardware>
|
||||||
|
</constraints>
|
||||||
|
|
17
_service
Normal file
17
_service
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<services>
|
||||||
|
<service name="tar_scm" mode="manual">
|
||||||
|
<param name="url">https://github.com/grafana/grafana</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="exclude">.git</param>
|
||||||
|
<param name="versionformat">@PARENT_TAG@</param>
|
||||||
|
<param name="versionrewrite-pattern">v(.*)</param>
|
||||||
|
<param name="revision">v11.3.0</param>
|
||||||
|
</service>
|
||||||
|
<service name="recompress" mode="manual">
|
||||||
|
<param name="compression">gz</param>
|
||||||
|
<param name="file">grafana*.tar</param>
|
||||||
|
</service>
|
||||||
|
<service name="set_version" mode="manual">
|
||||||
|
<param name="basename">grafana</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
6
_servicedata
Normal file
6
_servicedata
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<servicedata>
|
||||||
|
<service name="tar_scm">
|
||||||
|
<param name="url">https://github.com/grafana/grafana</param>
|
||||||
|
<param name="changesrevision">d9455ff7db73b694db7d412e49a68bec767f2b5a</param>
|
||||||
|
</service>
|
||||||
|
</servicedata>
|
3
grafana-10.3.5.tar.gz
Normal file
3
grafana-10.3.5.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:948098bb573e9bf1b788aaec813d71f6654a8d4fd8ef61e736fddfb9204fc6fa
|
||||||
|
size 77195322
|
3
grafana-11.3.0.tar.gz
Normal file
3
grafana-11.3.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c60da357d13c795d6f78259f04e995e49d84f35e45307b516450e8c6ed15c11e
|
||||||
|
size 90853781
|
2
grafana-rpmlintrc
Normal file
2
grafana-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
addFilter("binaryinfo-readelf-failed") # go binaries are suposedly ELF-compliant
|
||||||
|
addFilter("no-manual-page-for-binary")
|
9429
grafana.changes
Normal file
9429
grafana.changes
Normal file
File diff suppressed because it is too large
Load Diff
157
grafana.spec
Normal file
157
grafana.spec
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
#
|
||||||
|
# spec file for package grafana
|
||||||
|
#
|
||||||
|
# Copyright (c) 2025 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||||
|
%if ! %{defined _fillupdir}
|
||||||
|
%define _fillupdir /var/adm/fillup-templates
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: grafana
|
||||||
|
Version: 11.3.0
|
||||||
|
Release: 0
|
||||||
|
Summary: The open-source platform for monitoring and observability
|
||||||
|
License: AGPL-3.0-only
|
||||||
|
Group: System/Monitoring
|
||||||
|
URL: http://grafana.org/
|
||||||
|
Source: %{name}-%{version}.tar.gz
|
||||||
|
Source1: vendor.tar.gz
|
||||||
|
Source2: %{name}-rpmlintrc
|
||||||
|
# Instructions on the build process
|
||||||
|
Source3: README
|
||||||
|
# Makefile to automate build process
|
||||||
|
Source4: Makefile
|
||||||
|
Source5: 0001-Add-source-code-reference.patch
|
||||||
|
Patch2: 0002-Use-bash-instead-of-env.patch
|
||||||
|
# CVE-2024-45337 Bump golang.org/x/crypto
|
||||||
|
Patch4: 0004-Bump-crypto.patch
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: git-core
|
||||||
|
BuildRequires: wire
|
||||||
|
BuildRequires: golang(API) >= 1.21
|
||||||
|
Requires(post): %fillup_prereq
|
||||||
|
Requires: group(grafana)
|
||||||
|
Requires: user(grafana)
|
||||||
|
%systemd_ordering
|
||||||
|
|
||||||
|
# Exclude s390 on SLE12, since golang 1.14 itself is not built for this arch on SLE12
|
||||||
|
# See https://build.suse.de/package/view_file/SUSE:SLE-12:Update/go1.14/go1.14.spec?expand=1
|
||||||
|
%if 0%{?suse_version} == 1315
|
||||||
|
ExcludeArch: s390
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
A graph and dashboard builder for visualizing time series metrics.
|
||||||
|
|
||||||
|
Grafana provides ways to create, explore, and share
|
||||||
|
dashboards and data with teams.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n grafana-%{version}
|
||||||
|
%autosetup -T -D -a 1 -p1 -n grafana-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%ifnarch ppc64
|
||||||
|
export GOFLAGS="-buildmode=pie"
|
||||||
|
%endif
|
||||||
|
wire gen -tags 'oss' ./pkg/server
|
||||||
|
go build -o . -ldflags '-X main.version=%{version}' ./pkg/cmd/...
|
||||||
|
|
||||||
|
%install
|
||||||
|
|
||||||
|
# install binaries and service
|
||||||
|
install -Dm755 %{name} %{buildroot}%{_libexecdir}/%{name}/%{name}
|
||||||
|
install -Dm755 %{name}-server %{buildroot}%{_libexecdir}/%{name}/%{name}-server
|
||||||
|
install -Dm755 %{name}-cli %{buildroot}%{_libexecdir}/%{name}/%{name}-cli
|
||||||
|
install -Dm644 {packaging/rpm/systemd/,%{buildroot}%{_unitdir}/}%{name}-server.service
|
||||||
|
install -dm755 %{buildroot}%{_sbindir}
|
||||||
|
install -m755 --target-directory=%{buildroot}%{_sbindir} packaging/wrappers/%{name}*
|
||||||
|
|
||||||
|
# create "rc symlink" (https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines#rc_symlink)
|
||||||
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-server
|
||||||
|
|
||||||
|
# add symlink to binary where systemd unit file expects it to be
|
||||||
|
install -dm755 %{buildroot}%{_datadir}/%{name}/bin
|
||||||
|
ln -s %{_libexecdir}/%{name}/%{name} %{buildroot}%{_datadir}/%{name}/bin/%{name}
|
||||||
|
|
||||||
|
install -Dm644 packaging/rpm/sysconfig/%{name}-server \
|
||||||
|
%{buildroot}%{_fillupdir}/sysconfig.%{name}-server
|
||||||
|
|
||||||
|
install -d -m0750 %{buildroot}%{_localstatedir}/lib/%{name}
|
||||||
|
install -d -m0750 %{buildroot}%{_localstatedir}/log/%{name}
|
||||||
|
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/plugins
|
||||||
|
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/dashboards
|
||||||
|
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/provisioning/dashboards
|
||||||
|
|
||||||
|
install -Dm640 conf/sample.ini %{buildroot}%{_sysconfdir}/%{name}/%{name}.ini
|
||||||
|
install -Dm640 {conf/,%{buildroot}%{_sysconfdir}/%{name}/}ldap.toml
|
||||||
|
install -Dm644 {conf/,%{buildroot}%{_datadir}/%{name}/conf/}defaults.ini
|
||||||
|
install -m644 {conf/,%{buildroot}%{_datadir}/%{name}/conf/}sample.ini
|
||||||
|
install -Dm644 {conf/provisioning/dashboards/,%{buildroot}%{_datadir}/%{name}/conf/provisioning/dashboards/}sample.yaml
|
||||||
|
install -Dm644 {conf/provisioning/datasources/,%{buildroot}%{_datadir}/%{name}/conf/provisioning/datasources/}sample.yaml
|
||||||
|
cp -pr public %{buildroot}%{_datadir}/%{name}/
|
||||||
|
install -d -m755 %{buildroot}%{_datadir}/%{name}/vendor
|
||||||
|
install -d -m755 %{buildroot}%{_datadir}/%{name}/tools
|
||||||
|
|
||||||
|
# Do *not* use %%fudpes -s -- this will result in grafana failing to load
|
||||||
|
# all the plugins (something in the plugin scanner can't cope with files
|
||||||
|
# in there being symlinks).
|
||||||
|
%fdupes %{buildroot}/%{_datadir}
|
||||||
|
|
||||||
|
%check
|
||||||
|
#gotest github.com/grafana/grafana/pkg...
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%service_add_pre %{name}-server.service
|
||||||
|
|
||||||
|
%post
|
||||||
|
%{fillup_only -n %{name}-server}
|
||||||
|
%service_add_post %{name}-server.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%service_del_preun %{name}-server.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%service_del_postun %{name}-server.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%license LICENSE*
|
||||||
|
%doc CHANGELOG*
|
||||||
|
%{_sbindir}/%{name}*
|
||||||
|
%{_sbindir}/rc%{name}-server
|
||||||
|
%dir %{_libexecdir}/%{name}
|
||||||
|
%{_libexecdir}/%{name}/%{name}*
|
||||||
|
%{_unitdir}/%{name}-server.service
|
||||||
|
%{_fillupdir}/sysconfig.%{name}-server
|
||||||
|
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}
|
||||||
|
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}/provisioning
|
||||||
|
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}/provisioning/dashboards
|
||||||
|
%attr(0755,root,grafana) %dir %{_datadir}/%{name}/conf
|
||||||
|
%attr(0640,root,grafana) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.ini
|
||||||
|
%attr(0640,root,grafana) %config(noreplace) %{_sysconfdir}/%{name}/ldap.toml
|
||||||
|
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}
|
||||||
|
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}/plugins
|
||||||
|
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}/dashboards
|
||||||
|
%attr(0750,grafana,grafana) %dir %{_localstatedir}/log/%{name}
|
||||||
|
%doc %{_datadir}/%{name}/conf/sample.ini
|
||||||
|
%doc %{_datadir}/%{name}/conf/provisioning/dashboards/sample.yaml
|
||||||
|
%doc %{_datadir}/%{name}/conf/provisioning/datasources/sample.yaml
|
||||||
|
%config %{_datadir}/%{name}/conf/defaults.ini
|
||||||
|
%{_datadir}/%{name}
|
||||||
|
|
||||||
|
%changelog
|
3
vendor.tar.gz
Normal file
3
vendor.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0d0a3ca7a0d5d1815d92cc161e8f4fedff940ba8815697b27aae68cd53a2e8ba
|
||||||
|
size 68793464
|
Loading…
Reference in New Issue
Block a user