Software Support > GroovyMAME

GroovyArcade live-CD 2022 (collaborative effort)

(1/102) > >>

Substring:
Hi everyone,

Here is an attemps of going a little more open source for GA. I've set up a gitlab group gitlab repo showing all projects I'm working on regarding GroovyArcade.

So the aim of this repo is to:

* give a base repo to GA iso
* be able to "easily" build GA on your computer (in my case, I'm not using Arch Linux but Ubuntu)
* setup some automatic build process -> CI kicks in!
* be able to easily add some packages to GA
* and mostly give a hand to ves who's been doing GA all alone
DISCLAIMER
This is does not build a usable GA yet ! The ISO is bootable, you can launch X, even GM, but it's a real bare Arch linux ISO with GM and a few other emulators. The kernel is not even patched with 15kHz (despite the 15kHz is packaged). The repo is more a proof of concept that much can be automatically done to build the final iso.

What needs to be done
Well, still much in fact (this list is not complete, just showing major steps):

* Add the whole gasetup thing, make it a package + a repo
* include the 15kHz linux kernel (which also means rebuild the initramfs)
* setup an AUR repo for easier updates. One point regarding that : anything required to setup a AUR repo is in the github releases page (this is why gitlab mirrors to github, and the CI does the releases to github, saving a server for now)
* write documentation, despite the .gitlab-ci.yml is quite self explanatory when reading the jobs
* make sure it can be booted from USB (.iso is so 90s :D). It should be bootable, but i just couldn't test yet
* clean the repo, a few files are unnecessary
* improve the CI to only auto build the master branch when any commit is pushed, build other branches manually (with probably a basic makepkg --nobuild for a basic check) and release when tagged
For curious people

* check the buildContainer.sh + buildGA.sh scripts, they do the main job. There is also a docker file that' I've been using with the builder.sh to build locally. The CI is natively built in an arch linux docker image
* read the packages_*.lst files + the package folder. packages_arch.lst are (for now) arch packages that are patched on the fly when it's time to build them. mame is patched with groovymame and becomes a groovymame package. Same goes for liunx -> linux-15kHz. packages_native.lst are genuine arch packages that are installed. packages_aur.lst are AUR packages built and then installed in the iso. packages_local.lst is packages_arch.lst once patched, and lists packages to install in the iso (mame+linux -> groovymame+linux-15khz)
* buildContainer.sh 's job is to build all packages, and then create the necessary files for an AUR site. I've tested locally, works great. See the web-repo folder on how to host
* buildGA.sh downloads and unpacks the default ARCH iso, unsquashfs the arch suquashfs file, installs everything in it through chroot, then re-squashfs the folder, patches some names here and there for grub, and rebuilds the iso
* the pipeline that built the 2019-04 tag and deployed the release to github : https://gitlab.com/substring45/test/pipelines/55863348
Final word
I hope we can make it grow in a real GroovyArcade build system!

Credits and thanks go to Calamity, ves and doozer for their respective work on groovymame, groovyarcade, linux 15kHz patches and help on questions I've been asking them.

Edit: well, all that was written months ago, erad the thread for more news. But if you want to go straight to the main stuff (download an iso and test) :
ISO DOWNLOAD LINK : https://github.com/substring/os/releases
Prefer releases in the YYYY-MM format, any other is a testing branch and will be deleted. Unless you wanna debug with me :angel:

keilmillerjr:
So long as there become a well documented readme and still an option at boot to select display, im all for no gasetup. Will check it out soon and hopefully can contribute in some way even if small.

Substring:

--- Quote from: keilmillerjr on April 09, 2019, 03:24:39 pm ---So long as there become a well documented readme and still an option at boot to select display, im all for no gasetup. Will check it out soon and hopefully can contribute in some way even if small.

--- End quote ---
I've written a wiki at https://gitlab.com/substring45/test/wikis/local-build, it should have all the info to locally build, but I may have missed some parts/pre-requisites

cools:
Is there a reason not to use the central AUR?

I had packages there for Groovy a couple of years ago, just don't have the time to maintain anymore.

Substring:

--- Quote from: cools on April 11, 2019, 03:52:38 am ---Is there a reason not to use the central AUR?

I had packages there for Groovy a couple of years ago, just don't have the time to maintain anymore.

--- End quote ---

Good question! I considered for a moment submitting packages to AUR. But haven't done it yet for a few reasons:
- as for now, I feel it easier to handle packages on my side. It's just 2 of them : groovymame and the 15khz kernel
- I feel it's better for now if people want to contribute to the repo, and not lock AUR packages to me only
- keeping it up with the linux package that updates every 5 days is too demanding for now

But that's something I could definitely consider in a near future. Or if someone wants to take the task, that's a good thing.

Which packages had you added to AUR ? Feel like resurrrecting them ?

Navigation

[0] Message Index

[#] Next page

Go to full version