宿主机上打包deb教程¶
-
安装环境
根据debbian/control安装依赖:
-
根据版本号创建符合dh_make规范的
- 格式 -
dh_make生成debian模板文件
-
dkpg-source生成构建源代码包
-
crotrol文件
Source: linglong-repo # 源码名 Section: unknown Priority: optional Maintainer: yuanqiliang <yuanqiliang@uniontech.com> # 维护者 Build-Depends: debhelper (>= 11), ostree, libostree-dev # 编译依赖 Standards-Version: 4.1.3 Homepage: https://linglong.dev #Vcs-Browser: https://salsa.debian.org/debian/linglong-repo #Vcs-Git: https://salsa.debian.org/debian/linglong-repo.git Package: ll-repo-cli # deb包名,多个的话拆分,见下方ll-repo-server Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: ll-repo-cli # 简介 ll-repo-cli # 稍微详细一点的简介 Package: ll-repo-server Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: ll-repo-server ll-repo-server -
rules文件
-
makefile
SHELL=/bin/bash PREFIX = /usr # 模拟安装此包到debian/tmp目录下的相对路径前缀 all: build # all要放前面 install-swag: go install github.com/swaggo/swag/cmd/swag@v1.8.4 swag-doc: install-swag swag init --parseDependency --parseInternal -d cmd/ll-repo-server build-vendor: go mod tidy go mod vendor build: build-vendor CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o ./bin/ll-repo-server -v ./cmd/ll-repo-server CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o ./bin/ll-repo-cli -v ./cmd/ll-repo-cli run: build ./ll-repo-server cli-run: build ./ll-repo-cli docker: docker build \ -t linglong-server:latest \ -f Dockerfile . install: # 安装命令 install -Dm0755 bin/ll-repo-cli ${DESTDIR}/${PREFIX}/bin/ll-repo-cli install -Dm0755 bin/ll-repo-server ${DESTDIR}/${PREFIX}/bin/ll-repo-server clean: rm -rf bin vendor .PHONY: docker install help swag-doc -
ll-repo-cli.install文件
拆分步骤7中的install安装命令,将ll-repo-cli安装需要的内容剥离。
-
ll-repo-server.install文件
拆分步骤7中的install安装命令,将ll-repo-server安装需要的内容剥离。
制作单个deb包无需步骤8、9。
-
changelog文件
-
编译制作deb包
命令与上方有所重复,写成shell脚本,只是为了提高效率。