一、环境

  • 封装软件:rpmbuild
  • 编译环境:java-1.8.0 maven

二、SPEC文件

%global __os_install_post %{nil}
%define XC_XONE_JAVA_NAME XONE-java
%define XC_XONE_JAVA_VERSION 100.100.1


Name: %{XC_XONE_JAVA_NAME}
Version:  %{XC_XONE_JAVA_VERSION}
Release:    1%{?dist}
Summary:  xunce-java

Group:  Applications
License:  BSD
URL:  http://blog.g6p.cn/
Source0:  .

BuildRequires:  java-1.8.0-openjdk java-1.8.0-openjdk-devel
Requires: java-1.8.0-openjdk fastdfs
%description
xunce xone-java

%prep

%build
source /etc/profile
mvn clean compile verify -P prod -DskipTests

%install
%{__mkdir_p} %{buildroot}/data/scada-task/script
cp -r target/scada-task-[0-9]*.[0-9]*.[0-9]*-SNAPSHOT-dist/scada-task %{buildroot}/data/
#cp -rf /tmp/scada-task/assembly/bin/docker-entrypoint.sh /data/scada-task/bin/
find %{buildroot}/data/scada-task/bin/ -name "*.sh" |dos2unix
sudo chmod a+x %{buildroot}/data/scada-task/bin/*.sh

cat > %{buildroot}/data/scada-task/bin/java_start.sh <<EOF
#!/bin/bash
/bin/sh /data/scada-task/bin/run.sh restart
EOF

%post


# echo -e "\033[32m 请到/data/XONE/script/下手动执行sql脚本!!! \033[0m"
# echo -e "\033[32m 请到/data/XONE/doc/查看更新文档!!! \033[0m"
echo -e "\033[32m [安装完成] 程序主目录为/data/scada-task/ \033[0m"

%files
%doc
/data/scada-task
%config(noreplace) /data/scada-task/config/*.yml



%changelog

三、参数解析

编译参数阶段及参数

阶段 读取的目录 写入的目录 具体动作
%prep %_sourcedir %_builddir 读取位于 %_sourcedir 目录的源代码和 patch 。之后,解压源代码至 %_builddir 的子目录并应用所有 patch。
%build %_builddir %_builddir 编译位于 %_builddir 构建目录下的文件。通过执行类似 “./configure && make” 的命令实现。
%install %_builddir %_buildrootdir 读取位于 %_builddir 构建目录下的文件并将其安装至 %_buildrootdir 目录。这些文件就是用户安装 RPM 后,最终得到的文件。
%pre 软体包安装之前事物操作
%post 软体包安装之后事物操作
%files 需要被打包/安装的文件列表

参考手册: https://fedoraproject.org/wiki/How_to_create_an_RPM_package/zh-cn#.25install_.E9.83.A8.E5.88.86

最后修改日期: 2020年5月27日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。