补充一下啊,
一、继续用相对路径,目前可以认为是相对于当前目录的当前级目录。改成相对于当前目录的上一级目录,修改点儿如下(所有修改都在 “envtoolsscriptscmdscmd_packagecmd_package_update.py”):
修改 233 行 bsp_package_path = os.path.join(bsp_root, 'packages') -> bsp_package_path = os.path.join(bsp_root, '../packages')
382 行下面添加一行 repo_path = os.path.abspath(repo_path)
repo_path = get_package_folder(repo_path, pkg['ver'])
repo_path = os.path.abspath(repo_path)
修改 490 行(原 489 行) bsp_packages_path = os.path.join(bsp_root, 'packages') -> bsp_packages_path = os.path.join(bsp_root, '../packages')
修改 492 行(原 491 行) os.mkdir("packages") -> os.mkdir("../packages")
相对路径层数可以自行修改,这个对大多数 bsp 仓库是一样的。
二、换成绝对路径呢。我测试了一下直接改成绝对路径也能用,只是吧,只是上面修改的第 1 3 两条没有必要执行 os.path.join 函数了,可以直接改成 bsp_package_path = 'F:/packages'
以上,解决了 pkgs --update 下载包的问题。下面说生成项目涉及到的改动。
改每个 bsp 下的每一个包,每个 bsp 包项目目录下都有个 SConscript 文件。添加一句,修改成下面这样。这样是最直接,最容易找得到的地方。但是这样得要求每个项目目录下的 SConscript 文件都要做修改。
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
objs = objs + SConscript(os.path.join('D:/packages', 'SConscript'))
Return('objs')
修改 components 目录下的 SConscript 文件。方法同上,这种比较隐蔽,只修改这一个地方,所有的 bsp 都适用。
补充一下啊,
一、继续用相对路径,目前可以认为是相对于当前目录的当前级目录。改成相对于当前目录的上一级目录,修改点儿如下(所有修改都在 “envtoolsscriptscmdscmd_packagecmd_package_update.py”):
修改 233 行 bsp_package_path = os.path.join(bsp_root, 'packages') -> bsp_package_path = os.path.join(bsp_root, '../packages')
382 行下面添加一行 repo_path = os.path.abspath(repo_path)
repo_path = get_package_folder(repo_path, pkg['ver'])
repo_path = os.path.abspath(repo_path)
修改 490 行(原 489 行) bsp_packages_path = os.path.join(bsp_root, 'packages') -> bsp_packages_path = os.path.join(bsp_root, '../packages')
修改 492 行(原 491 行) os.mkdir("packages") -> os.mkdir("../packages")
相对路径层数可以自行修改,这个对大多数 bsp 仓库是一样的。
二、换成绝对路径呢。我测试了一下直接改成绝对路径也能用,只是吧,只是上面修改的第 1 3 两条没有必要执行 os.path.join 函数了,可以直接改成 bsp_package_path = 'F:/packages'
以上,解决了 pkgs --update 下载包的问题。下面说生成项目涉及到的改动。
改每个 bsp 下的每一个包,每个 bsp 包项目目录下都有个 SConscript 文件。添加一句,修改成下面这样。这样是最直接,最容易找得到的地方。但是这样得要求每个项目目录下的 SConscript 文件都要做修改。
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
objs = objs + SConscript(os.path.join('D:/packages', 'SConscript'))
Return('objs')
修改 components 目录下的 SConscript 文件。方法同上,这种比较隐蔽,只修改这一个地方,所有的 bsp 都适用。
举报