sonic-net / sonic-net/sonic-mgmt-framework
Don't install dependent packages in Makefile
Nobody has claimed this yet.
- 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
- 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.
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