spec文件

2023-11-06

spec文件

spec文件是配置规范文件,是RPM软件包编译过程的核心,它说明了软件包如何被配置、打那些补丁、安装哪些文件、安装到哪里、安装过程需要哪些系统级别活动。

在这里插入图片描述

标签说明:

依赖关系 Dependencies:
BuildRequires:
BuildRequires不会自动查找程序的,单列出需要的软件包。在安装软件的时候,系统会根据spec文件中的BuildReequires构建依赖寻找对应版本的软件包,如果版本不一致则需要调整。在BuildRequies标签中会使用pkgconfig,例如,pkgconfig(zlib),pkgconfig会根据括号里面关键词搜索对应的第三方库。【pkgconfig(zlib)一般对应着libzlib-devel】
Requires:
RPM能自动寻找函数库和运行间的依赖关系。
%prep:
预处理标签
%build:
编译
%install:
安装

%files
定义文件被放置在系统的位置。

%defattr
设置文件的属性
%defattr (-,root,root) 指定包装文件的属性,分别是(mode,owner,group),-表示默认值,对文本文件是0644,可执行文件是0755

spec文件支持定义宏,
定义:%define testMacro 2
使用:%{testMacro}

例子:

BuildRequires: libpng-devel (或者 openSUSE 11.4 之后才有的: BuildRequires: pkgconfig(libpng14),在没有安装 libpng-devel 编译依赖时,编译抛错并中止。

注意:
修改spec文件格式要正确,否则会导致在源代码包编译的时候出问题。

相关链接:
https://zh.opensuse.org/openSUSE:Specfile_guidelines

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spec文件 的相关文章

  • 求助matlab算法修改,该算法运行有问题要如何修改呢

    clc clear close 电力系统经济调度 Matlab 程序 使用 MATPOWER 工具箱 作者 123Bot 引用 MATPOWER 工具箱 addpath 路径 matpower7 1 更改 路径 为正确的 MATPOWER
  • 高通charge

    smbchg parse peripherals里面设置了 base地址chip gt usb chgpth base resource gt start 属性 sys class power supply battery 目录下的属性定义
  • 随身wifi折腾日记 (刷armbian搭建服务器,内网穿透部署网站)

    随身wifi折腾日记 跳转博客 观感更佳 商业转载请联系作者获得授权 非商业转载请注明出处 For commercial use please contact the author for authorization For non com
  • jenkins部署springboot项目(超详细讲解)

    原来写了一篇博客是如何安装jenkins的 今天也来介绍一下怎么简单使用吧 首先 我们要明确 jenkins自动化部署也只是代替你去做你要做的事 我们梳理一下 你的代码写完 打包 扔到服务器上 部署 所以jenkins代替我们要做什么 1
  • Safari浏览器实用小技巧

    Safari在 macOS Monterey 中获得了一些更明显的更新 它们可能会让您更多地使用书签 现已经有一些小技巧可以让 Safari 书签成为一个关键的 有组织的研究工具 而不是被遗忘在角落 如何在 Safari 中固定网站 导航到
  • 配置IIS Express局域网访问 VS2017调试.Net Core

    局域网配置参考https blog csdn net yeluo vinager article details 84305111 注意 当出现这个问题 注意将VS关闭 重新以管理员身份打开就可以了
  • AI日报|AI“翻白眼”,是满足还是隐藏的反抗?

    今日值得关注的人工智能新动态 AI 翻白眼 是满足还是隐藏的反抗 通过AI揭示牙齿隐藏疾病 CodeVQA 通过代码生成进行视觉问答 NASA 提前30分钟准确预测太阳风暴 思想实验 利用反事实来改进道德推理 基于大型AI模型的语义通信 可
  • 踩坑:Vue.js中v-for和v-if不能同时使用

    踩坑 Vue js中v for和v if不能同时使用 问题出现之时 v if代码地方出现报错下面有红色的波浪线 具体报错信息大概是说v for和v if不能混用 取而代之要使用computed计算属性 让数组变量替换为返回的已过滤数组的计算
  • C++实现改进的冒泡排序

    冒泡排序法 Bubble Sort 即起泡排序并不能改观普通排序的时间复杂度 还是O n 2 冒泡排序法是从后往前两两比较 然后遍历整个数组 犹如鱼吐水泡 故起此名 而普通排序法是遍历整个数组 然后每个元素和后面的所有元素进行比较 升序则是
  • 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。

    题目描述 给定区间 2 31 2 31 内的3个整数A B和C 请判断A B是否大于C 输入 输入第1行给出正整数T lt 10 是测试用例的个数 随后给出T组测试用例 每组占一行 顺序给出A B和C 整数间以空格分隔 输出 对每组测试用例
  • matlab中evrnd函数_Matlab内生成随机数的函数

    1 rand 生成 0 1 区间上均匀分布的随机数 基本语法 rand M N P 生成排列成M N P 多维向量的随机数 如果只写M 则生成M M矩阵 如果参数为 M N 可以省略方括号 2 randn 生成服从标准正太分布 均值为0 方
  • 大数据技术原理与应用 概念、存储、处理、分析和应用(林子雨)——第四章 分布式数据库HBase

    第四章 分布式数据库HBase HBase是一个开源的分布式数据库 它是基于Google的Bigtable论文实现的 HBase旨在提供一个高可靠性 高性能 面向列存储的分布式数据库 适用于大规模数据存储和处理 HBase的数据模型和访问接
  • AcWing 837. 连通块中点的数量 并查集模板题

    题 注意根节点不一样才合并 否则size会重复相加 注意size要加在根节点上 include
  • 工作日记NO.5

    1 画圆弧线 2 圆弧画圆 选定已存在的圆弧 将其转化为圆 3 遍历块内实体 4 删除块以及块参照 5 打开对话框 6 常用objectARX类型转化
  • ROS下基于Qt的人机交互开发(一)开发环境搭建

    目录 一 Qt简介 二 Qt安装 1 通过apt安装 2 通过安装包安装 3 添加qtcreator到环境变量 4 增加可执行权限 5 终端运行Qt 二 创建Qt功能包 1 安装依赖 2 创建Qt功能包 3 例子 创建class1 ros
  • 【stm32】跑马灯实验(报错未解决)

    采用推挽输出 若PE5 PD5输出低电平 两端形成电压差 LED点亮 若输出高电平 LED熄灭 导入工程模板文件 魔术棒新建文件夹 引用外设需要一个 h和 c文件 参考头文件和源文件的概念理解 头文件概念 five five的博客 CSDN
  • Unity程序基础框架__场景切换模块

    场景切换 泰课指路牌 https www taikr com course 1062 task 31006 show 在研发一款游戏的时候 会涉及到很多个场景的跳转 且在场景跳转的时候很多东西是通过读取配置表去动态生成的相应的玩家场景 下一
  • Yolo系列目标检测算法知识点总结

    下面是YoloV4论文中给出的目标检测算法的整体架构 主要包含以下几个部分 输入层用来处理输入数据 如数据增强 Backbone主干网络用来提取特征 Neck层用来做多尺度特征融合 提升特征的表达能力 如SPP FPN BiFPN PAN等
  • Spark Streaming之:三、DStream转换

    Spark Streaming之 三 DStream转换 文章目录 Spark Streaming之 三 DStream转换 1 DStream转换 2 DStream转换操作状态 gt Spark知识点总结导航 lt 1 DStream转

随机推荐