I just realized I don't think I ever shared the link to my OLF 2024 Rocky Linux is My $HOME presentation on my socials. Enjoy!
video.veraciousnetwork.com/w/komgZLGYvY...
p.s I remembered by Bluesky login
#RockyLinux #Ohio #Linux #OLF2024
I just realized I don't think I ever shared the link to my OLF 2024 Rocky Linux is My $HOME presentation on my socials. Enjoy!
video.veraciousnetwork.com/w/komgZLGYvY...
p.s I remembered by Bluesky login
#RockyLinux #Ohio #Linux #OLF2024
This is a before and after of the refactoring for my collect_data module. I've actually taken to removing the cache system and have gone for a more iterative approach using generators where I can. This design has a lot more flexibility and is easier to work with.
I've been learning about functional programming in Python as of late. I've been using the paradigm and new knowledge to refactor my OpenELA import tools. I've noticed a huge improvement in code quality and readability.
#python #functionalprogramming #softwaredevelopment
I have a file-backed cache system now. It works similarly to a dictionary in Python, but only stores values in files as JSON. I still need to implement time-stamping. I'm also importing OpenELA sources into Koji from the cache.
#linuxengineer #enterprise #linux #openela
The caching is for minimizing the amount of Github API calls over a period of time. The data collected on a repository consists of: repo name, clone url, ssh url, branches, and tags. Just enough data to be useful and not cumbersome.
So far I have a way to collect metadata on an OpenELA repository then cache it for later use.
It's not the cleanest implementation, but it's easier to work with the API in Python. To test it I even built the Python3.11 package just for giggles.
It's based on my scm_build script, but it calls the github API to make sure that the repo contains the 'el-9.2' branch before telling koji to build the package.
I've been working on some tools to help me import OpenELA packages into Koji. I wrote a script in Python to make this easier.
I think I'm getting the SCM part of koji figured out. I got an SRPM to build from Rocky's GitLab. I was missing a way to fetch lookaside sources, so I used Skip Grube's getsrc.sh script for that in the kojid config.
#linuxengineer #enterprise #linux #openela
I got the OpenELA sed to build in koji after changing the source link in the spec file and creating the source rpm.
#linuxengineer #enterprise #linux #openela
I can probably clone the repo and change it to use the https link instead then build the source rpm for koji.
This isn't the OpenELA version of the sed source code. There's still some stuff that needs to be worked out. For example the ftp link to download sed's source code with spectool returns a 404, but the https version doesn't.
I finally got sed to build. I had to make some adjustments to /etc/mock/sites-defaults.cfg. I also had to figure out what I needed to make the srpm-build and build groups properly.
#linuxengineer #enterprise #linux #openela
I think I'm starting to get this figured out. I found some pretty useful Ansible playbooks written by ktdreyer. I had to make some adjustments to the Vagrant file to make it download the correct CentOS Stream image though. It was pointed to a 404 before.
#linuxengineer #enterprise #linux #openela
YES!!!!
The OpenELA git repo is here!! Time to get serious.
github.com/openela-main
#linuxengineer #enterprise #linux #openela #linuxfromscratch
It's actually a really good quirk too! This feature actually makes it easier to script and manipulate the PATH variable in many ways.
While my demonstration is not particularly impressive I think it's kinda neat how python and shell are intertwined in such a nice way.
What stood out to me the most is the fact that the PATH environment variable is an array and not a string. This is a quirk I've only ever seen in the rc shell from Plan 9.
It's got some pretty neat features and expands the capabilities of a traditional shell greatly.
While I've been waiting on packages to compile for ELFS I've been playing with xonsh in between builds.
Xonsh is a python-powered shell. I don't often use python, but have started growing a liking to it with xonsh.
#python #shellscripting #shell #elfs #xonsh #linux #linuxengineer
In stage 2 I build as many of the build requires for the stage 1 sources as I could. This will hopefully help with backing off dependency on Fedora's buildroot.
I'm working on stage 3 of ELFS now. Stage 3 is essentially a rebuild of all the sources in stage 1 without the bootstrapping instructions.
The makefiles I wrote are kinda neat. To implement a new build target at the bare minimum all that's required are 4 lines. Makes it a lot faster to debug and get a glimpse of only what is specific to the target.
I've been working on the new bootstrap method alongside a couple makefiles to aid me in testing. I'm on stage 2 now and so far things are looking pretty good. #linuxengineer
#mutualaid #trans #gofundme #Oakland #BayArea
Reposting here for reach.
www.gofundme.com/f/miss-chile...
It's been a lot of fun digging deeper into this process. I learn something new each day and find more to share.
If this is true that explains why the waters are a bit muddy when it comes to building EL 9 from scratch using the upstream buildroot.
Now with 10 and higher they're doing this with Fedora ELN and CentOS Stream. I also believe now for 9 what they're doing is pulling the newer sources from CentOS Stream into RHEL.
They then build the modified sources one by one to start the beta release of RHEL. Once they have the beta in a workable state they refine the system from there.