Maxine Hayes's Avatar

Maxine Hayes

@maxinehayes.bsky.social

Hi everyone! I'm Maxine a #Linux Systems Administrator and Linux Engineer. I like to learn about how Linux works on a lower level and write #Bash scripts.

92 Followers  |  14 Following  |  76 Posts  |  Joined: 18.09.2023  |  1.9755

Latest posts by maxinehayes.bsky.social on Bluesky

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

29.12.2024 02:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

12.12.2023 17:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

12.12.2023 17:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image

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

05.12.2023 14:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

04.12.2023 16:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

So far I have a way to collect metadata on an OpenELA repository then cache it for later use.

04.12.2023 16:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

28.11.2023 14:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

28.11.2023 14:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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.

28.11.2023 14:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

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

21.11.2023 21:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

16.11.2023 16:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I can probably clone the repo and change it to use the https link instead then build the source rpm for koji.

15.11.2023 22:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

15.11.2023 22:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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

15.11.2023 22:23 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

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

13.11.2023 16:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

YES!!!!

The OpenELA git repo is here!! Time to get serious.

github.com/openela-main

#linuxengineer #enterprise #linux #openela #linuxfromscratch

02.11.2023 14:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

30.10.2023 20:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

30.10.2023 20:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It's got some pretty neat features and expands the capabilities of a traditional shell greatly.

30.10.2023 20:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

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

30.10.2023 20:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

26.10.2023 22:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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.

26.10.2023 22:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

23.10.2023 15:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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

23.10.2023 15:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

#mutualaid #trans #gofundme #Oakland #BayArea

19.10.2023 15:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Reposting here for reach.

www.gofundme.com/f/miss-chile...

19.10.2023 15:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It's been a lot of fun digging deeper into this process. I learn something new each day and find more to share.

18.10.2023 16:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

18.10.2023 16:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

18.10.2023 16:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

18.10.2023 16:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@maxinehayes is following 12 prominent accounts