sonic-net / sonic-net/sonic-mgmt-framework

Don't install dependent packages in Makefile

Open
#64 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
37
Forks
122
Avg merge
2d 20h
Merged PRs (30d)
3

Description

Installing dependent packages in the Makefile (see here) can break a parallel SONiC image build, because it can cause parallel executions of dpkg, which can cause failures. The build system has a dedicated lock to ensure only one make process can run dpkg at a time (also not that these calls to apt-get install do not have the -y flag, so they require a human to press y on the keyboard, which would cause the SONiC image build to fail, anyway).

In the image, we simply need to make sure the dependencies are installed in the build container as well as the host OS before building and installing sonic-mgmt-framework.

I suggest removing these lines and adding instructions for installing these dependencies in the README.md file of this repo. If you would like, you could also change these lines to perform the same checks, but instead of installing the packages, it could error out with a message stating that the dependency is not found.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect CLI/Makefile lines 47-52 and the repository README.md. Confirm how dependencies are currently installed during the build, then update the build instructions or dependency checks so Makefile execution does not install packages with apt-get. Done means the dependency requirements are documented and parallel image builds no longer invoke those installs.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.