1. 12 Jun, 2014 1 commit
    • Kirk Webb's avatar
      Update the use of realpath across all perl scripts · 3f167217
      Kirk Webb authored
      Change to use the realpath function in the 'Cwd' module instead of
      calling realpath via the shell.  The shell command varies in its
      reaction to a missing final path component.  On some platforms (Linux,
      FBSD10+) realpath reports an error if the final component doesn't exist
      on the filesystem.  On others (FBSD < 10), it does not report an error.
      
      The perl function from 'Cwd' emulates the same behavior as FBSD prior to
      version 10, which is the behavior the scripts expect.
      
      From here on out, instead of using `realpath`, do the following:
      
      use Cwd qw(realpath);
      ..
      ..
      my $realpath = realpath($somepath);
      3f167217
  2. 03 Apr, 2014 1 commit
    • 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
  3. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  4. 02 Mar, 2009 1 commit
    • Leigh Stoller's avatar
      A bunch of changes for a "standalone" clearinghouse. Presently this · 60f04310
      Leigh Stoller authored
      its really a hugely stripped down Emulab boss install, using a very
      short version of install/boss-install to get a few things into place.
      
      I refactored a few things in both the protogeni code and the Emulab
      code, and whacked a bunch of makefiles and configure stuff. The result
      is that we only need to install about 10-12 files from the Emulab
      code, plus the protogeni code. Quite manageable, if you don't mind
      that it requires FreeBSD 6.X ... Still, I think it satisfies the
      requirement that we have a packaged clearinghouse that can be run
      standalone from a running Emulab site.
      60f04310