The officially official Devuan Forum!

You are not logged in.

#26 2025-11-15 19:56:39

tux_99
Member
Registered: 2025-06-17
Posts: 83  

Re: easydeb deb packager

I had a read through some example debbuild files from you and find them a big step forward compared to the native deb packaging files. So from that point of view easydeb looks like a great improvement to me, thanks for making this tool available.

But I still have the following question:

exponentialmatrix wrote:

It takes recipes and builds deb packages.

Does easydeb build the packages in a clean chroot environment (like 'mock' does for RPM based distros) or simply with the environment of the user launching it?

Last edited by tux_99 (2025-11-15 19:56:59)

Offline

#27 2025-11-15 20:21:00

tux_99
Member
Registered: 2025-06-17
Posts: 83  

Re: easydeb deb packager

When installing the deb package from your git repo I get the following error:

Unpacking easydeb-git (0.5.1.r0.g053bbf3) ...
Setting up libarchive-tools (3.7.4-4) ...
Setting up gawk (1:5.2.1-2+b1) ...
Setting up easydeb-git (0.5.1.r0.g053bbf3) ...
Compiling '/usr/share/easydeb/dependencies/missing_apt_dependencies.py'...
ln: failed to create symbolic link '/etc/firejail/easydeb.profile': No such file or directory
dpkg: error processing package easydeb-git (--configure):
installed easydeb-git package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12) ...
Errors were encountered while processing:
easydeb-git
Notice: Download is performed unsandboxed as root as file '/home/user/Downloads/easydeb-git_0.5.1.r0.g053bbf3_all.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Error: Sub-process /usr/bin/dpkg returned an error code (1)

What "Download" does the Notice in the end refer to?
I had downloaded the package manually and then run apt install /home/user/Downloads/easydeb-git_0.5.1.r0.g053bbf3_all.deb as root (su - ) to install it.

Last edited by tux_99 (2025-11-15 21:04:12)

Offline

#28 2025-11-15 20:48:11

golinux
Administrator
Registered: 2016-11-25
Posts: 3,595  

Re: easydeb deb packager

This addition is a bit off-topic but possibly historically relevant/interesting, especially to the younger generation who might be unaware of its existence over 25 years ago. I have used this method several times over the years and it never failed me:

