Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Package Version Control, can anyone explain? (I am lost)

    Scheduled Pinned Locked Moved Development
    16 Posts 4 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bmeeksB
      bmeeks @louis2
      last edited by bmeeks

      @louis2 said in Package Version Control, can anyone explain? (I am lost):

      @bmeeks

      If that is true ........ we are using a completely wrong pimd-version.
      I mean not including the 380 pathes from trolobit. and not those they (FreeBSD) made themselfs. ๐Ÿ˜ฒ

      I can hardly believe its that bad ......

      Louis

      The links I provided are to the current packages (current for FreeBSD). I don't know who "trolobit" is. Is he someone who has recently assumed pimd responsibility? Also, what FreeBSD changes are you referring to? Do you have a link to them?

      I will say that it is not an uncommon occurrence for a binary package that is maintained primarily for say Linux to have its FreeBSD version sometimes lag behind. Developers usually have a "favorite" OS they target. Or perhaps in the past a FreeBSD enthusiast ported over the Linux version of pimd to FreeBSD, but then later lost interest and abandoned the FreeBSD project. Not saying this happened here, because I have no idea, but there are similar examples with other packages in the past. The fact the current FreeBSD official package seems to have last been updated in March of 2016 indicates probably some level of "abandonment" by the original FreeBSD package creator.

      1 Reply Last reply Reply Quote 0
      • bmeeksB
        bmeeks
        last edited by bmeeks

        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 the Makefile. 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, a pkg-plist file telling what files to install where after the package is built, and then an optional files 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 of pimd, you could examine the files directory in the link I provided and see if any pertinent changes are included.

        1 Reply Last reply Reply Quote 0
        • L
          louis2
          last edited by

          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/pimd

          freebsd pimd source ???

          Something like that ..... ๐Ÿ˜Ÿ

          Louis

          bmeeksB 1 Reply Last reply Reply Quote 0
          • L
            louis2
            last edited by louis2

            Here the link to the recently fixed FreeBSD bug
            https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246629

            I think the actual patch is in
            https://svnweb.freebsd.org/base?view=revision&revision=362472
            https://svnweb.freebsd.org/base?view=revision&revision=362494

            Directorystable/12/sys/netinet/ip_mroute.c

            bmeeksB 1 Reply Last reply Reply Quote 0
            • bmeeksB
              bmeeks @louis2
              last edited by

              @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=246629

              I think the actual patch is in
              https://svnweb.freebsd.org/base?view=revision&revision=362472
              https://svnweb.freebsd.org/base?view=revision&revision=362494

              Directorystable/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 any pimd 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.

              1 Reply Last reply Reply Quote 0
              • bmeeksB
                bmeeks @louis2
                last edited by bmeeks

                @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/pimd

                freebsd 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 that pimd 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.

                Q 1 Reply Last reply Reply Quote 0
                • Q
                  Quarkz @bmeeks
                  last edited by

                  https://github.com/pfsense/FreeBSD-src/commit/df4360fdf61dded94249adcffc5e2cc6b7b2702b

                  Pretty sure that FreeBSD fix was already committed to 2.5.0

                  1 Reply Last reply Reply Quote 0
                  • Q
                    Quarkz
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • L
                      louis2
                      last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • L
                        louis2
                        last edited by

                        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

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          skogs @louis2
                          last edited by

                          @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.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.