Skip to content

Commit 548afe8

Browse files
committed
docs: add initial Chinese document for pkg
1 parent d0fc5b0 commit 548afe8

4 files changed

Lines changed: 81 additions & 0 deletions

File tree

docs/zh-CN/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# the `pkg` packager manager
2+
3+
`pkg` 是一款用于 C/C++ 的包管理工具,其基于源码和 git 进行依赖管理,基于 CMake 工具进行依赖的构建。
4+
5+
> 本文档适用于 pkg v0.3.0 及以上版本。
6+
7+
## 基本功能
8+
具体功能包括:
9+
- `pkg init` 子命令,用户初始化一个空的配置。
10+
- `pkg fetch` 子命令,用于从远程/本地缓存拉取源代码。
11+
- `pkg install` 子命令,用于构建从源代码编译库并安装。
12+
- `pkg export` 子命令,用于将本项目的依赖打包,方便进行依赖的迁移。
13+
- `pkg import` 子命令,用于导入`pkg export`所打包的依赖包。
14+
- `pkg clean` 子命令,用于清除依赖包的编译缓存。
15+
- `pkg version` 子命令,用于显示版本信息。
16+
17+
对应的子命令后加上`--help`参数,可以查看对应子命令对应的可用参数,如 `pkg fetch --help`
18+
19+
## 配置文件
20+
pkg 的配置文件采用 yaml 格式进行配置,默认文件名为`pkg.yaml`,具体可参考 example 目录下的文件。
21+
22+
- 代理功能

docs/zh-CN/auth.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## pkg 的仓库身份认证
2+
如果相关的依赖库需要登录认证权限,则需要配置相关的身份认证。
3+
4+
这里以 gitlab 上(包括官方或者自己搭建的实例)存储的仓库为例,假设某个仓库是私有的,下面开展 pkg 身份认证的相关配置。
5+
6+
1. 在 gitlab 用户的的 profile 页面的 Access Tokens 子页面,新建一个 Access Tokens。权限勾选 `read_repository` 即可。
7+
2. 在本地需要下载依赖包的环境中,编辑 pkg 的配置文件 `~/.pkg/pkg.config.yaml`,添加刚刚生成的 Access Token:
8+
```yaml
9+
auth:
10+
git.private.org: # 私有仓库对地址对应的域名
11+
user: genshen # gitlab 的用户名
12+
token: ****** # 上面生成的 access token
13+
```
14+
3. 保存 pkg.config.yaml,然后在执行 pkg fetch 命令的时候,pkg 工具就会自动通过配置的 access token 去拉去私有的仓库代码。

docs/zh-CN/fetch.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
## fetch
3+
4+
## 缓存机制
5+
缓存策略如下:
6+
- 如果系统缓存和 vendor/src 下均没有包,会从互联网下载包,放到系统缓存然后拷贝到vencor/src 下。
7+
- 如果仅在系统缓存中有包,则将系统缓存中的包拷贝到 vendor/src 下。
8+
- 如果在vendor/src 下有包,则不会进行额外操作。即使缓存目录中没有相关的依赖包,使用 pkg fetch 命令也不会重新下载,也不会将依赖包代码拷贝到缓存目录。
9+
10+
注意:联网下载的依赖包会放到系统缓存,其位于 `~/.pkg/registry/default-pkg/src/`下。
11+
12+
## 使用代理
13+
pkg 从v0.6.0 开始,支持使用 http 和 https 代理,只需要设置环境变量 `https_proxy``http_proxy` 即可,这样就可通过代理从网络上下载依赖包了。
14+
```bash
15+
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890
16+
pkg fetch
17+
```
18+
19+
## 选项
20+
- `optional`: If the `optional` flag of a package is set to true, this package will not be downloaded and built.
21+
22+
## 命令行选项
23+
- `no-cache`: 跳过本地全局缓存,直接从互联网上下载包。
24+
- `features`: 选择启用的features,其中feature再 pkg.yaml 中的`features`定义。多个feature 用逗号分隔。
25+
- `cmake-find-package-arg`: 如果一个包是CMake构建的,该选项可用。它表示这个包被添加到整个工程中,生成的CMake `find_package`语句的选项。

docs/zh-CN/reference.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Reference
2+
3+
## 通用参数
4+
- version: v0.6.0 版本引入。
5+
- min_pkg_version: v0.6.0 版本引入。
6+
- pkg:
7+
8+
## 镜像
9+
- git-replace:
10+
11+
## features
12+
- features: v0.6.0 版本引入。
13+
14+
## 依赖包 dependencies
15+
- 包名称:`github.com/fmtlib/fmt@4.1.0@fmt`,
16+
17+
## features:
18+
```bash
19+
pkg fetch --features=nvidia,rocm
20+
```

0 commit comments

Comments
 (0)