control build-depends

时间: 2023-08-03 13:07:06 浏览: 63
在 debian 包的控制文件 `debian/control` 中,`Build-Depends` 字段指定了构建该软件包所需要的构建依赖项。这些依赖项通常包括编译器、构建工具、库等。当使用 `dpkg-buildpackage` 命令构建 debian 包时,系统会自动安装这些构建依赖项,以确保构建过程中所需的所有依赖项都得到满足。 如果您遇到了 `control build-depends` 的问题,可能是因为缺少某些构建依赖项或者依赖项版本不匹配导致构建失败。您可以查看 `debian/control` 文件中的 `Build-Depends` 字段,检查所需的依赖项是否已经安装或者版本是否正确。如果缺少依赖项,您可以使用 `apt-get build-dep` 命令安装构建依赖项。
相关问题

debian control build-depends文件语法

在 Debian 的控制文件中,`Build-Depends` 字段用于列出在构建软件包时所需的依赖项。这些依赖项通常是开发库、编译器、构建工具等。 `Build-Depends` 字段的语法如下: ``` Build-Depends: dependency1, dependency2, ... ``` 其中,`dependency` 可以是软件包名称、软件包名称和版本要求、特定的构建工具等。多个依赖项之间使用逗号分隔。 例如,下面是一个示例控制文件,其中包含了 `Build-Depends` 字段: ``` Source: mypackage Section: devel Priority: optional Maintainer: You <you@example.com> Build-Depends: debhelper (>= 9), gcc, make Standards-Version: 3.9.8 Package: mypackage Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: My package This is a package I made. ``` 在上面的示例中,`Build-Depends` 字段列出了 `debhelper`、`gcc` 和 `make` 这三个依赖项,其中 `debhelper` 要求版本不低于 9。 需要注意的是,`Build-Depends` 字段中列出的依赖项只在构建软件包时需要,而在运行时不需要。在构建软件包时,Debian 包管理器会自动下载和安装这些依赖项。

#!/bin/bash #bash -x ./build_package.sh -a aarch64 -w `pud` -i 123abc -v 1,4.0 -r 3 -b /root/packaging_releases/build_root_a3860623d/virtual_rootfs/usr/local/ -l /usr/local -t deb OS=Kylin VERSION= WORK_ROOT= PACKAGE_TYPE=deb BUILD_ID= RELEASE= DISTRO_ID=`cat /etc/*-release | grep ^ID= | awk -F'=' '{print $2}' | sed '/\"//g'` DISTRO _VERSION_ID=`cat /etc/*-release | grep ^VERSION_ID= | awk -F'=' '{print $2}' | sed "s/\"//g'` usage() { echo "Usage:" echo "build_package.sh " } build_rpm_package() { mkdir -p $BUILD ROOT pushd $BUILD ROOT RPMBUILD=$BUILD_ROOT/rpmbuild_$BUILD_ID rpmbuild --bb --target=$ARCH \ -D "_topdir $RPMBUILD" \ -D "_arch $ARCH" \ -D "current_version $VERSION" \ -D "current_release $RELEASE.$DISTRO_ID$DISTRO_VERSION_ID" \ -D "lib $BIN PATH" \ -D "lib_prefix $_LIB_PREFTX" \ $WORK_ROOT/rpm_package/package.spec cp `find ./ -name *.rpm` $WORK_ROOT; popd exit } build_deb_package() { mkdir -p $BUILD_ROOT pushd $BUILD_ROOT PACKAGE_NAME="sietium-umod-drv_"$VERSION"-"$RELEASE"."$DISTRO_ID$DISTRO_VERSION_ID"_"$ARCH DEBBUILD=$BUILD_ROOT/debbuild_$BUILD_ID mkdir -p $DEBBUILD/$_LIB_PREFIX sed-i "s/Version:/Version:$VERSION-$RELEASE/g" $WORK_ROOT/deb_package/DEBIAN/control sed -i "s/Architecture:/Architecture:$ARCH/g"$WORK_ROOT/deb_package/DEBIAN/control rsync -rat $WORK_ROOT/deb_package/DEBIAN $DEBBUILD rsync -rat $BIN_PATH $DEBBUILD/$_LIB_PREFIX pushd $DEBBUILD mv ./DEBIAN ./debian mv usr/local/sietium/lib64/pkgconfig . dpkg-shlibdeps usr/local/sietium/lib64/* mv ./pkgconfig usr/local/sietium/lib64/ DEPS=`cat debian/substvars | awk -F'shlibs:Depends=' '{print $2}'` sed -i "s/Depends:/Depends:$DEPS/g" debian/control mv ./debian ./DEBIAN popd dpkg-deb--build $DEBBUILD $WORK_ROOT/$PACKAGE_NAME.deb Popd exit } while getopts a:b:d:o:v:w:t:i:h:r:l:c:h: option do case $option in a) ARCH=$OPTARG;; b) BIN_PATH=$OPTARG;; f) CONF_PATH=$OPTARG;; o) OS=$OPTARG;; v) VERSION=$OPTARG;; w)WORK_ROOT=$OPTARG;; t) PACKAGE_TYPE=$OPTARG;; i) BUILD_ID=$OPTARG;; r) RELEASE=$OPTARG;; l) _LIB_PREFIX=$OPTARG;; c)_CONF_PREFIX=$OPTARG;; h) usage;; ?) usage;; esac done echo "build env:" echo " Arch:" $ARCH echo " OS:" $OS echo " Version:" $VERSION echo " RELEASE:" $RELEASE echo " Work dir:" SWORK_ROOT echo " Package type:" $PACKAGE_TYPE BUILD_ROOT=$WORK_ROOT/build _package_$BUILD_ID if [ $PACKAGE_TYPE =='rpm']; then build_rpm_package elif[$PACKAGE_TYPE =='deb']; then build_deb_package else build_rpm_package build_deb_package fi解释脚本意义

