You are not logged in.
the equivalent of optdepends is recommends. Try using pkgbuild2debbuild-helper, it helps with stuff like this, the dependency translation is stubbed though and it will always be bad.
clang is a compiler, i don't understand why it's there. It seams to be used to compile some scripts during normal use. You tell me what is for. Try with and without.
mariadb is an alternative database lib. it's probably libmariadb3 . It's probably already installed by something else. I suspect it's an alternative to sqlite. This could go in depends as 'libsqlite3-0|libmariadb3'. I think it's actually a drop in replacement for sqlite.
#suggests=('clang: Support for beautification of message filter scripts'
# 'mariadb-libs: Support for MariaDB-based data storage')
did you meant to say builddepends? suggests is the suggest in the binary package.
arch linux uses "any" to mean "all" and internally it's translated to all. Using the debian convention will create confusion.
use this...
arch=("${EASYDEB_DPKG_ARCHITECTURE}")
@tux_99
crappy easychroot, have low expectations. Will be polished over time. It's better over figuring out all the commands your self.
https://gitea.com/easydeb/easychroot
I updated the debbuild. It's "all" and priority was added in easydeb. Make an account on gittea, i'll make you a collaborator so that you can edit it your self in the future. branches correspond to debian distro that was tested on.
rssguard on the DUR https://gitea.com/DUR/rssguard
I didn't lol. I just build them on my user system.
I'm discovering the commands, i'll make a crappy script soon.
You just create a chroot, copy into it what you need, then enter the chroot as if you logged in an other linux machine and do your business. It's not too difficult to script. You are just the first person to care to do this. If you have a few packages, the manual way is fine, if you have 1000 like some distro maintainers, then yea, you'll need to automate.
@g4sra
I couldn't reproduce, it ignores '()' as expected. But you are using _x86_64, it doesn't recognize the architecture so simply ignores it, it needs _amd64 . Is that the barf?
Also try using https://gitea.com/easydeb/pkgbuild2debbuild-helper-git . It's a good starting point, the dependency translation maps are just placeholders. Give me the dependency translations you are making, i'll add them. And expect bugs, this is brand new.
@EDX_0
easydeb is the packager for dummies. download a DEBBUILD from https://gitea.com/DUR that is close to your app and adapt it. I'll help if you get stuck. It's as accessible as possible. The DEBBUILD is a bash script that gets sourced, with intuitive variables and functions. The other two are doing weird things.
@tux_99
sbuild stands for source build, you are using the wrong tool. translating it to a debian source package is overkill.
the various commands of mmdebstrap seams to be what you need and maybe also schroot, and probably some commands from sbuild can be used. I'm not familiar with this stuff. What you want could be done in a small script, just need to hunt down the commands. You are the first one that tries to do this...
I'll add Section sometime later. For now survive with control_fields . Look how many they are, i plan on adding directly what people truly use, for the rest you'll be using control_fields.
the build folder with the DEBBUILD is a custom source package, the custom version in dsc was there to stop you from running the usual debian tools. You use easydeb inside the chroot/container to build the package. Why is that a problem? Trying to convert it seams difficult and error prone, and will probably be ugly... It's a bad idea. The generated debian archive is just the build folder minus the sources. It was never supposed to be processed by debian tools.
You do know what's a chroot right? It's a light container (less secure), it pretends to be a different linux install. You use it for packaging so that you are sure you use the correct build dependencies and environment, then you also install it and run it in a chroot, to test you have all the dependencies. You can just use easydeb inside. The debian tools aren't doing anything magical with a chroot.
for control fields use this. It will just end up above the description. Debian has too many esoteric control fields that i don't know what they are for, so easydeb doesn't support directly. You want to ask adding section as directly supported or this bellow is enough.
control_fields+=('XB-My-Custom-Field: Custom Value')There's just one description, add it there. Empty lines are not allowed, use a "." for those.
the source thing is experimental, it warns you. You use easydeb to build the final packages directly. It will not work with sbuild. It's meant to be a custom source format, so that you could in theory download it with apt, the custom format name did it's job to stop you. The whole folder with DEBBUILD is the "new source pkg" format. I never tested if apt will accept it, i never used the server side stuff. The source flags build a hopefully legal dsc and debian archive (the whole build folder, .git and all, except the sources) that apt accepts, the other sources are part of it, and you need to make sure these are in the formats that the system accepts and remove the download links if needed (i think you use the local protocol in order for easydeb to find them inside the build folder). There's also the light sources, it's just the build folder, it is supposed to download from upstream as normal. Once you downloaded it from apt, you are meant to unconpress the debian archive, move the other sources inside as is, then run easydeb as normal. The relevant code is in
/usr/share/easydeb/other/source_package.sh . I'll fix the ident, package the git repo (https://gitea.com/easydeb/easydeb-git). You also give them source packages or you are just experimenting?
instead of complaining. What are the alternatives? fil-C is C with garbage collection, it's slower and less efficient, but you can take your old C code and with relatively few modifications port it in fil-C .With the garbage collection, it's even better then rust in security and you get to keep almost all your battle tested code. And you can still maintain in parallel normal C code for ultra efficiency if you need it. You could even use a hybrid approach for a balance of security and speed. This strategy could allow for a viable fork with less man power.
does sudo needs to be fast? Isn't the user the slowest part? Does apt need to be fast? How much of apt's time is the network download and decompressions?
@spliskin
Just a warning. Lunduke is the tabloid of tech. He often over does it with click bait and sensationalism.
🎉 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...
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.)
fixed the bug, new release: https://gitea.com/easydeb/easydeb/relea … 4d_all.deb
@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.
apt is a very mature 25+ year old project and with plenty of users. They must be plenty of qualified annoyed people willing to fork it.
peak irony if openbsd doesn't adopt rust. They are the paranoid OS.
for the libs, i think -opt variants should just bundle their external libs. Of course if they are too large you can bend the rules, it's just a convention. I'm not sure how external libs would work with opt variants.
@tux_99
It's a general rule of institutions, they are like people. They are born, peak, decline, then die. Institutional decay slowly accumulates, the wrong people get to power, corruption, neglect of the new generation etc, until the institution collapses. Debian's institutions are very old and it shows. I can't tell you exactly what's going to happen, but i can tell you that the long term trend is downwards.
@g4sra
The convention in the AUR is to name variants appropriately with an extension to the name, like package-bin for repackaged upstream binaries or package-git for built git repo versions, just package is for the normal version (a packaged windows only app is just package, if it has a linux variant then it's package-wine and package for the linux version ). Privately you do what you want, but if you upload them to DUR you need to follow the conventions or you'll just confuse people. Your packages should be named package-opt and normally placed in /opt/package and bundle all external( non-system) libs. Maintenership is fluid and not a good indicator of compatibility, packages can change hands, the external lib can be created by some one else, then they are build dependencies.... All this is for a messy repository with many packages from different authors while maintaining it reasonably searchable.
what about the -opt part?
one author can package a library and then an other one use it. libs expect to be seen by everybody. And packages can also change authors.
The convention is to package them normally, you are admitting it your self. You are trying to swim against the current. Conventions change. Back then distro packages where dominant, now external packages are significant.
The potential problems you describe can be managed. If you are doing something critical you'll triple test it anyway. It's up to the user not to over do it.
For the naming convention you create a new standard. The AUR has 100.000 packages and they don't do that. Rename them package-opt to distinguish them from normal packages. The convention is to append something at the end of the name if your package is some special variant. For example -git for git repo packages, -bin for upstream binaries, -wine for windows stuff, -somepatch for a specific patched variant etc.... To keep in line with expectations, -opt packages should be bundling all the stuff the base system doesn't have. So no external libraries, just /opt/package and named package-opt . It's that reasonable to you?
in practice opt is used the way i described it. Your document is 20 years old.
see latest update, i added make install with default to /usr/local. I haven't fully tested /usr/local because i don't want to install untracked files. It worked with normal packaging and in local folder it looked good with usr/local . Look for errors i might missed, including docs.
make install RELEASE="unstable" TARGET="local"current translations are just AI place holders for testing. release and target are just for version tracking. Translations not supported here, they use gettext and don't know if it's possible to use them in /usr/local .
The convention for opt, is to put there applications that expect all their stuff in a single folder. You are just wrong here.
It's not broken, what you are doing is not supported.
in src/easydeb.sh.in edit these variables to your liking, all the scripts are in src. see in test/util/util.bash the easydeb function as a reference. I rigged the tests to use the repo version. You could use this to have it package it self with the provided DEBBUILD.
LIBRARY="${LIBRARY:-"@FILESYSTEM_PREFIX@/usr/share/easydeb"}"
EASYDEB_CONF="${EASYDEB_CONF:-"@FILESYSTEM_PREFIX@/etc/easydeb.conf"}"
EXTENSIONS_DIR="${EXTENSIONS_DIR:-"@FILESYSTEM_PREFIX@/usr/lib/easydeb"}"you can set FILESYSTEM_PREFIX and DESTDIR to /opt/easydeb with the make commands from build.md (updated, if didn't notice)
That should mostly work, then manually fix the remaining glitches. man and bin will be out of path, maybe more. I'm assuming you know how to symlink them in local. You could do these things inside the provided DEBBUILD.
if you still have problems just ask.
the translations don't exist. ignore
you weren't supposed to install it directly. it's "make package", not "make install". It's for packaging. Given the circumstances i don't see the point of a make install. Yes i know about /usr/local .
/opt is when all the files are thrown in one folder, example: /opt/firefox /opt/brave . Plenty of non-distro packages install in /usr . You are breaking convention. Yes, i know many third party apps just dump all their stuff in opt.
I'm assuming you found FILESYSTEM_PREFIX ... i guess you can install in /opt/easydeb . I didn't tested moving the prefix in the DEBBUILD. What you are doing is too weird. You are complicating your life for little benefit.
if it's not broken, don't fix it.
you don't need to build easydeb, there's a deb in the releases.
https://gitea.com/easydeb/easydeb/relea … f3_all.deb
I'll take that over reddit mods or patronizing mods over moderating.