Simplify the build with vendoring
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- ocaml
- Domain
- build-system, ci-cd
Research direction
Start by reading the build setup and the prerequisite issues #542 and #539, then review the opam monorepo approach. The work includes vendoring DNS dependencies, switching from Uwt to Luv, updating TCP/IP stack interfaces, and initializing the monorepo. Done means the project can be cloned and built with dune build without the current opam, network, or Cygwin dependencies.
Written by the indexing model from the issue text.
Description
The current build is complex because it relies on
opamfor package selection and installation- the network for downloading packages
- Cygwin on windows for build scripts
- out of date dependency versions
In particular the Windows CI is broken due to a Cygwin bug.
The build could be simplified if we switched to a vendor model with opam monorepo. We would be able to build by git clone and dune build (assuming an OCaml compiler is installed)
To achieve this we need to
- update our DNS dependencies to use
duneand vendor: #542 - switch from
UwttoLuvforlibuv: #539 - update to the latest TCP/IP stack interfaces
- initialise the monorepo
- Dominant language
- OCaml
- Stars
- 1.2k
- Forks
- 214
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from moby/vpnkit
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
azerothcore/azerothcore-wotlk#27903 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
apache/maven-plugin-tools#1232 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/playwright#43050 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
conda-forge/conda-build-feedstock#289 · 1 comment · 1 reaction ·
-
kind/enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day