这是一个 Bash 脚本,用于构建软件包。它包含了两个函数 `build_rpm_package()` 和 `build_deb_package()`,分别用于构建 RPM 和 DEB 类型的软件包。脚本接受一些参数,如架构 `-a`、二进制文件路径 `-b`、操作系统 `-o`、版本号 `-v`、工作目录 `-w`、软件包类型 `-t`、构建 ID `-i`、发布版本号 `-r`、库路径前缀 `-l` 等等。脚本中使用了一些 Linux 命令,如 `mkdir`、`pushd`、`popd`、`rsync`、`sed`、`awk`、`dpkg-shlibdeps`、`dpkg-deb` 等等,用于创建目录、切换工作目录、复制文件、修改文件内容、生成软件包依赖信息等等。脚本最后根据软件包类型调用相应的构建函数,如果类型不是 RPM 或 DEB,则默认同时构建 RPM 和 DEB。

相关推荐

最新推荐

recommend-type

微软内部资料-SQL性能优化2

Contents Module Overview 1 Lesson 1: Memory 3 Lesson 2: I/O 73 Lesson 3: CPU 111 Module 3: Troubleshooting Server Performance ...Troubleshooting server performance-based support calls requires ...
recommend-type

微信小程序-番茄时钟源码

微信小程序番茄时钟的源码,支持进一步的修改。番茄钟,指的是把工作任务分解成半小时左右,集中精力工作25分钟后休息5分钟,如此视作种一个“番茄”,而“番茄工作法”的流程能使下一个30分钟更有动力。
recommend-type

激光雷达专题研究:迈向高阶智能化关键,前瞻布局把握行业脉搏.pdf

电子元件 电子行业 行业分析 数据分析 数据报告 行业报告
recommend-type

安享智慧理财测试项目Mock服务代码

安享智慧理财测试项目Mock服务代码
recommend-type

课程设计 基于SparkMLlib的ALS算法的电影推荐系统源码+详细文档+全部数据齐全.zip

【资源说明】 课程设计 基于SparkMLlib的ALS算法的电影推荐系统源码+详细文档+全部数据齐全.zip课程设计 基于SparkMLlib的ALS算法的电影推荐系统源码+详细文档+全部数据齐全.zip 【备注】 1、该项目是高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。