Skip to content
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

Packaging: Provide native packages for Debian & Ubuntu #2393

Closed
SchoolGuy opened this issue Aug 8, 2020 · 33 comments · Fixed by #3197
Closed

Packaging: Provide native packages for Debian & Ubuntu #2393

SchoolGuy opened this issue Aug 8, 2020 · 33 comments · Fixed by #3197
Assignees
Labels
enhancement New feature or request Packaging Issues related to packaging
Milestone

Comments

@SchoolGuy
Copy link
Member

Is your feature request related to a problem?

Currently we only provide packages for Debian and Ubuntu via Debbuild. This is good for test installations or users how know the OBS already and are familiar with it.

The Behaviour you'd like

apt install cobbler

Alternatives you've considered

Well the OBS is nice and all but in the end we will probably have more users when providing Distro-Native packages. Also we will have a simpler specfile.

Additional context

Current OBS project in my home: https://build.opensuse.org/project/show/home:SchoolGuy:cobbler

@SchoolGuy SchoolGuy added enhancement New feature or request Packaging Issues related to packaging labels Aug 8, 2020
@SchoolGuy SchoolGuy added this to Inbox in Backlog via automation Aug 8, 2020
@SchoolGuy SchoolGuy moved this from Inbox to Bug Reports in Backlog Aug 8, 2020
@SchoolGuy SchoolGuy moved this from Bug Reports to Feature Requests in Backlog Aug 8, 2020
@SchoolGuy
Copy link
Member Author

As per the Gitter chat @dansou901 said he is able to start working on this later this year.

@SchoolGuy SchoolGuy moved this from Feature Requests to To do in Backlog Aug 10, 2020
@SchoolGuy
Copy link
Member Author

@dansou901 Do you think you will be able to progress this? Or shall someone else take over? What is your desire in this regard?

@dansou901
Copy link

I still want to do this, sadly I didn't find the time yet to do so. But I will have at least one more week of holidays this year, then I'll start on this for sure.

@SchoolGuy
Copy link
Member Author

Thanks a billion times! I will try to integrate the openSUSE OBS so you don't have to worry about dependencies and building.

@SchoolGuy SchoolGuy added this to the v3.3.0 milestone Nov 19, 2020
@dansou901
Copy link

I already did some digging around and try to figure out the best way of doing this. I'm still quite new to debian packaging as I never packaged something as big as cobbler. What I found is that the openstack did debian builds way back until version 2.6.6. So to get the current version into debian, we would need to inherit their responsibility for the cobbler package which should be orphaned by now. At least that's the current state of cobbler in debian.

@SchoolGuy
Copy link
Member Author

@dansou901 The way of getting this on the SUSE side is just to ask nicely on the appropriate mailing list. Thus I believe a mail and updating to the latest version is the thing to to. If you somehow see a showstopper, I would be glad to help you...

@dansou901
Copy link

It's much more complicated on debian, see the following document: https://www.debian.org/doc/manuals/distribute-deb/distribute-deb.html. They have a special issue tracking system to ask for including packages on which you have to follow a specific route to have your package added. The package also needs to meet specific requirements. It's all listed in the link above.

@SchoolGuy
Copy link
Member Author

Thanks. I will have a look. Maybe we can split the work so it gets easier for both of us!

@SchoolGuy
Copy link
Member Author

Since I broke master with one of my PRs and I want to ship the new version rather sooner then later, I think I need to reschedule this for 3.4.0. We have DEBs so it is not pressing for now imho.

@SchoolGuy SchoolGuy modified the milestones: v3.3.0, v3.4.0 Jun 25, 2021
@SchoolGuy SchoolGuy moved this from To do to Feature Requests in Backlog Jun 25, 2021
@SchoolGuy SchoolGuy added this to To do in V3.4.0 Jun 25, 2021
@nodeg nodeg removed this from the v3.4.0 milestone Jul 9, 2021
@SchoolGuy
Copy link
Member Author

@dansou901 Do you have an update on this?

@dansou901
Copy link

I'm sorry for the late answer. Currently, we are discussing internally which tools we want to use in the future to administer our systems. This will take a while. It's a possibility that we will drop the usage of cobbler in favor of something different, but that's not clear yet. As soon as it is, I will have a look at this again.

@SchoolGuy
Copy link
Member Author

@dansou901 Thanks a lot! If you decide to replace Cobbler I would love to know which solution won over Cobbler. I would love to make it better for other people, so the community gets bigger in the future.

@dansou901
Copy link

I will. Right now, we are starting to bootstrap our new configuration management infrastructure, so setting up a new install server will be part of that. As soon as I have more news, I'll check back in here.

