예제 #1
0
def setup_vm():
    global vm_proc, termserv_proc

    info('Starting up VM')
    sh('bhyveload -m ${RAM_SIZE} -d ${OBJDIR}/test-root.ufs ${VM_NAME}')
    vm_proc = sh_spawn(
        'bhyve -m ${RAM_SIZE} -A -H -P',
        '-s 0:0,hostbridge',
        '-s 1:0,virtio-net,${tapdev}',
        '-s 2:0,ahci-hd,${OBJDIR}/test-root.ufs',
        '-s 3:0,ahci-hd,${OBJDIR}/test-swap.bin',
        '-s 31,lpc -l com1,${CONSOLE_MASTER}',
        '${VM_NAME}'
    )

    pid = vm_proc.pid
    logfile = objdir(e('logs/bhyve.${pid}.log'))

    info('Starting telnet server on port {0}', e('${TELNET_PORT}'))
    info('Console log file is {0}', logfile)
    termserv_proc = sh_spawn(
        'python',
        '${BUILD_TOOLS}/terminal-server.py',
        '-l ${logfile}',
        '-c ${CONSOLE_SLAVE}',
        '-p ${TELNET_PORT}'
    )

    on_abort(shutdown_vm)
예제 #2
0
def umount_packages():
    sh('umount -f ${WORLD_DESTDIR}/usr/ports/packages')
    on_abort(None)

    # If doing a SDK build, we can nuke the local.conf and enable FreeBSD pkg
    if e('${SDK}') == "yes":
        info('SDK: Enabling pkgng repo')
        sh('sed -i "" "s|: no|: yes|g" ${WORLD_DESTDIR}/usr/local/etc/pkg/repos/FreeBSD.conf'
           )
        sh('rm ${WORLD_DESTDIR}/usr/local/etc/pkg/repos/local.conf')
예제 #3
0
def setup_vm():
    global vm_proc, termserv_proc

    info('Starting up VM')
    sh('bhyveload -m ${RAM_SIZE} -d ${OBJDIR}/test-root.ufs ${VM_NAME}')
    vm_proc = sh_spawn('bhyve -m ${RAM_SIZE} -A -H -P', '-s 0:0,hostbridge',
                       '-s 1:0,virtio-net,${tapdev}',
                       '-s 2:0,ahci-hd,${OBJDIR}/test-root.ufs',
                       '-s 3:0,ahci-hd,${OBJDIR}/test-swap.bin',
                       '-s 31,lpc -l com1,${CONSOLE_MASTER}', '${VM_NAME}')

    pid = vm_proc.pid
    logfile = objdir(e('logs/bhyve.${pid}.log'))

    info('Starting telnet server on port {0}', e('${TELNET_PORT}'))
    info('Console log file is {0}', logfile)
    termserv_proc = sh_spawn('python', '${BUILD_TOOLS}/terminal-server.py',
                             '-l ${logfile}', '-c ${CONSOLE_SLAVE}',
                             '-p ${TELNET_PORT}')

    on_abort(shutdown_vm)
예제 #4
0
def umount_packages():
    sh('umount ${INSTUFS_DESTDIR}/usr/ports/packages')
    on_abort(None)
예제 #5
0
def mount_packages():
    on_abort(umount_packages)
    jailname = readfile(e('${OBJDIR}/jailname'))
    sh('mkdir -p ${INSTUFS_DESTDIR}/usr/ports/packages')
    sh('mount -t nullfs ${OBJDIR}/ports/packages/${jailname}-p ${INSTUFS_DESTDIR}/usr/ports/packages')
def umount_packages():
    sh('umount -f ${INSTUFS_DESTDIR}/usr/ports/packages')
    on_abort(None)
def mount_packages():
    on_abort(umount_packages)
    jailname = readfile(e('${OBJDIR}/jailname'))
    sh('mkdir -p ${INSTUFS_DESTDIR}/usr/ports/packages')
    sh('mount -t nullfs ${OBJDIR}/ports/data/packages/${jailname}-p ${INSTUFS_DESTDIR}/usr/ports/packages'
       )
예제 #8
0

def cleanup_gui():
    # FIXME: This triggers a kernel panic possible because of long path names
    # with spaces and double dashes in it.
    info('Cleaning up gui modules')
    sh('rm -rf ${BE_ROOT}/gui/node_modules')


if __name__ == '__main__':
    if env('SKIP_PORTS'):
        info('Skipping ports build as instructed by setting SKIP_PORTS')
        sys.exit(0)

    cleanup_gui()
    create_overlay()
    on_abort(cleanup_env)
    obtain_jail_name()
    calculate_make_jobs()
    create_poudriere_config()
    create_make_conf()
    create_ports_list()
    prepare_jail()
    merge_port_trees()
    prepare_env()
    signal.signal(signal.SIGTERM, terminate)
    signal.signal(signal.SIGINT, terminate)
    signal.signal(signal.SIGINFO, siginfo)
    run()
    cleanup_env()
예제 #9
0

def cleanup_gui():
    # FIXME: This triggers a kernel panic possible because of long path names
    # with spaces and double dashes in it.
    info('Cleaning up gui modules')
    sh('rm -rf ${BE_ROOT}/gui/node_modules')


if __name__ == '__main__':
    if env('SKIP_PORTS'):
        info('Skipping ports build as instructed by setting SKIP_PORTS')
        sys.exit(0)

    cleanup_gui()
    create_overlay()
    on_abort(cleanup_env)
    obtain_jail_name()
    calculate_make_jobs()
    create_poudriere_config()
    create_make_conf()
    create_ports_list()
    prepare_jail()
    merge_port_trees()
    prepare_env()
    signal.signal(signal.SIGTERM, terminate)
    signal.signal(signal.SIGINT, terminate)
    signal.signal(signal.SIGINFO, siginfo)
    run()
    cleanup_env()
예제 #10
0
def umount_packages():
    sh('umount ${WORLD_DESTDIR}/usr/ports/packages')
    on_abort(None)
예제 #11
0
def umount_packages():
    sh('umount ${WORLD_DESTDIR}/usr/ports/packages')
    on_abort(None)