2.3 - How to install other FreeBSD packages / repositories?



  • Hello devs,
    Congrats, all seems good in this new release.

    I'm using a couple of FreeBSD packages independent from pfSense, like the well-known reverse proxy 'pound'. Pound hasn't got any pfSense-specific package, thus doesn't have any GUI, I used to install it manually on earlier versions with

    pkg install pound (and even earlier with pkg_add)

    Now what I'm seeing is:

    [2.3-RELEASE][root@pfSense.localdomain]/root: pkg install pound
    Updating pfSense-core repository catalogue...
    pfSense-core repository is up-to-date.
    Updating pfSense repository catalogue...
    pfSense repository is up-to-date.
    All repositories are up-to-date.
    Updating database digests format: 100%
    pkg: No packages available to install matching 'pound' have been found in the repositories
    
    

    How to add back FreeBSD official repository?

    :o



  • Check this whole thread, specifically this post https://forum.pfsense.org/index.php?topic=109446.msg609646#msg609646



  • Oh no… not again...
    It was quite like this on 2.0 days... 2.1 and 2.2 were so nice, I could install any package and dependencies resolved properly.

    Luckily 'pound' doesn't have any dependency.
    But I'll have to reconsider the other packages which did have some...



  • Just use the same command to also install the dependencies.

    You can "cheat" and temporarily enable the default repo like I outline here https://forum.pfsense.org/index.php?topic=109253.msg608562#msg608562

    Then quickly run the install command and it'll install what you need including dependencies like normal. Just be sure to go back and turn the repo off as soon as you're done, like the devs said if pkg or anything else updates with these repos enabled a lot of things can break. Just to state again this is NOT the recommended way to install things, as tempting as it is


  • Rebel Alliance Developer Netgate

    One idea we toyed with was building a full set of packages so it would just pull them all from us. I'm not sure if that's still on the table, but it would solve all of these problems. The only downside would be the massive cpu time it would take to pull that off.



  • That would be great, jimp! Really.



  • Not only great, that would be awesome!



  • This does work in pfSense 2.3.2:
    1. Make sure "enabled" key is set to "yes" in /etc/pkg/FreeBSD.conf
    2. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/FreeBSD.conf
    3. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/pfSense.conf for FreeBSD repo
    4. Now you're able to install packages from FreeBSD official repo


  • Rebel Alliance Developer Netgate

    If you install packages that way you will most likely encounter dependency issues and potential conflicts with packages from our own repository, so do so at your own risk, knowing that you may end up having to reinstall when something goes wrong.



  • It's a much better idea to ask the developers to add the missing packages to the pfSense repository, for most part if they missing package is a small utility there's no major overhead involved in adding it to the package builds. Just don't go on requesting stuff like www/chromium, there's a reason why web browsers will never be part of the repo :P



  • @kpa:

    It's a much better idea to ask the developers to add the missing packages to the pfSense repository, for most part if they missing package is a small utility there's no major overhead involved in adding it to the package builds. Just don't go on requesting stuff like www/chromium, there's a reason why web browsers will never be part of the repo :P

    I agree with that.
    The ask:
    Can developers please add all official freebsd packages to pfsense repo but browsers? ;-)


  • Rebel Alliance Developer Netgate

    @jazzl0ver:

    Can developers please add all official freebsd packages to pfsense repo but browsers? ;-)

    Unfortunately, when working with a partial set, poudriere has to be given a list of package to build, rather than a list of packages to skip, so doing that is difficult.



  • Usually you don't need to install anything from outside world on firewall. So doing that you must understand what are you doing at your own risk. If you understand, there is a lot of possibilities to do it. One of them is below.

    For pfsense 2.3 till 2.3.2 -> /usr/local/etc/pkg/repos rename it to something else, for example 'renamed repos'
    pkg update
    pkg install anypackage_u_need
    pkg creates new 'repos' folder, so
    /usr/local/etc/pkg/repos rename it to something else or delete, rename you firstly 'renamed repos' back to 'repos'
    done.



  • Is there a suitable way to have munin-node installed at pfsense-2.3.2 ?

    I've installed this depencies by hand and no end in sight:

    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-AnyEvent-7.12,1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DBI-1.636.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-common-sense-3.74.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/postgresql93-client-9.3.13_2.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DBD-Pg-3.5.3.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Net-CIDR-0.18.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Net-SSLeay-1.77.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/munin-common-2.0.25_2.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Error-0.17024.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-IO-String-1.08_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-TimeDate-2.30_2,1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Heap-0.80_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-File-NFSLock-1.21_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Cache-2.11.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-IPC-ShareLite-0.17_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Digest-SHA1-2.13_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Cache-Cache-1.08.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-XML-NamespaceSupport-1.11_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-XML-SAX-Base-1.08_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-XML-SAX-0.99_2.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-XML-LibXML-2.0126,1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Digest-HMAC-1.03_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Socket-2.021.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-IO-Socket-IP-0.37.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Net-DNS-1.06_2,1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/bash-4.3.46_1.txz
    mount -t fdescfs fdesc /dev/fd && echo "fdesc   /dev/fd         fdescfs         rw      0       0" >> /etc/fstab
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Try-Tiny-0.24.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Module-Runtime-0.014_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Class-Singleton-1.5_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Module-Implementation-0.09_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Params-Validate-1.24.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-List-SomeUtils-XS-0.52.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Exporter-Tiny-0.042_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-List-SomeUtils-0.52.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-List-AllUtils-0.10.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DateTime-TimeZone-2.00.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Dist-CheckConflicts-0.11_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Scalar-List-Utils-1.45,1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DateTime-Locale-1.05.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DateTime-1.34.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-DateTime-HiRes-0.01_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Crypt-CBC-2.33_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Crypt-DES-2.07_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-Net-SNMP-6.0.1_1.txz
    
    pkg add http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/p5-URI-1.71.txz
    
    

    jimp: Maybe its possible to spend some cpu power for compiling pfsense packages ? I see it exact as you, best solution is to serve the most used packages by pfsense repo.



  • @jimp:

    One idea we toyed with was building a full set of packages so it would just pull them all from us. I'm not sure if that's still on the table, but it would solve all of these problems. The only downside would be the massive cpu time it would take to pull that off.

    I think this needs to be done.



  • How much CPU power are we talking about here for a 1-time compile ? Will 31 days of access to a single 'Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz' node be sufficient ? Or is that peanuts in comparison with what is needed ?


  • Rebel Alliance Developer Netgate

    It can't just be one time. It has to be continual as any piece changes. There are security and other important updates in the ports tree from FreeBSD all the time.



  • That's understandable of course. However, I was more looking for a (rough) estimate as we could use that estimate to determine let's say, CPU time for a 1-time compile of all software and use that information to roughly extrapolate it to determine CPU time for the worst-case scenario of (re-)compiling all software on a continuous basis, which should be enough I reckon as after a 1-time compile, updates won't take nearly as much CPU time as compiling software from scratch.


Log in to reply