Package Version Control, can anyone explain? (I am lost)
-
This is how FreeBSD packages work when building them manaually.
The
Makefile
included in a package has instructions for compiling and installing the package. One of the lines in that file specifies the URL to be used for downloading the source code tarball. There is also a VERSION, and optionally, a PORTREVISION line in theMakefile
. That tells the package building process which version of the source code tarball to download. Other settings in the file determine which build options to use, what libraries are needed and so forth.FreeBSD ports repos don't keep the actual C source files, for example. They instead consist of the
Makefile
, apkg-plist
file telling what files to install where after the package is built, and then an optionalfiles
directory containing any necessary patches. These are usually changes needed in order for the port to build on a FreeBSD system. But other patches may be included as well. So in the case ofpimd
, you could examine thefiles
directory in the link I provided and see if any pertinent changes are included. -
Here some IMHO relevant links .....
https://troglobit.com/projects/pimd/
https://github.com/troglobit/pimd/releases/tag/2.3.2
https://github.com/troglobit/pimd/commits?author=troglobit
https://github.com/troglobit/pimd
https://www.openhub.net/p/pimd/
https://www.freshports.org/net/pimdfreebsd pimd source ???
Something like that .....
Louis
-
Here the link to the recently fixed FreeBSD bug
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246629I think the actual patch is in
https://svnweb.freebsd.org/base?view=revision&revision=362472
https://svnweb.freebsd.org/base?view=revision&revision=362494Directorystable/12/sys/netinet/ip_mroute.c
-
@louis2 said in Package Version Control, can anyone explain? (I am lost):
Here the link to the recently fixed FreeBSD bug
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246629I think the actual patch is in
https://svnweb.freebsd.org/base?view=revision&revision=362472
https://svnweb.freebsd.org/base?view=revision&revision=362494Directorystable/12/sys/netinet/ip_mroute.c
Those are patches within the FreeBSD source code itself and not patches to
pimd
. Those kinds of patches are part of the FreeBSD versioning and won't be reflected in anypimd
version info. pfSense-2.5 DEVEL is based on FereeBSD-12.1/STABLE, and is periodically "rebased" to pick up the latest changes to the STABLE code. -
@louis2 said in Package Version Control, can anyone explain? (I am lost):
Here some IMHO relevant links .....
https://troglobit.com/projects/pimd/
https://github.com/troglobit/pimd/releases/tag/2.3.2
https://github.com/troglobit/pimd/commits?author=troglobit
https://github.com/troglobit/pimd
https://www.openhub.net/p/pimd/
https://www.freshports.org/net/pimdfreebsd pimd source ???
Something like that .....
Louis
These links reinforce (in my mind, anyway) what I expressed earlier. There is a generic
pimd
code base meant for use on multiple operating systems (Linux and FreeBSD, for example). So anyone running their own FreeBSD setup could download thatpimd
source code and compile it on their box. But that would only work for someone who has a FreeBSD setup with all the software development tools on it (compiler, linker, etc.). The pfSense firewall distro has none of that because installing all of that adds a large new attack surface via potential vulnerabilities in the various tools.So in the past someone took that
pimd
code and ported it into a "package" in the FreeBSD ports tree. So there exists in the FreeBSD ports tree a precompiled package ready to be installed. Unfortunately, whoever created that original FreeBSD package has not maintained it. And it is now way behind. As I mentioned in an earlier post, many times package maintainers/creators are volunteers. They can sometimes disappear and the package they contributed languishes when nobody else steps up and picks it up.So that is what appears to have happened with
pimd
. The package itself on FreeBSD is quite old and likely out-of-date (or at least not at the current patch level). That won't change unless someone steps up and takes over maintenance of the package in FreeBSD ports. If the package is maintained in FreeBSD ports, then the updated code will always get pulled into pfSense as well since it uses the binary ports straight from FreeBSD.Finally, looking at the Github links you provided, it seems 2.3.2 is the current RELEASE, but that person (troglobit) has made 380 commits (code changes) to a branch he is calling Master since the release of the 2.3.2 version back in 2016. So the whole thing appears to be in somewhat of a mess as changes have been made (at least 380 of them via commits) since the initial release in 2016, but during that time the version has not been incremented. So the only way someone else could keep up is if they had a Github repo clone tracking his Master branch and they periodically did a "git pull upstream master" and then compiled a new binary daemon from the resulting updated source code.
And once more, those FreeBSD updates you linked are actually changes to the FreeBSD kernel source code. Those are going into pfSense-2.5 on some periodic basis now that 2.5-DEVEL is tracking FreeBSD-12.1/STABLE. But those are not the same as the 380 commits that have been pushed to the
pimd
Github repository. -
https://github.com/pfsense/FreeBSD-src/commit/df4360fdf61dded94249adcffc5e2cc6b7b2702b
Pretty sure that FreeBSD fix was already committed to 2.5.0
-
On a side note, Iโm seeing packages try to start multiple times as well, avahi is another example. Pretty much anything that ends up with a .sh file in /usr/local/etc/rc.d. PIMD is also one of those. I have tracked it back to code in /etc/rc.start_packages but havenโt had cycles to determine why packages are getting started twice yet.
-
That is another issue, but I completely agree. I allready raised that a couple of times. Packages starting and stopping many times, where they schould only be started ones and on the correct moment please! (after the OS is started and after pfSense basic functions are started). I did create a bug report related to that see bugzilla (I think there even multiple related bug reports).
Louis
-
Someone has to compile the PIMD-master as it is now, including all those bug fixes (380! +) , in favor of FreeBSD .....
That should preferable be someone who has already the required development setup ...... and experience ....
Then we have to do some testing to assure that it is at least running correctly in the majority of situations.
Can't hardly be worse than it is now
Louis
-
@louis2 said in Package Version Control, can anyone explain? (I am lost):
Someone has to compile the PIMD-master as it is now, including all those bug fixes (380! +) , in favor of FreeBSD .....
That should preferable be someone who has already the required development setup ...... and experience ....
Then we have to do some testing to assure that it is at least running correctly in the majority of situations.
Can't hardly be worse than it is now
Louis
...Agreed...the author of PIMD...and he should probably do a version bump sometime. Somebody else doing it may unnecessarily fork it, and perhaps the author hasn't done a version bump because he doesn't feel good about where it is at.