Opened 12 years ago

Closed 12 years ago

#24 closed (fixed)

how can site admins find the Emulab, FreeBSD base, and package source code used to install their system?

Reported by: chaos@bbn.com Owned by: somebody
Priority: major Milestone: IG-MON-1
Component: Monitoring Version: SPIRAL4
Keywords: Cc:
Dependencies:

Description

There is a rack requirement that site admins be able to figure out where the software installed on their rack came from. In looking at boss.utah.geniracks.net (performing IG-MON-1 step 1), i was able to track down most things, but have the following three caveats in terms of tracking system binaries back to source code:

  1. Since Emulab system binaries are installed by a make install type process, the easiest way to verify where they came from (that i can think of) is to md5 the binary and compare it to a binary in an .../obj tree whose corresponding .../src tree is known. On boss right now, that tree seems to be /users/stoller/testbed/{src,obj}. So that works well, but i had to make a guess about where the tree was likely to be. Are you planning a standard location for the {src,obj} from which each rack's Emulab software will be installed, or will it vary?
  2. If the OS base install had been upgraded, i could do the same thing for verifying FreeBSD base system software by looking in /usr/{src,obj}. However, right now, boss has a FreeBSD base install, so there is no base software in /usr/obj. Does FreeBSD provide a standard solution for this, or do they assume that anyone who cares what version they're running has recompiled their base and thus has something in /usr/obj? Any thoughts?
  3. Some software on the system comes from FreeBSD packages, which i believe are created by Utah. Is the source/patches/etc used to create those packages available somewhere?

Change History (1)

comment:1 Changed 12 years ago by chaos@bbn.com

Resolution: fixed
Status: newclosed

Answers courtesy of Leigh:

  1. On non-Utah racks, the plan is for the canonical location of the source and object trees to be:
    /usr/testbed/{src,obj}/emulab-stable
    
  2. I was overthinking this: if there has not been a local compile of the FreeBSD base, then
    $ uname -r
    8.3-RC1
    
    gives a sufficient amount of information, and FreeBSD can provide the source (and maybe objects, if you look hard enough?) for their stuff.
  3. Mea culpa here for assuming this wouldn't Just Work without looking: in fact, the /usr/ports tree on boss contains the right versions for all the packages i needed to look up (including the Emulab-specific emulab-tftp-hpa and pubsub (which is called emulab-pubsub by ports).
Note: See TracTickets for help on using tickets.