openssl 1.1.1L /1.1.1o/1.1.1t rpm包制作——筑梦之路_libcrypto 1.1.1t-程序员宅基地

技术标签: linux系统运维  openssl  redhat  rpm  

https://www.openssl.org/source/openssl-1.1.1l.tar.gzhttps://www.openssl.org/source/openssl-1.1.1l.tar.gz

CentOS社区源码:Overview - rpms/openssl - CentOS Git serverhttps://git.centos.org/rpms/openssl.git Fedora社区源码:

Overview - rpms/openssl - src.fedoraproject.orghttps://src.fedoraproject.org/rpms/openssl.git

openssl.spec文件内容
Summary: OpenSSL 1.1.1l for CentOS
Name: openssl
Version: %{?version}%{!?version:1.1.1l}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: GPLv2+

Source: https://www.openssl.org/source/%{name}-%{version}.tar.gz

BuildRequires: make gcc perl perl-WWW-Curl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/openssl

%description
https://github.com/philyuchkoff/openssl-RPM-Builder
OpenSSL RPM for version 1.1.1l on CentOS

%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description devel
OpenSSL RPM for version 1.1.1l on CentOS (development package)

%prep
%setup -q

%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make

%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install

mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}

%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%files
%{openssldir}
%defattr(-,root,root)

