New to OpenWrt, want to contribute to a package that doesn't have a maintainer

Hello!

I was wondering what the process is to test a patch to a package which has no current maintainer? the package in question is ddns-scripts for no-ip.com and I want to add real IPV6 support so that it shows up in the dropdown. I've tested successfully on my device but because I'm new to the open source community I wanted to make sure I follow everything right with testing and such :slight_smile:

3 Likes

https://openwrt.org/docs/guide-developer/start
https://openwrt.org/submitting-patches

If you never worked with git, you also need to learn the basics so you can start a new branch for the patch and setup a PR.

In general just check other packages makefiles and PR, than just adapt for your package changes.

If you are not on linux, i recommend a WSL2 (Win10 build 2004) + Debian based setup, since its the easiest to setup and fully compatible with openwrt SDK.

PS: If you submit to snapshots, they will run automatic compile tests for all major platforms, so you don't have to test all yourself. The 19.x branches still use a older Ci system, so only mips is test compiled.
I usually run a arm/mips based local compile check and let the openwrt buildbot catch anything else.
Depending on the patch i might do a live test on my routers or just a simple compile and qemu-userspace binary test.

3 Likes

You can file a pull request for https://github.com/openwrt/packages/

2 Likes

Thanks for wanting to contribute to OpenWrt if there is anything more you want to ask then feel free. There is a irc called #openwrt-devel where the devs hang out. The forum is still a good place to get answers though. :slight_smile:

Assuming you are building from source, you should check out https://openwrt.org/docs/guide-developer/build-system/use-patches-with-buildsystem, which will explain using quilt and the patch system for OpenWrt. This will allow you to build and test whatever you are trying to do with the package. Once you have a working patch, the links for submitting the patches or creating a pull request are the next steps.

1 Like

ddns-scripts in OpenWrt is effectively a native package (not just the build recipes, but the complete source part of the packages git feed), adding patches on top won't be useful for this particular package. The correct procedure here, for this particular package, is a pull request against the openwrt/packages git feed, using one or two commits in a dedicated git branch used as the basis for this pull request (don't forget to add the necessary Signed-off-by declaration). No need to complicate the issue for a trivial (in terms of packaging, functionality is a bit more involved) native package like ddns-scripts.

2 Likes

Thanks guys! I'll try these suggestions tonight! I already have a fork of the packages repository on github so I just need to get it to a point where I can test the packages on my local openwrt repo

1 Like

Feel free to ask for further assistance, if you're encountering issues with this - be aware that ddns-scripts got some rather large changes a couple of days ago.

1 Like

Thanks for the support guys! I have the pull request in, and I'm trying to make lint happy, is that a fruitless effort? right now its saying that the script is not executable, but I think the build does that?

Here's the PR if anyone wants to look it over: https://github.com/openwrt/packages/pull/13561

2 Likes