本文整理汇总了Python中utils.sh函数的典型用法代码示例。如果您正苦于以下问题:Python sh函数的具体用法?Python sh怎么用?Python sh使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sh函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: setup_rootfs
def setup_rootfs():
buildkernel(e('${KERNCONF}-DEBUG'), ['mach'], buildkernellog)
installworld('${OBJDIR}/test-root', installworldlog, distributionlog, conf="run")
installkernel(e('${KERNCONF}'), '${OBJDIR}/test-root', installkernellog, modules=['mach'], conf="run")
info('Installing overlay files')
sh('rsync -ah ${TESTS_ROOT}/trueos/overlay/ ${OBJDIR}/test-root')
sh('makefs -M ${IMAGE_SIZE} ${OBJDIR}/test-root.ufs ${OBJDIR}/test-root')
开发者ID:abwaters,项目名称:freenas-build,代码行数:7,代码来源:run-trueos-tests.py
示例2: installworld
def installworld(destdir, worldlog, distriblog, conf="build"):
info('Installing world in {0}', destdir)
info('Log file: {0}', worldlog)
makeconf = objdir("make-${conf}.conf")
sh(
"env MAKEOBJDIRPREFIX=${OBJDIR}",
"make",
"-C ${TRUEOS_ROOT}",
"installworld",
"DESTDIR=${destdir}",
"__MAKE_CONF=${makeconf}",
log=worldlog
)
info('Creating distribution in {0}', destdir)
info('Log file: {0}', distriblog)
sh(
"env MAKEOBJDIRPREFIX=${OBJDIR}",
"make",
"-C ${TRUEOS_ROOT}",
"distribution",
"DESTDIR=${destdir}",
"__MAKE_CONF=${makeconf}",
log=distriblog
)
开发者ID:github188,项目名称:freenas-build,代码行数:25,代码来源:build-os.py
示例3: create_package
def create_package():
if os.path.exists('/usr/local/bin/pigz'):
sh('tar -C ${DEBUG_ROOT} -cvf - . | /usr/local/bin/pigz -c > ${output}', log='/dev/null')
else:
sh('tar -C ${DEBUG_ROOT} -cvJf ${output} .', log='/dev/null')
sha256(output)
开发者ID:DeepikaDhiman,项目名称:freenas-build,代码行数:7,代码来源:build-debug.py
示例4: make_iso_image
def make_iso_image():
setfile('${ISO_DESTDIR}/boot/loader.conf', template('${BUILD_CONFIG}/templates/cdrom/loader.conf'))
setfile('${ISO_DESTDIR}/boot/grub/grub.cfg', template('${BUILD_CONFIG}/templates/cdrom/grub.cfg'))
setfile('${ISO_DESTDIR}/.mount.conf', template('${BUILD_CONFIG}/templates/cdrom/mount.conf'))
sh('cp ${WORLD_DESTDIR}/boot/device.hints ${ISO_DESTDIR}/boot/device.hints')
sh('grub-mkrescue -o ${output} ${ISO_DESTDIR} -- -volid ${CDROM_LABEL}')
sha256(output)
开发者ID:github188,项目名称:freenas-build,代码行数:7,代码来源:create-iso.py
示例5: setup_vm
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)
开发者ID:abwaters,项目名称:freenas-build,代码行数:29,代码来源:run-trueos-tests.py
示例6: setup_network
def setup_network():
global tapdev
info('Configuring VM networking')
tapdev = sh_str('ifconfig tap create')
info('Using tap device {0}', tapdev)
sh('ifconfig ${tapdev} inet ${HOST_IP} ${NETMASK} up')
开发者ID:abwaters,项目名称:freenas-build,代码行数:7,代码来源:run-trueos-tests.py
示例7: install_ports
def install_ports():
pkgs = ' '.join(get_port_names(config.ports))
sh('mount -t devfs devfs ${WORLD_DESTDIR}/dev')
err = chroot('${WORLD_DESTDIR}', 'env ASSUME_ALWAYS_YES=yes pkg install -r local -f ${pkgs}', log=logfile, nofail=True)
sh('umount -f ${WORLD_DESTDIR}/dev')
if not os.path.isdir(e('${WORLD_DESTDIR}/data')) or err != 0:
error('Packages installation failed, see log file {0}', logfile)
开发者ID:DeepikaDhiman,项目名称:freenas-build,代码行数:8,代码来源:install-ports.py
示例8: main
def main():
for i in files_to_save:
sh('mv ${WORLD_DESTDIR}/${i} ${WORLD_DESTDIR}/${i}.bak')
chroot('${WORLD_DESTDIR}', 'pkg delete -y -f gcc\* || true')
for i in files_to_save:
sh('mv ${WORLD_DESTDIR}/${i}.bak ${WORLD_DESTDIR}/${i}')
开发者ID:github188,项目名称:freenas-build,代码行数:8,代码来源:remove-gcc.py
示例9: pip_install
def pip_install(pkg, no_index=True):
pkg_dir.chdir()
if no_index:
cmd = "pip --isolated install --no-index --upgrade ./%s" % pkg
else:
cmd = "pip --isolated install --upgrade ./%s" % pkg
sh(cmd)
curdir.chdir()
开发者ID:revesansparole,项目名称:VersionClimber,代码行数:9,代码来源:liquid.py
示例10: build_pkgtools
def build_pkgtools():
info('Building freenas-pkgtools')
info('Log file: {0}', pkgtoolslog)
sh(
"env MAKEOBJDIRPREFIX=${OBJDIR}",
"make -C ${BE_ROOT}/freenas-pkgtools obj all install DESTDIR=${tooldir} PREFIX=/usr/local",
log=pkgtoolslog
)
开发者ID:DeepikaDhiman,项目名称:freenas-build,代码行数:9,代码来源:build-packages.py
示例11: checkout
def checkout(pkg, commit):
d = pkg_dir / pkg
d.chdir()
commit = str(commit)
sh("git checkout %s" % commit)
curdir.chdir()
开发者ID:revesansparole,项目名称:VersionClimber,代码行数:9,代码来源:liquid.py
示例12: prepare_jail
def prepare_jail():
basepath = e('${POUDRIERE_ROOT}/etc/poudriere.d/jails/${jailname}')
sh('mkdir -p ${basepath}')
setfile(e('${basepath}/method'), 'git')
setfile(e('${basepath}/mnt'), e('${JAIL_DESTDIR}'))
setfile(e('${basepath}/version'), e('${FREEBSD_RELEASE_VERSION}'))
setfile(e('${basepath}/arch'), e('${BUILD_ARCH}'))
sh("jail -U root -c name=${jailname} path=${JAIL_DESTDIR} command=/sbin/ldconfig -m /lib /usr/lib /usr/lib/compat")
开发者ID:abwaters,项目名称:freenas-build,代码行数:10,代码来源:build-ports.py
示例13: create_poudriere_config
def create_poudriere_config():
sh('mkdir -p ${DISTFILES_CACHE}')
setfile('${POUDRIERE_ROOT}/etc/poudriere.conf', template('${BUILD_CONFIG}/templates/poudriere.conf', {
'ports_repo': config['repos'].where(name='ports')['path'],
'ports_branch': config['repos'].where(name='ports')['branch'],
}))
tree = e('${POUDRIERE_ROOT}/etc/poudriere.d/ports/p')
sh('mkdir -p', tree)
setfile(pathjoin(tree, 'mnt'), e('${PORTS_OVERLAY}'))
setfile(pathjoin(tree, 'method'), 'git')
开发者ID:abwaters,项目名称:freenas-build,代码行数:11,代码来源:build-ports.py
示例14: fetch_binary_packages
def fetch_binary_packages():
if e('${SKIP_PACKAGES_FETCH}'):
return
for i in config.binary_packages:
_, name = os.path.split(i)
if os.path.exists(e('${WORLD_DESTDIR}/usr/ports/packages/${name}')):
continue
info('Fetching package {0}', name)
sh('fetch ${i} -o ${WORLD_DESTDIR}/usr/ports/packages/')
开发者ID:DeepikaDhiman,项目名称:freenas-build,代码行数:12,代码来源:install-ports.py
示例15: main
def main():
user = sh_str('id -un')
if user == 'root':
user = 'jkh'
# sh('ssh ${user}@${DOWNLOAD_HOST} rm -rf ${DOWNLOAD_TARGETDIR}')
# sh('ssh ${user}@${DOWNLOAD_HOST} mkdir -p ${DOWNLOAD_TARGETDIR}')
# sh('scp -pr ${RELEASE_STAGEDIR}/* ${user}@${DOWNLOAD_HOST}:${DOWNLOAD_TARGETDIR}/')
ref_date = 0
rel_dir = ''
dirstring = e('${BE_ROOT}/release/${PRODUCT}')
for x in glob.glob("{0}*".format(dirstring)):
if e('${BUILD_ARCH_SHORT}') not in os.listdir(x):
continue
if os.lstat(x).st_ctime > ref_date:
ref_date = os.lstat(x).st_ctime
rel_dir = x
if not rel_dir:
error('Release not found')
if e('${BUILD_TYPE}').lower() in ["master", "stable"]:
buildtimestamp = os.path.basename(rel_dir).split("-")[-1]
downloadtargetdir = e('${DOWNLOAD_BASEDIR}/${MILESTONE}/${buildtimestamp}')
else:
downloadtargetdir = e('${DOWNLOAD_TARGETDIR}')
sh('ssh ${user}@${DOWNLOAD_HOST} rm -rf ${downloadtargetdir}')
sh('ssh ${user}@${DOWNLOAD_HOST} mkdir -p ${downloadtargetdir}')
sh('scp -pr ${rel_dir}/* ${user}@${DOWNLOAD_HOST}:${downloadtargetdir}/')
info('Synchronizing download server to CDN')
sh('ssh ${user}@${DOWNLOAD_HOST} /usr/local/sbin/rsync-mirror.sh')
开发者ID:github188,项目名称:freenas-build,代码行数:32,代码来源:post-to-download.py
示例16: cleanup_env
def cleanup_env():
global poudriere_proc
info('Cleaning up poudriere environment...')
if poudriere_proc and poudriere_proc.poll() is None:
try:
poudriere_proc.terminate()
poudriere_proc.wait()
except OSError:
info('Cannot kill poudriere, it has probably already terminated')
info('Unmounting ports overlay...')
sh('rm -rf ${PORTS_OVERLAY}')
for cmd in jailconf.get('link', []):
sh('umount -f', cmd['source'])
开发者ID:abwaters,项目名称:freenas-build,代码行数:15,代码来源:build-ports.py
示例17: buildworld
def buildworld():
info('Building world from ${{TRUEOS_ROOT}}')
info('Log file: {0}', worldlog)
debug('World make.conf: {0}', makeconfbuild)
sh(
"env -u DEBUG -u MAKEFLAGS MAKEOBJDIRPREFIX=${OBJDIR}",
"make",
"-j {0}".format(makejobs),
"-C ${TRUEOS_ROOT}",
"__MAKE_CONF={0}".format(makeconfbuild),
"NOCLEAN=YES",
"buildworld",
log=worldlog
)
开发者ID:github188,项目名称:freenas-build,代码行数:15,代码来源:build-os.py
示例18: cleandirs
def cleandirs():
info('Cleaning previous build products')
if os.path.isdir(e('${INSTUFS_DESTDIR}')):
sh('chflags -R 0 ${INSTUFS_DESTDIR}')
sh('rm -rf ${INSTUFS_DESTDIR}')
sh('rm -rf ${ISO_DESTDIR}')
sh('mkdir -p ${ISO_DESTDIR} ${INSTUFS_DESTDIR}')
开发者ID:github188,项目名称:freenas-build,代码行数:8,代码来源:create-iso.py
示例19: install_mininet
def install_mininet():
dist.install("git")
if dist.NAME == "Fedora":
mininet_opts = "-fnp"
dist.install("openvswitch", "openvswitch-devel", "openvswitch-test")
sh("systemctl enable openvswitch")
sh("systemctl start openvswitch")
else:
mininet_opts = "-a"
sh("git clone https://github.com/mininet/mininet.git", cwd=args.output_dir)
sh("git checkout %s" % MininetVersion, cwd=os.path.join(args.output_dir, "mininet"))
sh("mininet/util/install.sh %s -s ." % mininet_opts,
"pip2 -q install mininet/",
cwd=args.output_dir)
开发者ID:oliviertilmans,项目名称:ipmininet,代码行数:16,代码来源:install.py
示例20: create_manifest
def create_manifest(pkgs):
info('Creating package manifests')
date = int(time.time())
train = e('${TRAIN}') or 'FreeNAS'
sh(
"env PYTHONPATH=${tooldir}/usr/local/lib",
"${tooldir}/usr/local/bin/create_manifest",
"-P ${pkgdir}/Packages",
"-S ${sequence}",
"-o ${pkgdir}/${PRODUCT}-${sequence}",
"-R ${PRODUCT}-${VERSION}",
"-T ${train}",
"-t ${date}",
*pkgs
)
sh('ln -sf ${PRODUCT}-${sequence} ${pkgdir}/${PRODUCT}-MANIFEST')
开发者ID:DeepikaDhiman,项目名称:freenas-build,代码行数:17,代码来源:build-packages.py
注:本文中的utils.sh函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论