-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deb/PPA packaging? #34
Comments
I don't have any experience with packaging or PPA so I won't be doing it, but anyone who is willing can do it |
And releasing deb packages on the releases section? Would you be game for doing that? :) |
I will look into packing it for Debian, shouldn't be too hard thanks to meson. |
Yay! :D |
I don't see any problems with building or dependencies on Debian so far, however right now the build requires networking for the Dear ImGUI module. This is something which is not allowed in Debian, so there would be some changes required. Right now I try to get a build system (meson) for Dear ImGUI upstream to simplify packing it for Debian (ocornut/imgui#3060), then I would propose to use it here as a fallback via wrap. |
Just making a MangoHud source package with |
Enough to build it from a source tarball, yes. I still prefer wrap and a proper submodule, that way you eliminate the need of a git repository for building from your actual working dir (aka not the source tarball, helpful but not strictly necessary). See #83. |
@jackun @flightlessmango can you release a complete source tarball for 0.3.1? Then I could start working on the package. Best just call it |
Thanks for uploading the source tarball for v0.3.1, however you forgot to include hidden files (the |
I blame |
It did, but even if not Dear ImGui's
Ahh that makes sense. I'll guess I'll need to contact Meson then that they maybe should include everything. Anyway, the first build attempt is up on salsa. It does build just fine as far as I see it, but when I was looking into the copyright situation I got some headaches. |
How did you even get it to build the package? |
Something is up with source tar but just running |
There should be no compat file, your build system is just way out of date (Ubuntu 18.04 is really old and does not have debhelper 12). Install debhelper 12 from backports.
Hm weird, it worked for me, which script do you mean exactly? Can you try it with
You can setup |
Thanks for the help after installing all the dependencies (including debhelper from the backports) it starts to build the package but gets an error while compiling meson.build:194:2: ERROR: File /usr/share/vulkan/registry/vk.xml does not exist.
I can change it however I want this error still happens.
I tried to change the control and rules file to get them working without debhelper 12 but with the backports it is sort of working. |
This is due to override_dh_auto_configure:
dh_auto_configure -- -Duse_system_vulkan=disabled However the source tarball does not include the Vulkan Headers, so you need exclude the diff in the |
Is version 1.1.74 really needed because of features or is it just the latest version you can test. I don't like to manually installing package because of the missing updates. At the moment Ubuntu 18.04 (and distros based on it) is still one of the most used version. Yes a lot of packages are outdated (so I have to use the oibaf ppa and install the newest kernel using mainline) but it somehow works reliably and I don't think it is a good idea to abandon a really large user base. |
Yes it is. Before that version there is no
I don't really understand what you mean here. disco is old-stable (soon old-old-stable) for Ubuntu so there will be no new updates for disco. Bionic won't get any Vulkan updates either, not even in backports.
First of all, I'm not a member of MangoHud, I'm just building a deb for the distro I use, which is Debian Sid (or "unstable"). I don't abandon anyone. If you want to have a deb anyway, you have two options:
I won't maintain a PPA, I'm sorry, it's just not what I use. |
I'm working on packaging this as a *.deb right now. Calling All I need now are the dependencies. From what I can tell, the only package required to be installed with the MangoHud binaries, etc, is |
I already did it (source is on salsa), so you don't need to do it again, except of course if you want to do it for bionic, but I already wrote what's necessary for that. The only thing left for a Debian Policy compliant package is a solution for #121 and the full copyright information from Dear ImGui.
That is not how a deb should be build, it should invoke the build system itself (aka meson).
You can check the dependencies for building on my salsa, if you want to have the runtime dependencies check what |
I got the package to build by using the vulkan backports ppa and it seems to work. I will try uploading it to a ppa to test if I get that to work. |
Can you send me the debuild log? |
running |
The problem is not in the build files, this is the problem:
I'm not quite familiar how Ubuntu handles it, but it should just be the renamed upstream source tarball.
The source package is not necessary (at least not for bulding), running
Yes, it would work, but there are a couple of reasons against it. Native packages are intended for programs which just don't make sense on other distros, for example
Btw before you promote it, the copyright file is still partially incorrect (I just didn't bother to invest the time yet), so be aware of that, and don't forget to mark it as non-free (change the section to |
Thanks for the help that got the package to work.
I create a merge request to your repository which added the required version information to the control file. Also thanks for the detailed explanations it makes it really easy to get this to work on other distributions and helps (at least me) understand why things are done this way. |
0.47 for feature get_option() , 0.49 for not having to use |
You're welcome. Creating a deb isn't exactly easy in the beginning, but once you master it you start to appreciate it's pedanticness. |
@flightlessmango @jackun can you upload the source packages from |
Did it need to be exactly at tag? It might need a commit with version.h generation dependency. Probably have to retag it anyway. |
I should be exactly at the tag, if there is a fixup I can patch it. |
I'm on it but there seems to be a problem when downloading the source tarball using |
Ah sorry I haven't mentioned I pushed a fixup today. Latest sources should work. Btw I now use debhelper compat 13, you might want to downgrade that to 12 for bionic.
Whoops, yeah I could add it, instead I disabled xnvctrl completely. If you wait 15min I push a fixup for that.
Yes, just don't use |
Thanks for the advice I got the package to build for bionic and it seems to work just fine. |
@jackun @flightlessmango can you release the source tarballs for 0.4.0 generated from |
@stephanlachnit check it |
Thanks! Hopefully I get this version sponsored^^ |
Quick bug ifx 0.4.1 incoming 💯 |
@noah1510 are you still working on a PPA? I got the build files for 0.4.1 up here: https://salsa.debian.org/games-team/mangohud/-/commit/5d7b889ed9bdcfb00f89600c1382b116b8455b05 For Ubuntu you probably want to build with NVML, I added an explanation how to do it in |
@stephanlachnit I am able to build mangohud for a Debian 10 base with pbuilder using the dfsg source and your debian directory, but upon install none of the mangohud config files exist as per https://github.com/flightlessmango/MangoHud#hud-configuration. I'm not even sure the built package is good at all honestly. Also I had to build with newer build depends than what ship with Buster in my local repo, trying to build on a Buster base failed. By chance are there specific versions for the build depends that should be used? I'm going to see if the openSUSE Build Service can build this for Buster and Bullseye and if the package comes out fine. |
No config files is installed by the upstream build system, so I won't add one either. You can use the example config file (for the location see the readme). You can also use GOverlay (check my Salsa, you can find the build files for Debian there). At least for me, the package builds just fine, tested it and it worked. I'm running Sid, so I can't tell you exactly what I used when I builded it the last time. You can change pbuilder to use the Sid repos though I think. |
ah ok, thanks, I just assumed that a default was created under I should probably figure out how it all works lol ;) The dependency thing isn't a problem really either, I did and plan on building against whats in Sid anyway for the most part. I plan on getting to GOverlay soon. Thanks again! |
Just for reference, Dear ImGui is a major blocker for a Debian package. I got a response from a DD: https://lists.debian.org/debian-devel-games/2020/06/msg00010.html In a nutshell, some of the files included in ImGui make it impossible to distribute it within Debian, and I'm not a big fan of repacking MangoHud by hand every single time. Easiest solution is #153. |
@jackun can you upload the DFSG source package for 0.5.1? |
Doh, right. |
I created this ppa where the debian package source is automatically built. Because the debian source is for debian sid, the focal packages are too old, so its only able to build for groovy. Unless somebody want to handle the releases, the automatic build will only work for the latest ubuntu version because debain sid packages tend to be on the latest debhelper-compat version which is only part of the latest ubuntu version so when debain introduces a new debhelper version, the package will be broken for every ubuntu version except the latest. |
Can be closed, an official Debian package is now available: https://tracker.debian.org/pkg/mangohud |
automated ubuntu builds also work. |
@noah1510 does that build include nvml and xnvctrl? |
Iirc not NVML, xnvctrl if the lib is installed (will be suggested to the user during installation). Someone did a PPA with (system) NVML enabled: https://mobile.twitter.com/m_wimpress/status/1337782085025673222 But besides that both are identical to the Debian package. |
@flightlessmango I don't think it does. It is simply a build of the debian sid sources without any modifications. |
I assume it's safe to close this by now |
Any chance we could see this with a DEB packaging for releases or perhaps a PPA? :)
The text was updated successfully, but these errors were encountered: