PSA: Ports tree no longer supports FreeBSD 8.3



  • PSA: The FreeBSD ports tree is no longer compatible with the "make" version used in FreeBSD 8.3 (which officially became unsupported at the end of April). That means it is no longer possible to build any ports from a tree newer than rev 352986 (May 5) on an 8.3 system. To anyone still operating build machines for pfSense 2.1, do not update your ports tree!



  • Thanks for the heads-up! If you use SVN you can just checkout the previous commit r352985, or corresponding hash for the github mirror this seems to be 14ce842120fdd1ffdce18f634bcf3696ef4995f9

    Here are some references:

    Which should result into something like this if you use SVN or git:

    
    svn checkout -r 352985 svn+ssh://svn.freebsd.org/ports/head /usr/ports
    
    git clone https://github.com/freebsd/freebsd-ports.git
    git checkout -b 8.3-compatible 14ce842120fdd1ffdce18f634bcf3696ef4995f9
    
    

    If someone has to backport things he/she will have to take extra measures to not import changes that don't work for 8.3.



  • I need some help guys. I essentially have just needed to get access to a FreeBSD port & have never installed or messed with them before. I've just setup a new jail (with ezjail) & used portsnap fetch extract to get the port files. After figuring this out that the new ports aren't supported due to a error in the make build command. How can I now essentially rollback my ports to before the update that breaks ports for FreeBSD 8.3?

    I just need access to NUT port (Network UPS Tools) for UPS monitoring/shutdown purposes. I am confused what your post says MatSim about svn & git. I don't mess much with FreeBSD outside of pfSense GUI. I tried the commands you posted from inside my jail. They say command not found. Please explain how I can rollback my ports. I'm guessing this will all get fixed in pfSense 2.2 since it looks to be based on FreeBSD 10, then ports should start working again?



  • You'll need to install svn or git first. Try "pkg_add svn" and the retry the first command in MatSim's list. You will probably have to delete the existing ports tree first (or at least move it out of the way).



  • @razzfazz:

    You'll need to install svn or git first. Try "pkg_add svn" and the retry the first command in MatSim's list. You will probably have to delete the existing ports tree first (or at least move it out of the way).

    I did completely delete the ezjail and remade it from scratch.

    Not working. "pkg_add svn" gives "pkg_add: can't stat package file 'svn' "

    Tried command from both outside the jail & inside the jail. Same error on both. Please explain further what I need to do to get ports package working.

    ETA:Ok via google, i've located command "pkg_add -r subversion". It will not successfully run from within my jail. It fails. It did successfully run OUTSIDE the jail. I then ran MatSim's command "svn checkout -r 352985 svn+ssh://svn.freebsd.org/ports/head /usr/ports" received error

    "svn: E210002: Unable to connect to a repository at URL 'svn+ssh://svn.freebsd.org/ports/head'
    svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
    svn: E210002: Network connection closed unexpectedly"

    ETA2:Ok I ran "svn checkout -r 352985 svn://svn.freebsd.org/ports/head /usr/ports" & all kinds of stuff started loading, but this was outside the jail. Mabye it needs to be reran inside the jail?

    ETA3:Ok so "svn checkout -r 352985 svn://svn.freebsd.org/ports/head /usr/ports" won't run in jail, because svn package is not installed. Why am I not able to install it inside my jail?



  • The clue here is NOT "don't update your ports tree".  That way lies madness and security holes.

    pfSense 2.1.4 (coming soon) uses the ports tree and is still based on 8.3.



  • Then perhaps you could provide some details on the preferable solution?



  • Why do you want me to document the requisite steps here when you could just study the code and do the work yourself?

    Often, knowing that a solution is possible is reason enough to pursue it.



  • What, specifically, is "the code"? You can't possibly be suggesting that the solution is to undo the changes in r352986 and manually convert any subsequently introduced :tu and :tl instances after every ports tree update, so I guess what you have in mind must be something along the lines of installing a newer make on the builder? Given how fragile the whole pfSense build system is, that strikes me as at least somewhat adventurous.



  • If you're still interested, I faced the same problem and fixed it by replacing make with bmake.
    I had no issues so far and pfSense 2.1.4 builds just fine with the latest ports.



  • Hi.
    You replace the make for bmake in some pfsense build script or make.conf ?.

    Thank you.



  • No, I directly replaced the binary.
    The whole system uses it now without a problem.



  • @razzfazz:

    What, specifically, is "the code"? You can't possibly be suggesting that the solution is to undo the changes in r352986 and manually convert any subsequently introduced :tu and :tl instances after every ports tree update, so I guess what you have in mind must be something along the lines of installing a newer make on the builder? Given how fragile the whole pfSense build system is, that strikes me as at least somewhat adventurous.

    all build systems are fragile.  Even FreeBSD's.



  • @clem68:

    No, I directly replaced the binary.
    The whole system uses it now without a problem.

    Have you compiled in FreeBSD 8.4 and just substitute the FreeBSD 8.3 version ?.  If i wrong, just correct me.



  • @freebee:

    Have you compiled in FreeBSD 8.4 and just substitute the FreeBSD 8.3 version ?.  If i wrong, just correct me.

    I reverted to an older port snapshot.
    But you can also simply substitute the 8.3 make with the 8.4 one, grabbed from a livefs iso for example.


Log in to reply