I packaged "Dave Gnukem" silly retro game
Dec 5, 2021 16:09:50 GMT
Hippytaff, ylee, and 2 more like this
Post by enigma9o7 on Dec 5, 2021 16:09:50 GMT
Recently I requested lbreakouthd packaging, after finding its source and seeing it builds easily. Well I ran into another game that wasnt packaged, and decided it's time I learn to do this!
I gotta say, docs are not the most straighforward in general, but I managed to get it figured out in the end. Took multiple days and trial and error getting things to work tho.
In this particular case, the original Makefile was "ad-hoc" and didnt even have a make install command. So the automated dh stuff didnt create anything useful from it. My solution was to add install to the Makefile myself, along with adding desktop file, launch script, and png icon (converted from exiting bmp). Adding install target working in Makefile was fairly easy at first as it was just shell scripting, but getting debuild and dh to accept it was challenging, using $PREFIX and $DESTDIR stuff for staging. I just PR those changes upstream so maybe they get accepted.
Even then the default debian/rules wasn't quite good enough cuz of how it used the $PREFIX, but with some help from someone in #packaging on irc, I got the rules file sorted.
At this point it was building binary packages no problem, so I decided to try to host on a launchpad PPA. That was a hassle too, more hoops, create source package, creating PGP keys to sign, figuring out how to get thru all its build complaints, and versioning requirements, how to build or copy for other distroseries, etc. Anyways finally got it all sorted.
If anyone wants to play this game or check out my mad packaging skillz:
For bodhi 6 legacy only:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 98D3A111E2C097E5
sudo add-apt-repository ppa:enigma9o7/gnukem
sudo sed -i 's/jammy/bionic/g' /etc/apt/sources.list.d/enigma9o7-ubuntu-gnukem-jammy.list
sudo apt update
sudo apt install gnukem
For all other bodhi 4-6:
sudo add-apt-repository ppa:enigma9o7/gnukem
sudo apt install gnukem