Skip to content
  • Mike Hibler's avatar
    Support for FreeBSD 10.x boss/ops. · e81136ad
    Mike Hibler authored
    The biggest changes were related to 10.0's replacing gcc with clang
    and the switch to a new package system. The former required various
    fixes to Makefiles that hardwired "gcc" and also missing prototypes
    in source files that clang is particularly obnoxious about.
    
    There was also accomodating the normal evolution of the ports tree.
    New variables were needed in many of the Makefiles for this. Hopefully,
    all the changes I made are backward compatible, but I don't actually
    care that much since I hope to never, ever have to remake those older
    packages! A new emulab version of the m2crypto port was needed to
    reflect that m2crypto is no longer installed as an .egg file.
    
    Casualties:
    
      * Emulab assign. As of this commit, assign does not build with
        clang. It will build, but immediately core dumps if built with
        a gcc port (gcc46 below). THIS NEEDS TO BE FIXED!
    
      * Emulab nsverify. This requires building a pure ns-2.34, which
        is old and does not compile with clang. You will need to set
        NSVERIFY=0 in your defs file. I did this in defs-elabinelab
        (iff FBSD==10) but no where else right now.
    
      * Bind in the base distro. Bind is no longer part of FreeBSD
        (it has been replaced with something called "unbound"). So we
        install bind99 from a port and we make the /etc/namedb symlink
        to /usr/local/etc/namedb which is where it now lives.
    
      * Perl 5.12. It has been totally removed from the ports tree.
        We now install 5.14, the next-most obsolete version of Perl!
    
      * pkg_{add,delete,info}. As mentioned, the packages tools have
        changed. For the most part "pkg <cmd>" is the same as "pkg_<cmd>"
        but not always. This required considerable violence in the
        install/phases code. But it is actually cleaner now.
    
      * GCC in the base distro. I added installation of the gcc46 port
        to the boss and ops meta packages, just for old-times sake
        (we might wind up needing it, if still more stuff doesn't work
        with clang).
    e81136ad