HowTo Build a Package from Source the Smart Way (from Soul Singin')
https://forums.debian.net/viewtopic.php?f=16&t=38976

My package building days are long over but I am wondering if reinventing the wheel is just a face-lift or something completely different.

Offline

#29 2025-11-15 21:17:09

tux_99
Member
Registered: 2025-06-17
Posts: 83  

Re: easydeb deb packager

@golinux thanks for that link, it's a well written guide and there is certainly some interesting info but all those methods described are geared towards someone who just wants to install some not already packaged software on his on PC, not to produce redistributable packages.

If easydeb does a clean chroot build as I hope it does then for me that's far more useful than the methods described in your link.

Last edited by tux_99 (2025-11-15 21:20:38)

Offline

#30 2025-11-15 21:32:33

golinux
Administrator
Registered: 2016-11-25
Posts: 3,595  

Re: easydeb deb packager

Many thanks for the clarification tux_99. smile

Offline

#31 2025-11-16 10:07:38

Babarosa
Member
Registered: 2024-09-14
Posts: 9  

Re: easydeb deb packager

Hi there!

I am regularily building audio packages for Devuan/Debian.

At least when using the "cmake" routine this command works fine in creating deb-packages for Devuan/Debian:

sudo checkinstall -D cmake --build '/home/user/path/build' --target install

Greetings, Michael


Ad aspera ad astra

Offline

#32 2025-11-16 19:45:51

exponentialmatrix
Member
Registered: 2025-11-04
Posts: 23  

Re: easydeb deb packager

@tux_99
No automatic chroot. You'll need to launch that your self, it should work just fine. The design strategy is unix/kiss (specialized and simple). For personal use it's fine like that. Even debian building tools don't automatically use a chroot. You can use it for sloppy personal packages and for high quality packages. You could also use distrobox or anything else of the sort.

ln: failed to create symbolic link '/etc/firejail/easydeb.profile': No such file or directory

buuuug, you don't have firejail installed. Speak of the devil, yes, i'm not using a chroot. tmp fix, install firejail (it's a sandboxing tool). The error, is that it's trying to symlink the firejail profile in the firejail folder that doesn't exist, so that you can use it if you want. You don't have to use firejail, this is why it's not in the dependencies, it's totally optional. I flagged it as prerelease for a reason.

the other is apt specific. I'm guessing because you used full path, it thinks it's doing a download as root. With sudo/doas and ./package i never get this.

@golinux @Babarosa
The strategy of the project is a AUR for debs. It's not "just" a new packaging format for dummies. There's all the arcane stuff you need to do to package stuff. Where you download from, dependencies, commands, patches..... Some stuff are especially badly behaved and you need to straiten them up. Now, every user must redo everything from scratch and hunt down the solution like a windows user. With a deb AUR this stuff can be greatly reduced. You are supposed to share your DEBBUILDs.

Offline

#33 2025-11-16 20:26:42

exponentialmatrix
Member
Registered: 2025-11-04
Posts: 23  

Re: easydeb deb packager

Offline

#34 2025-11-17 04:08:38

tux_99
Member
Registered: 2025-06-17
Posts: 83  

Re: easydeb deb packager

exponentialmatrix wrote:

fixed the bug, new release:

Thanks, I can confirm the error is gone.

BTW, do I understand this right that I could simply take a pkgbuild file from Arch AUR, rename it to debbuild and adapt the dependencies if necessary and then build it on devuan?
In other words, is the file format specification of the debbuild files 100% compatible with the pkgbuild file format?

Offline

#35 2025-11-17 18:43:57

exponentialmatrix
Member
Registered: 2025-11-04
Posts: 23  

Re: easydeb deb packager

I took the decision to debianise the names so that there's direct correspondence between what the package is saying about it self and the debbuild, normally (unless bugs) i also left backwards compatibility but try avoiding relying on that to avoid confusion. These changes are trivial and straight forward. Beyond that, it should be almost the same.

debian/ubuntu/whatever are not arch, the libs are of different versions and are split differently and they are no -dev packages, the needed commands might need changes for various reasons, rolling vs ltr etc... From this perspective changing names was justified, since you can't just use them.

They will need manual adaptation. The differences are chaotic and can't be automatically converted. It's still better then starting from scratch though.

man pages:

man debbuild
man easydeb

And .... on gitea give me your debbuilds, i'll make you a collaborator for them. (free  gitea is making it awkward to create new repos to insentivise you to pay them, you can create 5 repos max under your user name and organizations, can't git push a new repo, but you can move them any way you like and can make infinite orgs. So you would need to create them under your username, then transfer ownership to DUR.)

Offline

#36 2025-11-20 10:31:11

exponentialmatrix
Member
Registered: 2025-11-04
Posts: 23  

Re: easydeb deb packager

🎉 pkgbuild2debbuild-helper 🎉
https://gitea.com/easydeb/pkgbuild2debbuild-helper

I quickly gobbled it up with AI, expect dragons. It's rough, you need to edit it for the maintainer line, you give it a PKGBUILD and outputs in  standard out a proposed DEBBUILD that you need to manually edit. Of course it's i bash.

You can edit the constants for more conversion rules. And apply_substitutions_heuristic for dependency heuristics and apply_command_heuristics for heuristics in substituting commands in functions.

yea, no help...

Offline

#37 Today 05:08:30

tux_99
Member
Registered: 2025-06-17
Posts: 83  

Re: easydeb deb packager

@exponentialmatrix
After some experimenting with easydeb I have the following questions:

how do I set the "Section" (like in the debian control file) a package belongs to in the DEBBUILD file?

how do I add a long description of the package in the DEBBUILD file?

I did read the man pages but couldn't find the above info, maybe I missed it.

Also there seems to be a small bug in the generated .dsc file, the lines with the shasums and files aren't indented. When I feed the generated .dsc file into 'sbuild' it throws and error because of this. After manually indenting the lines with one space the error disappears.

sbuild or rather dpkg-source called by sbuild also complains about the format name (easydeb):

dpkg-source: error: source package format '3.0 (easydeb)' is not supported: Can't locate Dpkg/Source/Package/V3/Easydeb.pm in @INC (you may need to install the Dpkg::Source::Package::V3::Easydeb module) (@INC entr
ies checked: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/x86_64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/p
erl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl) at (eval 16) line 2.

If I change that to 'quilt' I get the following error instead:

dpkg-source: error: cannot write /build/reproducible-path/rssguard-4.8.6/debian/source/format: No such file or directory
E: FAILED [dpkg-source died]

Maybe easydeb needs to also generate the debian/source/format file?

Last edited by tux_99 (Today 07:38:55)

Offline

Board footer