%files devel
%{openssldir}/include/*
%defattr(-,root,root)

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

制作过程参考我的另一篇制作openssh rpm包的文章centos 7 制作openssh8.7/8.8 p1 rpm包升级——筑梦之路_筑梦之路-程序员宅基地草稿https://blog.csdn.net/qq_34777982/article/details/120048044

#卸载旧版openssl,  切记不要删除openssl-libs
rpm -qa | grep openssl
rpm -e --justdb --nodeps <yourpackage>

#安装新版
rpm -ivh openssl-1.1.1l-1.el7.x86_64.rpm --nodeps

#验证
openssl version
rpm -qa | grep openssl

已经编译好的rpm包:openssl-1.1.1l-1.el7.x86_64.rpm-互联网文档类资源-CSDN下载opensslrpm包,适用于centos7redhat7系统,主要是修复系统高危漏洞进行升更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_34777982/37367882

CentOS 8 制作openssl rpm包

源码:

wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz

编写spec文件:

Summary: OpenSSL 1.1.1o for CentOS
Name: openssl
Version: %{?version}%{!?version:1.1.1o}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: GPLv2+
 
Source: https://www.openssl.org/source/%{name}-%{version}.tar.gz
 
BuildRequires: make gcc perl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/openssl
 
%description
https://github.com/philyuchkoff/openssl-RPM-Builder
OpenSSL RPM for version 1.1.1o on CentOS
 
%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
 
%description devel
OpenSSL RPM for version 1.1.1o on CentOS (development package)
 
%prep
%setup -q
 
%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make
 
%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install
 
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}
 
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
 
%files
%{openssldir}
%defattr(-,root,root)
 
%files devel
%{openssldir}/include/*
%defattr(-,root,root)
 
%post -p /sbin/ldconfig
 
%postun -p /sbin/ldconfig

制作过程大同小异,这里就不再赘述
报错:
错误:空 %file 文件 /root/rpmbuild/BUILD/openssl-1.1.1o/debugsourcefiles.list

echo "%debug_package %{nil}" >> /usr/lib/rpm/macros

RPM 构建错误:
    发现已安装(但未打包的)文件:
   /usr/bin/openssl
   /usr/lib64/libcrypto.so.1.1
   /usr/lib64/libssl.so.1.1

此问题解决方案:

将未打包的文件进行打包,写入%files部分,将在下面贴出spec文件添加的部分:
%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libssl.so.1.1



参考官方的spec:
https://github.com/OpenMandrivaAssociation/openssl/blob/openssl-1.1/openssl.spec

openssl-1.1.1o_el7-x86_64_rpm.zip-Linux文档类资源-CSDN下载

#openssl  1.1.1s 版本
Name: openssl		
Version: 1.1.1s	
Release: 1%{?dist}
Summary: Utilities from the general purpose cryptography library with TLS implementation	

Group: System Environment/Libraries
License: OpenSSL
URL: http://www.openssl.org/
Source0: openssl-%{version}.tar.gz

BuildRequires: make, gcc, coreutils, krb5-devel, perl, sed, zlib-devel, perl-WWW-Curl
Requires: coreutils, make
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/openssl

%description
The OpenSSL toolkit provides support for secure communications between
machines. OpenSSL includes a certificate management tool and shared
libraries which provide various cryptographic algorithms and
protocols.

%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description devel
OpenSSL RPM for version 1.1.1s on Centos (development package)


%prep
%setup -q


%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make


%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install

mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}


%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libssl.so.1.1

%files devel
%{openssldir}/include/*
%defattr(-,root,root)

%post -p /sbin/ldconfig
 
%postun -p /sbin/ldconfig

openssl-1.1.1t-1.el7.x86-64.rpm-Linux文档类资源-CSDN下载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34777982/article/details/121167465

智能推荐

Android -- Button简单的数字增加,重置_android studio中页面增加重置按钮代码,重置页面全部数据数据-程序员宅基地

文章浏览阅读4.9k次。简单的button 点击增加,点击归零重置功能。_android studio中页面增加重置按钮代码,重置页面全部数据数据

VS2019 VS2017 指定的任务可执行文件“cmd.exe”未能运行。函数不正确。解决方案_msb6003 cmd.exe未能运行,函数不正确-程序员宅基地

文章浏览阅读5.8k次。VS2019 VS2017 指定的任务可执行文件“cmd.exe”未能运行。函数不正确。解决方案在VS2017和VS2019出现错误提示:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(132,5): error MSB6003: 指定的任务可执行文件“cmd.exe”未能运行。函数不正确。并且尝试重装了VS多次后,可以尝试用下列方法解决:方法1:关闭当前VS工程,临时以管理员身份_msb6003 cmd.exe未能运行,函数不正确

win10家庭版计算机属性里没有远程桌面,Win10家庭版本系统无法远程桌面连接的完美解决方法...-程序员宅基地

文章浏览阅读3.5k次。我们知道,Windows10家庭版本的系统下是无法远程桌面连接的,而在专业版就没有这个限制,在连接的时候会报错,出现身份验证错误 要求的函数不受支持,CredSSP 加密 Oracle 修正,如果去重新安装系统十分麻烦。那么我们该如何解决Windows家庭版无法远程桌面连接的问题呢?下面装机之家分享一下Win10家庭版本系统无法远程桌面连接的完美解决方法。完美解决方法1、首先我们在键盘上同时按下“..._win10家庭版没有远程桌面连接

关于启动/配置hadoop时出现的问题_mkdir: call from hadoop1/192.168.121.160 to hadoop-程序员宅基地

文章浏览阅读1.3k次。1.在启动 hadoop 时提示 “Could not resolve hostname”首先应该立即停止启动(ctrl+c),之后打开~./bashrc,在这里面添加如下代码:export HADOOP_HOME=/usr/local/hadoopexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native一定注意,第一行/u..._mkdir: call from hadoop1/192.168.121.160 to hadoop2:9000 failed on connectio

安信可A9G模块连接机智云APP教程_安可信不能绑定设备-程序员宅基地

文章浏览阅读1.5k次。文章目录一、准备1.1 硬件准备二、开发过程2.1 注册机智云APP2.2 硬件连接2.3 连接机智云2.4 注册模块到机智云产品2.5 手机App查询状态以及控制设备一、准备1.1 硬件准备一个A9 或者 A9G模块(建议买A9G开发板,方便开发)流量卡或者电话卡,如果不用短信或者电话功能,建议购买物联网卡,不需要实名更方便USB转串口模块,杜邦线,天线供电:可以用USB转串口工..._安可信不能绑定设备

目标检测系列5——Faster R-CNN2(代码实现)_from detection.datasets-程序员宅基地

文章浏览阅读672次。参考黑马程序员教程(1) train.py# trainimport osimport tensorflow as tffrom tensorflow import kerasimport numpy as npimport matplotlib.pyplot as pltfrom detection.datasets import coco, data_generatorfrom detection.models.detectors import faster_rcnnimport_from detection.datasets

随便推点

Kappa系数计算_kappa系数怎么算-程序员宅基地

文章浏览阅读1.3w次,点赞9次,收藏44次。内容整理自百度百科kappa系数是一种衡量分类精度的指标。公式:k=po−pe1−pek=\frac{p_o-p_e}{1-p_e}k=1−pe​po​−pe​​其中,pop_opo​是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度 。C是类别总数,TiT_iTi​​是每个类别被正确分类的样本数.假设每一类的真实样本个数分别为a1,a2,…,aC,而预测出来的每一类的样本个数分别为b1,b2,…,bC总样本个数为n,po=∑i=1CTinp_o=\frac{\sum_{i=1_kappa系数怎么算

非常全面的Pandas入门教程_pandas基础教程-程序员宅基地

文章浏览阅读5.7w次,点赞145次,收藏991次。pandas是基于NumPy的一种数据分析工具,在机器学习任务中,我们首先需要对数据进行清洗和编辑等工作,pandas库大大简化了我们的工作量,熟练并掌握pandas常规用法是正确构建机器学习模型的第一步。目录如何安装pandas如何导入pandas库和查询相应的版本信息pandas数据类型series教程dataframe教程小结1. 如何安装Pandas最常用的方法是通过..._pandas基础教程

三分钟用HCaaS打造一台拥有公网IP的服务器-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏4次。背景前段时间热火朝天的LinkCloud白嫖300元的体验金,因为是公测阶段,目前自己创建的虚拟机无法获取公网IP,针对小白就没办法获取80端口拿来正常建站,所以下面就来教大家获取阿里云公网IP,当做一台正常的VPS使用。准备PC一台Xshell软件一个LinkCloud-HCaaS帐号一个,若你没有点击下方链接注册并申请邀请码https://cubepaas.com/?spread=4fab48c896ee4879bb5c0416bf09e7f2fugq4wt3c4域名一个(_hcaas

java 判断对象类型是否为数字类型_java-如何检查值是否为整数类型?-程序员宅基地

文章浏览阅读4.6k次。java-如何检查值是否为整数类型?我需要检查值是否为整数。 我发现了这一点:如何检查输入值是整数还是浮点数?但是,如果我没有记错的话,即使该值本身确实是integer,该变量的类型仍然为double。Voldemort asked 2020-02-20T06:14:50Z13个解决方案80 votes如果输入值可以是整数以外的其他数字形式,请按if (x == (int)x){// Number..._java使用注解判段integer类型为数字

Elastic:加速生成式人工智能体验-程序员宅基地

文章浏览阅读1.5k次,点赞26次,收藏8次。搜索驱动的人工智能和开发人员工具专为速度和规模而打造。在大型语言模型(LLM)和生成式 AI 的每日突破中,开发者站在了这场运动的最前沿,影响着它的方向和可能性。在这篇博客中,我将分享 Elastic 的搜索客户是如何利用 Elastic 的向量数据库和开放平台,为搜索驱动的 AI 和开发者工具加速和扩展生成式 AI 体验,为他们提供了新的增长途径。Dimensional Research 进行的最近一次开发者调查并得到 Elastic 支持的结果显示,。

C++之迭代器(Iterator)篇_c++ 怎么让迭代器不等于begin-程序员宅基地

文章浏览阅读3.9w次,点赞172次,收藏1k次。迭代器(Iterator)的介绍 背景:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间费连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。 定义:迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。 迭代器(Iterator)是指针(pointer)的泛化,它允许程序员用相同的方式处理不同的数据结构(容器)。 (1)迭代器类似于C语言里面的指针类_c++ 怎么让迭代器不等于begin

推荐文章

热门文章

相关标签