jackc / jackc/pgmock

Delete dependencies on older versions

Open
#8 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
127
Forks
15
PR merge metrics
No merged PRs in 30d

Description

I want to delete dependencies on github.com/satori/go.uuid because it is vulnerable.

```
# master branch of https://github.com/jackc/pgx
$ pwd
/home/go/src/github.com/pgx
$ go mod graph | grep satori
github.com/jackc/pgtype@v0.0.0-20190828014616-a8802b16cc59 github.com/satori/go.uuid@v1.2.0
github.com/jackc/pgx/v4@v4.0.0-pre1.0.20190824185557-6972a5742186 github.com/satori/go.uuid@v1.2.0
github.com/jackc/pgtype@v0.0.0-20190824184912-ab885b375b90 github.com/satori/go.uuid@v1.2.0
github.com/jackc/pgx/v4@v4.0.0-20190421002000-1b8f0016e912 github.com/satori/go.uuid@v1.2.0
github.com/jackc/pgtype@v0.0.0-20190421001408-4ed0de4755e0 github.com/satori/go.uuid@v1.2.0
github.com/jackc/pgx/v4@v4.0.0-20190420224344-cc3461e65d96 github.com/satori/go.uuid@v1.2.0
```

But, maybe we cannot do that because there are cyclic dependencies between modules as below(this is part of `go mod graph` outputs) .

```
github.com/jackc/pgx/v4 ->
github.com/jackc/pgtype@v1.8.0 ->
github.com/jackc/pgconn@v1.8.1 ->
github.com/jackc/pgmock@v0.0.0-20190831213851-13a1b77aafa2 ->
github.com/jackc/pgtype@v0.0.0-20190828014616-a8802b16cc59 ->
github.com/satori/go.uuid@v1.2.0
```
github.com/jackc/pgmock depends on github.com/jackc/pgconn, and vice versa.
github.com/jackc/pgx depends on github.com/jackc/pgtype, and vice versa.

I don't fully understand, but I think we cannot delete dependencies on older versions completely even if update module like https://github.com/jackc/pgmock/pull/5.

Am I right?
If yes, do you have any plan to resolve this?

**Related Issues:**
* https://github.com/jackc/pgx/issues/977
* https://github.com/go-gorm/postgres/issues/52

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no source files or tests; start by reproducing the dependency graph with `go mod graph` and inspect the relationships among pgx, pgtype, pgconn, pgmock, and satori/go.uuid. Done would require a documented resolution to the vulnerable dependency and module cycle, but the issue does not define a concrete acceptance condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
22/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.