-
Notifications
You must be signed in to change notification settings - Fork 66
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
SPEC files and Debian directory to build own packages #243
Comments
(My hands are a little full right now. Will read docs and respond to this properly in about 48 hours.) |
No Problem :-) |
Ok, @TheRedTrainer is working on this. Debian documentation states that kernel modules are considered "high complexity packages" and we've never done this before so I personally would not expect this to be done in less than a month. He will be working in both packaging frameworks (RPM and Debian). |
I can test centos 7 packages |
I've created a new branch for this issue ( #issue243 ) including the jool-dkms-mkdeb and jool-dkms-mkdsc folders that contain the Makefile and debian files (control, postinst, copyright, changelog, rules, etc. ) required by DKMS to build the deb and dsc packages for debian based linux distributions. I also included the SPEC file for RPM packages. The packages created using these files install the jool kernel modules (nat64 and SIIT) and the userspace apps. It is necessary to use DKMS to create the packages (I've included a basic guide in README file). Please excuse the delay, if you want I could send you an example for the RPM package, @ruben-herold . |
@TheRedTrainer it would be nice if you can sen me an package. |
@ruben-herold |
Still there isn't much feedback so postponing to next release. |
sorry for my long silence, I had some stress here.. Your noarch rpm installed fine. I will now setup a machine to test it in a limited production environment. Can you supply me with: how to build own noarch packages |
Don't worry, @ruben-herold . I'm glad that the RPM worked! I'm busy right now, but as soon as I'm free I'll work with the packages for the current version. If you wanna know how to build the noarch rpm/deb/dsc packages, you can take a look at this link: https://github.com/NICMx/Jool/tree/master/dkms-packaging It contains the READ.me file and all the directories/files required by DKMS to build the packages. However, it could be necessary to modify some files and configurations for deb/dsc building package templates in order to comply some debian packaging requirements and standards, so please keep that in mind. If you have any questions, please tell me and I'll help you as soon as I can. |
@TheRedTrainer thx works without any problems. I have now one system as nat64 statefull running. |
@TheRedTrainer do you integrate the systemd scripts from #250 |
@ruben-herold I'm sorry for the delay. I didn't integrate the systemd scripts yet, because we need more testing for that issue and I'm kinda busy, but the changes for this issue was merged into master, so if you access to the branch for issue 250 you can see both issues solved. |
Hi, I just tried to build Jool 3.5.6 for Debian Buster (testing), following the guide. After managing to resolve some issues with the guide[1], I got this error in the last step:
How to solve it? [1] Issues in dkms-packaging/README.md:
|
@edmont Thank you for the report. We're still trying to figure out what happened, but we found a workaround that works for us: Skip the 3rd step entirely. Something like this:
|
Might want to add (for cleanup, just in case)
|
Thanks guys, that problem was solved that way but still no .deb generated:
|
Compatibility level 7 is defined in Find them and delete them. The only DKMS file you want in your build is Edit: You can also start from scratch and simply skip step 3. |
I think I found what could the issue be. I tested on Debian Buster too (installing dkms using apt-get) with the same results. Only when I removed dkms, downloaded the latest version from github (https://github.com/dell/dkms) and compiled/installed that version, the dkms mkdeb command worked correctly. I'm still testing to confirm this, using other configuration. Which dkms version do you have @edmont ? |
@TheRedTrainer: |
Thanks @edmont . The latest dkms version that I downloaded from github is the 2.5, I don't know why the apt-get install that version. I found the cause for the first issue that you reported: a Makefile was missing in jool-dkms-mkdeb and jool-dkms-mkdsc directories. As seen at the beginning of "dkms mkdeb" command output, (as far as I know) when dkms is trying to build the deb package, it needs a set of files required for debian packaging (for more information https://wiki.debian.org/Packaging/Intro ) that contains info about log of changes, source and package description, copyright, post installation scripts, pre removal scripts, etc. If dkms can't find these directories and files in /usr/src/jool-VERSION/jool-dkms-mkdeb/ , then the template files and directories located in /etc/dkms/ are copied and used for the package building (that is the reason because technically you can skip step 3, at the cost of not including all your custome configuration). The jool-dkms-mkdeb includes the "debian" folder that contains all these files (changelog, compat, control, copyright, dirs, postinst, prerm, rules). However, it is also required a Makefile that is not included in jool-dkms-mkdeb and jool-dkms-mkdsc folders. It seems that this file wasn't required in dkms previous versions because it was copied from template files. I will immediately include the missing Makefile in the branch issue243. About the second issue (the failure when moving built files), I only could fix it updating the dkms version in Debian buster. I can't find the precise reason why the generated deb files can't be moved from temporal directory to jool location. I think it could be some compatibility issues with the dkms version available in apt-get. |
Thanks @TheRedTrainer, I tried issue243 branch and first issue is solved. But make debs fails with the master branch of dell/dkms 😡 I think I'll wait for things to settle up since this is not urgent for me. One question, once the deb is created, is it kernel version independent? |
@ydahhrk I'm failing to build Jool 3.5.7 in Armbian:
|
@edmont It' s normal; 3.5.7 does not support kernel 4.19. Please try 4.0.0. If it gives you serius trouble, we can consider adding 4.19 support for 3.5 as a workaround. |
@ydahhrk I just tested with v4.0.0 (from GitHub, since the gzipped file does not include the dkms-packaging folder), and I'm having the exact same error as with v3.5.7. Do you have record of other users building Jool for Armbian? |
Ahhh. This would explain it. The I mean, I made I'm sorry for the confusion. I thought that not mentioning it in the documentation was enough to scare users away from it, but I guess you found that README, huh. I mean you can still install the modules via DKMS, you just can't build packages. At least not with |
Thanks @ydahhrk, 4.0.0 with DKMS install works for me by the moment. But having the .deb option would be much better :) |
Sorry about that. I got temporarily assigned to a different project and can't focus on Jool at the moment. This is why it's taking so long. |
@ydahhrk oops! I just realized I made a too fast checking and overlooked that the kernel module for 4.0.0 was not installed correctly. Actually I'm having the same problem as with 3.5.7 about It looks like the headers for this distribution don't come with compiled scripts. I tried to make them myself, resulting in other errors. I'll see if some other release gives better results: https://dl.armbian.com/nanopineo/ |
No luck with Armbian_5.65_Nanopineo_Ubuntu_bionic_next_4.14.78 or Armbian_5.75_Nanopineo_Debian_stretch_next_4.19.20. Does it make any sense to cross compile Jool within the Armbian building system? |
I found this Armbian issue: armbian/build#1278 So I built a complete image based on the repository and was able to build the Jool 4.0.0 module with DKMS. @ydahhrk , do you see an easy way to include the Jool sources in the Armbian tree so that it becomes present in the final image? |
Welp. I was barely finished installing qemu and downloading an Armbian image to get started. Sorry for not being any help.
No, but that might be simply because I still have little to no experience both with Armbian, and with pushing Jool natively into anything. If Armbian is Debian-based, won't the official debian package we'll eventually end up with be any help? It will install the modules via DKMS, IIRC. |
Yeah, I agree. It's worth to focus the effort into the official Debian package. |
Hi! I see there are good advances with Jool 4.0.3! I was able to build
And by the way, how to build the Thanks! |
Interesting. I haven't actually tried to cross-compile; it seems I haven't gotten to that step yet. In any case, I'm not using
I'm using this workspace to generate everything. (The script might need a GUI. If this is a problem, comment out lines 41, 47 and 54 as a workaround for now.) |
By the way: It seems it's taking a little doing to get the packages sponsored into Debian. If you don't actually care about the package generation and just want to play with them, I uploaded my current build here and here.
Status: |
Update: The package was sponsor-approved and uploaded the to the NEW queue. It's awaiting review from the "ftpteam." According to Vincent Bernat (our sponsor),
So I guess we're almost there. Assuming it's not bounced back, of course. This link was mailed to me. I think it's the closest I have to a status report page. (You have to Ctrl+F "jool".) |
That's good news! |
Jool made it into unstable in November 12, and already transitioned to testing in November 16. Some instructions for installing the unstable version were already documented in case anyone's interested. Maintaining this package is now a separate perpetual effort independent of this issue. Closing. |
Can you please help me with the SPEC file you used to create RPM |
@PrasanthiVarma https://raw.githubusercontent.com/NICMx/Jool/21d499a5c4d82e1493ca9912aaeadfc6bbf46f88/dkms-packaging/rpm/jool-dkms-mkrpm.spec It's very outdated. I have no memory of what happened to this effort. It seems I accidentally deleted it as part of a refactor, and completely forgot afterwards. Sorry. |
No problem.Thank you very much for your help!!!! |
hi,
this will be no real bug only a wish. It would be nice to have a spec file for rpm based distributions
or an example debian directory for debian based distributions to build own packages.
The text was updated successfully, but these errors were encountered: