Gentoo "Modernization"
-
Week 4 – Modernization of Portage
Week 4 – Modernization of Portage
Another week of GSOC. Days run really fast. This again was a productive week. The first half was towards understanding the unit tests for portage and the second half was towards solving a bug.
Testing in portage
Tests are one of the most important components of any software. Portage being no exception employs unit tests for testing. Till now, I did not bother to look into the tests. We have a bash script
runtests
. I run it and I watch for things to succeed. Sam felt that I needed to have a bit more understanding of the tests, for various reasons. So, I started looking into the tests.[...]
Bug 528836
From day one, I wanted to work on the dependency resolution system of portage. But it is obviously not a simple job and so Sam advised to get familiar with the algorithm by fixing bugs related to that. Sam chose me a bug to fix and it is 528836. The problem is that two conflicting packages are pulled in when only should have been pulled. The bug was not reproduceable with the current state of portage and the ebuild repository. There were a few hurdles along the way, but finally, we were able to reproduce the bug by restoring portage and the ebuild repository to 2017.
We are not yet sure if the bug is due to portage or some misconfiguration in the ebuild repository. We will continue to work on it and I will keep you posted.
Next week’s plan
The next week’s plan will be to write tests for this bug to make sure it doesn’t happen again. We will also try to squeeze in a few more quality of life changes if time permits.
-
Weekly report 4, LLVM libc
Hello! This is a combined report for both week 3 and 4.
In these two weeks I’ve fixed several issues in LLVM libc, but quite a
lot of time has also been spent purely learning things. I will start
by going over what I’ve learned, and then refer to related issues.To start with I have gotten quite comfortable with CVise, how to use
it and general tricks about writing the test script for determining
whether the issue is still there after reducing a source file. For
example, I had an issue about a the print format macro PRId64 not
being defined on LLVM libcThis caused an error that looked like this: [...]