Hi Antoine,
On 3/31/22 10:19 AM, Antoine Beaupré wrote:
On 2022-03-31 10:06:40, Antoine Beaupré wrote:
[...]
From that perspective, it's actually worse than Grafana, which has less
dependencies, believe it or not. But Grafana is also a webapp which is
where it really hurt us, because there you also need to package 300+
nodejs dependencies (!). At least loki spares us that horror.
For what it's worth, I looked at those deps and it seems we're missing
about 28 immediate dependencies (which themselves might have their own
missing deps). I tried to run `dh-make-golang estimate` but it fails to
do a report, which is not reassuring.
It also seems like there is a handful of kubernetes stuff in there which
could also be a problem considering the approach *that* package has
taken regarding packaging (which is to vendor all that shit in, so we
can't reuse their work). It could be possible to strip some of that code
out though, maybe we don't need a loki kubernetes operator in Debian for
example. But I haven't actually checked why that code is there at all,
nor how easy such a change would be.
Anyways, here's the dump:
$ dh-make-golang make github.com/grafana/loki
[...]
2022/03/31 10:14:45 Build-Dependency "sigs.k8s.io/controller-runtime" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/apimachinery" is not yet available
in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/thanos-io/thanos" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/aws/aws-lambda-go" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/grafana/dskit" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/cristalhq/hedgedhttp" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/cloudflare/cloudflare-go" is
not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/fluent/fluent-bit-go" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "gopkg.in/Graylog2/go-gelf.v2" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "inet.af/netaddr" is not yet available in
Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/weaveworks/common" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/uber/jaeger-client-go" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/sony/gobreaker" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/drone/envsubst" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/joncrlsn/dque" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/docker/go-plugins-helpers" is
not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/client-go" is not yet available in
Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/ViaQ/logerr" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/c2h5oh/datasize" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "gopkg.in/fsnotify.v1" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/api" is not yet available in
Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency
"github.com/prometheus-operator/prometheus-operator" is not yet available in
Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/shurcooL/vfsgen" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/Workiva/go-datastructures" is
not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/prometheus/prometheus" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/fsouza/fake-gcs-server" is not
yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/grafana/regexp" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/aws/aws-sdk-go-v2" is not yet
available in Debian, or has not yet been converted to use XS-Go-Import-Path in
debian/control
A.
I've packaged around 20 dependencies so far. I have yet to submit
them (primarily because I find doing this sort of work sucks the
energy out of me). I did not quite realize what I was getting myself
into :)
My TODO list follows. Packages with a # are done, those with a !
have an error, and I forget what - means.
loki
#github.com/Workiva/go-datastructures
#github.com/joncrlsn/dque
#github.com/c2h5oh/datasize
#github.com/shurcooL/vfsgen
github.com/prometheus/prometheus
github.com/cortexproject/cortex
!github.com/docker/go-plugins-helpers
#inet.af/netaddr
github.com/thanos-io/thanos
#github.com/drone/envsubst
gopkg.in/fsnotify.v1
#github.com/sony/gobreaker
#github.com/uber/jaeger-client-go
#github.com/aws/aws-lambda-go
#github.com/fluent/fluent-bit-go
#github.com/fsouza/fake-gcs-server
#github.com/grafana/dskit
#github.com/weaveworks/common
cortex
#github.com/weaveworks/common
github.com/golang-migrate/migrate
github.com/thanos-io/thanos
github.com/prometheus/prometheus
github.com/Masterminds/squirrel
#github.com/uber/jaeger-client-go
#github.com/sony/gobreaker
github.com/grafana/dskit
github.com/fsouza/fake-gcs-server
netaddr
#go4.org/intern
intern
#go4.org/unsafe/assume-no-moving-gc
thanos
github.com/lovoo/gcloud-opentracing
github.com/fatih/structtag
github.com/lightstep/lightstep-tracer-go
github.com/cortexproject/cortex
#github.com/weaveworks/common
github.com/efficientgo/e2e
github.com/chromedp/chromedp
go.elastic.co/apm
github.com/chromedp/cdproto
github.com/grafana/dskit
gopkg.in/fsnotify.v1
#github.com/uber/jaeger-lib
github.com/efficientgo/tools
github.com/prometheus/prometheus
github.com/baidubce/bce-sdk-go
github.com/tencentyun/cos-go-sdk-v5
#github.com/uber/jaeger-client-go
jaeger
#github.com/uber/jaeger-lib
dskit
^go.etcd.io/etcd
#github.com/weaveworks/common
weaveworks
#github.com/sercand/kuberesolver
#github.com/felixge/httpsnoop
#github.com/weaveworks/promrus
#github.com/uber/jaeger-client-go
#github.com/uber/jaeger-lib
go-kit
#github.com/VividCortex/gohistogram
#github.com/aws/aws-sdk-go
#github.com/influxdata/influxdb
#github.com/performancecopilot/speed
#github.com/prometheus/client_golang
migrate
modernc.org/sqlite
modernc.org/ql
github.com/neo4j/neo4j-go-driver
github.com/nakagami/firebirdsql
github.com/jackc/pgconn
github.com/markbates/pkger
github.com/snowflakedb/gosnowflake
github.com/ktrysmt/go-bitbucket
github.com/dhui/dktest
github.com/mutecomm/go-sqlcipher
github.com/fsouza/fake-gcs-server
github.com/ClickHouse/clickhouse-go
github.com/gobuffalo/here
github.com/jackc/pgerrcode
squirrel:
github.com/lann/builder
etcd:
github.com/form3tech-oss/jwt-go
#github.com/grpc-ecosystem/go-grpc-middleware/logging/settable
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
#go.opentelemetry.io/otel
-gopkg.in/natefinch/lumberjack.v2
github.com/cockroachdb/datadriven
github.com/etcd-io/gofail/runtime
I can make an effort to submit the ones I have packaged, but I haven't
worked on this for a bit (as other projects took priority)
--Sean