stokito / jshn-jsonc

Fork of OpenWrt jshn that doesn't have a dependency to libubox
BSD Zero Clause License
2 stars 2 forks source link

Package not available for Ubuntu 24.04 #1

Open decke opened 4 weeks ago

decke commented 4 weeks ago

Thanks for your port! I am happily using it (building it from source) but noticed that the instructions don't work for a recent Ubuntu because there is no package available.

Would be great to build a package and upload it to PPA for 22.04 since it's a LTS release.

stokito commented 3 weeks ago

Hi @decke Thank you for interest to the tool. I fixed debian control file and triggered build on the Ubuntu PPA for Jammy, Mantic, Noble, and Oracular. So you may try to install from the PPA (deb packages will be published soon). Unfortunately I have to manually enable build for new releases. I'll try to keep it updated.

Please note that the project has a WIP status so please don't use it for something critical or if you don't have a control over a server and for example can't upgrade the package version. I sent a proposition to Debian packagers to include it to the Debain but there wasn't any response from them. The repository itself is a soft fork and just extracted tool from the OpenWrt repo. Ideally I need to ask the OpenWrt developers to perform the splitting themselves. Then the second problem will be to make it to build without the ubox avl tree functions for dict/map. In the fork I replaced it with an internal function from the json-c and it looks like that was a good decision and the function remains stable. Still this may be potentially not safe. Maybe we can just include the only avl.c file and keep it as is.

Another remaining problem is to implement a pretty print. In the fork I just removed it because it uses the ubox functions. But maybe I can do something about this.

In general I experimented with porting of all OpenWrt programs to Debian/Ubuntu. But that was too complicated task for me: the packaging for Debian is a hell. Today this must be a much more simpler task and you can use a plugin Debian packaging support for CLion/IntelliJ that helps a lot to figure out a proper way. So I do have in may TODO list tasks to finish the project. I hope eventually the jshn will become a core functionality of the Debian and there will be no need to install it manually.