Open FeignInt opened 4 years ago
Ref: https://github.com/dosbox-staging/dosbox-staging/issues/664
I did setup this for Debian, used some of your stuff: https://salsa.debian.org/okias-guest/dosbox-staging
Would you join on getting it into best shape and trying to push it into unstable? I'm not debian maintainer myself, but when it'll be prepared and in "best shape" it's likely that someone would maintain it inside Debian, so it'll logically get into Ubuntu too.
Hi @okias Apologies for the delay,
I will try and take a proper look at your salsa over the weekend. ( and create an account ) But after a very quick look,
The original debian "DosBOX" blobbed the desktop/icons, d/source/include-binaries I dropped this as dosbox-staging has them in contrib/, Initially I had d/rules sed | make hicolor
, then created a crude patch... The next time that patch breaks I will probably drop back to using d/rules or do a proper
if linux && --include-desktop; then blah blah
for upstream ( and hope it gets expanded to Mac/Windows )
But yeah, It would be nice to see dosbox-staging in official repos, with alternatives system
fixed libfluidsynth, also I would like to fix default dosbox-staging build for Linux (so it'll install .desktop & metadata + icons). Just not sure how to do that exactly (also hate automake so much, hopefully they'll start moving to cmake or better Meson soon).
The desktop stuff is fairly straight forward.
The simplest solution is the way Debian "dosBOX" does it, i.e. include the .desktop and .png files. However, dosbox-staging unlike dosBOX upstream has .desktop and pngs available.
They can be found in contrib/linux
and contrib/icons
The icons need to be generated with make hicolor
which is dependent on librsvg2 ( hence librsvg2-bin build-dep )
commit 2af2f94ccc09510a88d97d84abd7817b68c36aa7 was my switch from a debian/rules solution to an initial patch Note that the patch has changed since that commit as the files it patches have since changed.
The downside of the patch is that it may break if things change upstream. The patch is also a bit hacky, ( and needlessly duplicates icon creation for both main package and the debugger ) but it works, feel free to grab that latest patch
debian/patches/linux_desktop_files.patch
don't forget debian/patches/series
I may have another look at proper patch for upstream i.e. ./configure --linux-desktop
but occasional refresh aside the current hack "just works"
I finally got registered on salsa.
I'll have a poke around.
I noticed that when you versioned the libfluidsynth-dev build-dep you squashed it. It would be better to have separate commits so we have a revision history.
It would probably be best to start with a clone of https://salsa.debian.org/debian/dosbox and migrate it to package dosbox-staging with a series of commits.
Does the salsa CI produce packages? I have not read anything in detail yet, but some of the things I skimmed through appeared to imply that.
Generally I did started w/ dosbox. Salsa doesn't generate packages, just CI tests (at least not officially), thou it's easy download debian chroot (I used it that way on Gentoo). About commits, until first release, I squashung changes, at momebt whem its in debian, I keep changes more obvious.
Right now, we need patch for desktop file and icons we can upstream to dosbox-staging and just call it from make.
And why you running chroot, doing gbp buildpackage will generate packages for you :)
And why you running chroot, doing gbp buildpackage will generate packages for you :)
:confused: This repo is fully automated, github actions create source packages with gbp which are then pushed to Launchpad's PPA which in turn compiles/packages dosbox-staging.
When I build locally I typically :
gbp buildpackage --git-pbuilder ...
The chroot ensures a clean build env. and since I use Debian Sid which is updated frequently I'm not constantly updating packages which are not in use 'day to day'
I've only recently started using gbp/pbuilder, prior to that I mostly used LXC if build depends were extensive.
:bulb: ahh, I think I know now, The chroot was in ref. to docker ? I opened this a long time ago, and forgot about it. These days Ubuntu and Debian are close enough the Groovy package in the PPA works fine on my Debian Sid.
Had it been problematic I would have further explored docker with github actions or just scripted locally to push packages to some repo
or, and this is more likely just pointed people to compiling yourself
https://salsa.debian.org/Feignint/dosbox-staging
I have not "released" a version yet, so no debian/0.75.0-1 tag
I want to look at the debian/copyright file first
gbp buildpackage \
--git-pbuilder \
--git-export-dir=../build-area
or, if not using pbuilder/cowbuilder
gbp buildpackage \
--git-overlay \
--git-export-dir=../build-area
I opted for the simple 'blobbing' of icon files, reduces build depends and less hacky. ( but could become outdated )
Currently libfluidsynth-dev is not a build-dep
@okias just a little update on icons...
The patch 'broke' with v0.75.2, I think it was due to me rebasing it against master for the weekly builds.
I have pushed a new ( lengthy named ) patch fc4131a
It is much simpler, basically it patches contrib/icons/Makefile
-hicolor:
+%hicolor:
so in debian/rules ... override_dh_auto_install:
$(MAKE) -C contrib/icons \
$(CURDIR)/debian/tmp/usr/share/icons/hicolor \
clean
installs them without all the dancing around with mkdir -p and mv
The clean is optional
The .desktop file is installed via debian/dosbox-staging.install
I think I can have github use docker to compile for Straight Debian releases.
[x] host somewhere, I don't really want host in a github repo.