@SchoolGuy SchoolGuy added this to the v3.4.0 milestone Jun 13, 2022
@SchoolGuy SchoolGuy removed this from Feature Requests in Backlog Jun 13, 2022
@SchoolGuy SchoolGuy removed this from To do in V3.4.0 Jun 13, 2022
@SchoolGuy
Copy link
Member Author

@dansou901 Any news on this?

@dansou901
Copy link

I'm still busy setting up the new environment in our infrastructure, I'll be evaluating options for an install server this or next week.

@SchoolGuy
Copy link
Member Author

@dansou901 Don't hesitate to ask for features. I have a strong interest in this contribution and thus I am willing to invest in your company with a feature that you would desire. It is my free time so don't expect wonders but I'll do my best. :)

@dansou901
Copy link

The main thing missing right now for me is the missing web interface.

@dansou901
Copy link

Also nice would be a way to provision a machine automatically via cobbler, in a way that cobbler powers on the machine and installs it in one go (maybe that's already possible today)

@SchoolGuy
Copy link
Member Author

@dansou901 The second thing is possible. There is an autoregister feature available already. Although untested.

In regard to the Web Interface: I am on it. A lot of things have been progressed by me. Once I have fixed the Uyuni Integration I will take vacation to implement the Web Interface.

@dansou901
Copy link

Sounds good. Do you have an estimate on when the Web interface will be done?

@SchoolGuy
Copy link
Member Author

@dansou901 I will sit down tomorrow and create one. The API Client and Fronted both have rudimentary functions but it is definitely not ready.

@SchoolGuy
Copy link
Member Author

@dansou901 Any updates? I CC'd you in the project plan I have for the WebUI.

@SchoolGuy
Copy link
Member Author

@dansou901 I will start working on this. If you have comments on the old data I found or any helpful links I would be very happy. Any help is appreciated!

@SchoolGuy
Copy link
Member Author

@dansou901 I have something working! The PR is not yet ready but I would really appreciate your comments on the draft if you have time!

@dansou901
Copy link

Saw what you did, looking good so far. But you said lintian is quite unhappy with the current state, maybe I can help with that. I've got some experience working around lintian problems. Do you have an output of what lintian disapproves of?

@dansou901
Copy link

Something else, do you have plans already for where to push the finished packages to when they are done?

@dansou901
Copy link

Also just left a comment for one small thing in the pull request.

@SchoolGuy
Copy link
Member Author

@dansou901 So my current knowledge of Debian packaging is limited to the last 5 hours. So I haven't thought about pushing it to Debian & Ubuntu, although I would really love if that is possible. If that is not possible or too much work, I would try to attach the RPMs and DEBs for a release along to the GitHub Release and then additionally building them in my home project in the OBS to be able to provide a repository. However all of that requires time after I got the packaging working in the CI we run here.

Lintian is basically unhappy about the following two rules:

Apart from that I only see warnings that I would ignore for the moment.

@dansou901
Copy link

dansou901 commented Aug 5, 2022

Both of them shouldn't be hard to fix. The first one is a design question: Do we want to point to /var/www as DocumentRoot or do we want to change that? How will such a change affect updates / migrations from previous versions? If we do not want to change that, we need to add a lintian override.
The second one should be done as it says: the package shouldn't include the pycache directory but rather create and populate it during postinst. Maybe this should also be changed in the rpm if it is the same behaviour there.
For lintian overrides just add a file called cobbler.lintian-overrides to the debian directory and populate it with the tag you want to override, in the first case that would be just the string "dir-or-file-in-var-www". Same goes for other warnings you want to ignore.

@dansou901
Copy link

Apart from building the debs in your OBS home project, I would rather propose to create a ppa at launchpad. That would be the fastest way to get the packages to people. As soon as we have those there, we can still try to figure out how to get them included in the main repositories.

@SchoolGuy
Copy link
Member Author

Okay then let's do it exactly like you proposed. It is one place more for me but that isn't a problem. I already have an account at Launchpad.

In regard to the warnings and errors of lintian: I will call it a day for now but I will try to sit down on Sunday to get the things in order. The heat make concentration hard. Especially the document root change needs to be done properly. Doing that cross-distro will be an interesting challenge.

@dansou901
Copy link

If we do the document root change cross-distro, maybe it's a good idea to point that to one directory for all distros to make it easier. Just as an idea.

@SchoolGuy
Copy link
Member Author

That would be indeed cool. I will dig into that. We would save ourselves quite some configuration variables and logic in quite many places...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Packaging Issues related to packaging
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants