Setup a new repo#
Short Version#
Normally, people get repo tools by copying all the bootstrap files from other repo. You would need following files:
repo.sh
andrepo.bat
- entry pointstools/repoman/repoman.py
- bootstrap scripttools/packman
- packmandeps/repo-deps.packman.xml
- packman config for repo tools to pull. It needs at least to haverepo_man
itself.
They can also be copied from repo_man itself.
All those files should be committed and from now on to update use:
repo update repo_man
command to updaterepo_man
repo packman update
to update packman
After an update all the changes should be committed too.
Long Version#
To set up a repo to use repo_man, follow these steps:
First, copy over the packman and repo_man bootstrap scripts. This can be done from the
repo_man
repo itself, by doing:Windows
git clone --depth 1 --filter=blob:none https://gitlab-master.nvidia.com/omniverse/repo/repo_man.git repo_man_temp xcopy /S repo_man_temp\tools tools\ copy repo_man_temp\repo.sh . copy repo_man_temp\repo.bat . rmdir /S /Q repo_man_temp
Linux/MacOS
git clone --depth 1 --filter=blob:none https://gitlab-master.nvidia.com/omniverse/repo/repo_man.git repo_man_temp cp -r repo_man_temp/tools repo_man_temp/repo.sh repo_man_temp/repo.bat . rm -rf repo_man_temp
Next, create a
deps/repo-deps.packman.xml
file, which declares repo_man as a dependency:Windows/Linux/MacOS
mkdir deps
Then, in your favorite text editor, save a new
deps/repo-deps.packman.xml
. This is the minimum necessary to use repo_man:<project toolsVersion="5.0"> <dependency name="repo_man"> <package name="repo_man" version="0.4.7" /> </dependency> </project>
However, since nearly all the useful functionality is in the various subtools, and repo_man itself is just a way to manage those tools, with only this, repo_man won’t be very useful. You’ll want to add in support for whichever tools you want to use. For instance, to enable support for repo_build and repo_format, use this
deps/repo-deps.packman.xml
:<project toolsVersion="5.0"> <dependency name="repo_man"> <package name="repo_man" version="0.4.7" /> </dependency> <dependency name="repo_build"> <package name="repo_build" version="0.17.21" /> </dependency> <dependency name="repo_format"> <package name="repo_format" version="0.6.5" /> </dependency> </project>
To find what versions are available for a given tool, use packman - either via packman-list or the web frontend, nv/packman
Finally, create a
repo.toml
file - it may be empty, but must exist:Windows
type nul > repo.toml
Linux/MacOS
touch repo.toml
You’ll likely also want to commit these files to your repo. For instance, if using git:
Winows/Linux/MacOS
git add deps repo.bat repo.sh repo.toml tools git commit -a -m "adding basic repoman support"