-
-
Notifications
You must be signed in to change notification settings - Fork 555
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
Debianize #903
base: master
Are you sure you want to change the base?
Debianize #903
Conversation
109b735
to
01fe50d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @Elbandi thanks for tackling this. but in order for me to merge this I had to ask a bunch of noob question, please bear with me. also: do you have a good source I can read up on this procedure for future reference? I am no Debian guy so I this might seem stupid :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just the rustc version needs changing I think. but in terms of publishing how does it work once we have this in master
? can you point me at a similar GitHub repo of a project that contains these files? do they have some sort of CD pipeline publishing things based on these files? I thought these files are usually stored and maintained in some other place external to the project and owned by the person owning the Debian package?
or is this intended to be used by Debian/ubuntu users locally as a means to install gitui? if so, can you add documentation into the readme?
I'm just an onlooker with an opinion, but I don't think this PR is the best approach. It would require users to build the binary each time they install the package. A better approach is using cargo deb to build a deb binary package. Then there would be no dependency on cargo and rustc. |
@boydjohnson this PR seems abandoned anyway. Would you be up to work on a PR to add deb creation to the pipeline? |
Yeah, I will create a PR this week that modifies the |
This is the debian package build guide: https://wiki.debian.org/HowToPackageForDebian Debian/ubuntu releases isnt a bleeding edge distro. They pick up a stable release from github, and build the source and puts the package to repo. If you want build a package for every commit, there is solution for do that in "debian way" (eg: create a new changelog entry from commit messages at build step). |
I think you are right, @Elbandi. I will test building a deb source and binary from this PR. I had only had use with cargo-deb. |
cargo test --release | ||
|
||
override_dh_auto_build: | ||
# cargo build --release |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this commented out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yepp, cargo install do again the build process internally. so this "cargo build" is useless. the empty override_dh_auto_build is needed, to "drop" the default build command.
Maybe i sould write the reason here. :/
Hi @Elbandi I was able to build a deb binary using This looks good to me. Let me know what I can do to help. |
here is a sample: https://github.com/dmx-systems/dmx-build-deb/blob/cf0e0292c67d601b9a1404763c5a4756fd9d6b6c/.gitlab-ci.yml#L162-L164 |
@extrawurst I gave bad information in
Specifically that cargo deb is the better approach. This PR makes it possible to build debian source and debian binary packages. From reading at the debian wiki link up above, this is the only way that we could get it included in an official apt repository. |
@boydjohnson I am not sure I can follow. does this mean your PR is obsolete? i can't merge this one either so we are back to square one. |
@extrawurst If this PR built deb packages in github actions would you be willing to merge it? |
@boydjohnson yes we need this to be part of CI and CD - also its would be great to document how to update for new release (like by now we are already at 0.19 where in the PR it is still 0.17.1 |
@Elbandi Would you be willing to do the work of adding building the deb to both github actions workflows? Also, since @extrawurst is listed as the maintainer, he would have to provide a gpg key to sign the source. @extrawurst, do you have a gpg key and are you comfortable signing the source? |
@boydjohnson can you elaborate what exactly needs to be signed? I never signed any commit in here, I guess you are not talking about that, right? what do I need to gpg-sign and why? |
I am sorry I am such a noob when it comes to deb. feel free to take this conversation to discord (link on readme) to simplify teaching me |
No problem, @extrawurst. Yeah, so as maintainer of the debian package, you would sign the source so that people could verify that it is what you say it is. The key would probably be a secret that you added to github and would be used in the github actions to sign. Let's see what @Elbandi says. |
I rebased the branch to the latest release, and started to play with GH build. but there are some mysterious errors and segfaults. only ubuntu amd64 builds work :( |
@Elbandi you need help with this? I'm using a Debian/bookworm and was able to |
setting to draft for the time being |
Priority: optional | ||
Maintainer: Stephan Dilly <dilly.stephan@gmail.com> | ||
Build-Depends: | ||
debhelper (>= 11), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
debhelper (>= 11), | |
debhelper-compat (= 13), |
@@ -0,0 +1 @@ | |||
11 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -0,0 +1,4 @@ | |||
[DEFAULT] | |||
debian-branch = debian/master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
debian-branch = debian/master | |
debian-branch = debian/latest |
To be compatible with DEP-14: https://dep-team.pages.debian.net/deps/dep14/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a Debian Maintainer (DM) (just a random guy that maintains packages on Debian/Ubuntu)
An willing to help package this one
See:
- https://wiki.debian.org/Teams/RustPackaging
- https://salsa.debian.org/rust-team/debcargo-conf/blob/master/README.rst
Let me know if you need help
Just wanted to express my desire to see this implemented! I need to move to Pop!_OS and would love to have gitui in the upstream repositories on Ubuntu Jammy. |
You should file a RFP: https://wiki.debian.org/RFP |
@williamdes i checked your suggestions, and you have (almost) right. |
I just installed Debian 12 and by the apt install gui command it finds nothing |
It makes sense, this package never did enter Debian |
This issue has been automatically marked as stale because it has not had any activity half a year. It will be closed in 14 days if no further activity occurs. Thank you for your contributions. |
This commit adds the required files to build for ubuntu/debian. Tested(=builded) on ubuntu bionic LTS and focal LTS, they already have new rust. Unfortunately debian havent new rust, it cannot build with main packages. (but you can install rust packages from focal)