Replies: 1 comment 8 replies
-
This saggita has method to include external patches but equuleus doesn't so that's a limitation and something that would need to be implemented for long term usage in the build but then you need to include the patch file and that's not so easy when you just want to try it. There is more straightforward way how build custom sources temporarily. The accel-ppp is build by the This is the snippet of the Jenkinsfile you care about:
You need to rewrite the URL to your GIT repository. You also need to modify the branches name, since the build is expecting the 0b4ef9862c65bf commit you should make branch of accel-ppp at this commit and apply the patch to this commit, then commit/push and then you can use the newly created branch name as replacement for the original commit (0b4ef9862c65bf). If you can prepare the GIT repo with patched branch based on 0b4ef9862c65bf then you can simply fill in your details into the Jenkinsfile in the accel-ppp section. You can modify Jenkinsfile in two ways - first you can make fork of vyos-build and use your own vyos-build repo in the Jenkins Pipeline definition, likely too much work. There is much easier way - the Jenkins gives you a option to Replay under given run #number. Thus start build of linux-kernel/equuleus (you can cancel the run, you don't need to wait for it to complete), select the cancelled run and in left panel you have Replay option. This gives you option to edit the Jenkinsfile right from the Jenkins UI and thus you only need the patched accel-ppp repo to make custom build. The Replay launches modified build and then you just wait and eventually you get the result in your reprepro repository. This requires bit of GIT usage and some Jenkins interaction but it's the most straightforward way how to build custom changes for test purposes. This also has the advantage that if you make further changes you just push another commit to your repo/branch and hit build - so you can iterate without any additional work. I didn't actually try this with accel-ppp but it's the general idea I would apply for this type of task. |
Beta Was this translation helpful? Give feedback.
-
I'm still running official 1.3.8 and would like to test just a single bugfix in accel-ppp without any other changes that could break my proven working production setup, so I need to be careful.
However, the way accel-ppp is built has changed between equuleus and sagitta. In sagitta there is the accel-ppp patches subdirectory with one patch and it should be easy to add a second one there. But in equuleus it seems it might need some Jenkins magic I'm not yet too familiar with, and I'd like to get it right the first time. The nature of the bug is such that I can only test it well under real heavy production use, on live customers who have all sorts of buggy SOHO routers as PPPoE clients - I'm running two core routers at two different locations doing all of BGP+OSPF+PPPoE, so I plan to update the first one at night during one weekend, wait a week or two, and then on another weekend at night update the second one. If all works well I may try to upgrade patched equuleus to patched sagitta, but I'm not rushing to do it yet as it's still x.0 release and asking politely on their forum about when 1.4.1 is planned seems to not be too welcome.
The small change is here - xebd/accel-ppp#186 - and these two modified files in accel-ppp haven't changed much in years so it should apply cleanly to any version. What would be the best way to go about it?
If tested and proven to work well, it should apply to equuleus and sagitta (and circinus too), VyOS(tm) is free to include it too of course, but if they don't then perhaps we could carry it in this unofficial fork? (Not yet, as I want to test it properly first for some time to be reasonably sure it causes no regressions.)
Beta Was this translation helpful? Give feedback.
All reactions