fix which files belong to which rpm and their dependencies
This commit is contained in:
163
epics-base.spec
163
epics-base.spec
@ -28,6 +28,7 @@ Obsoletes: caRepeater = 1
|
|||||||
%if %{defined rhel}
|
%if %{defined rhel}
|
||||||
%global epics_host_arch RHEL%{rhel}-%{_host_cpu}
|
%global epics_host_arch RHEL%{rhel}-%{_host_cpu}
|
||||||
%endif
|
%endif
|
||||||
|
# else define epics_host_arch as suitable
|
||||||
|
|
||||||
%description
|
%description
|
||||||
EPICS is a set of Open Source software tools, libraries and applications
|
EPICS is a set of Open Source software tools, libraries and applications
|
||||||
@ -41,6 +42,8 @@ This RPM is a binary-only package.
|
|||||||
%package host-devel
|
%package host-devel
|
||||||
Requires: make >= 3.80
|
Requires: make >= 3.80
|
||||||
BuildRequires: make >= 3.80
|
BuildRequires: make >= 3.80
|
||||||
|
BuildRequires: gfa-cross-compiler-links
|
||||||
|
BuildRequires: wine
|
||||||
|
|
||||||
Summary: Minimal stuff needed to build EPICS host apps
|
Summary: Minimal stuff needed to build EPICS host apps
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
@ -100,7 +103,6 @@ Contains EPICS binaries that run on other RHEL versions.
|
|||||||
Summary: EPICS base %{EpicsVersion} for wine
|
Summary: EPICS base %{EpicsVersion} for wine
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: wine
|
Requires: wine
|
||||||
BuildRequires: wine
|
|
||||||
|
|
||||||
%description wine
|
%description wine
|
||||||
Allows to run EPICS in wine.
|
Allows to run EPICS in wine.
|
||||||
@ -123,7 +125,6 @@ This package can be relocated.
|
|||||||
Summary: EPICS base %{EpicsVersion} for development environments
|
Summary: EPICS base %{EpicsVersion} for development environments
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: %{name}-host-devel = %{version}-%{release}
|
Requires: %{name}-host-devel = %{version}-%{release}
|
||||||
Requires: %{name}-boot = %{version}-%{release}
|
|
||||||
Requires: gfa-cross-compiler-links
|
Requires: gfa-cross-compiler-links
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
AutoReqProv: no
|
AutoReqProv: no
|
||||||
@ -170,7 +171,7 @@ The documentation of EPICS base %{EpicsVersion}.
|
|||||||
|
|
||||||
# Our sources are locally in this directory
|
# Our sources are locally in this directory
|
||||||
# and here we also build
|
# and here we also build
|
||||||
# RPMS and SRPMS will be stored here, too
|
# RPMS will be stored here, too
|
||||||
%define _topdir %(pwd)
|
%define _topdir %(pwd)
|
||||||
%define _sourcedir %{_topdir}
|
%define _sourcedir %{_topdir}
|
||||||
%define _builddir %{_topdir}
|
%define _builddir %{_topdir}
|
||||||
@ -180,25 +181,33 @@ The documentation of EPICS base %{EpicsVersion}.
|
|||||||
%{__rm} -f modules/RELEASE.*.local
|
%{__rm} -f modules/RELEASE.*.local
|
||||||
git submodule update --init --recursive modules
|
git submodule update --init --recursive modules
|
||||||
%{__mkdir_p} RPMS
|
%{__mkdir_p} RPMS
|
||||||
%{__mkdir_p} SRPMS
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %{defined epics_host_arch}
|
%if %{defined epics_host_arch}
|
||||||
export EPICS_HOST_ARCH=%{epics_host_arch}
|
export EPICS_HOST_ARCH=%{epics_host_arch}
|
||||||
%endif
|
%endif
|
||||||
%{__make} INSTALL_LOCATION=%{buildroot}/%{prog_folder} FINAL_LOCATION=%{prog_folder}
|
%{__make} INSTALL_LOCATION=%{buildroot}%{prog_folder} FINAL_LOCATION=%{prog_folder}
|
||||||
%{__make} INSTALL_LOCATION=%{buildroot}/%{prog_folder} copysrc
|
%{__make} INSTALL_LOCATION=%{buildroot}%{prog_folder} copysrc
|
||||||
|
|
||||||
# remove files we do not need
|
# remove files we do not need
|
||||||
shopt -s extglob
|
shopt -s extglob
|
||||||
%{__rm} -f %{buildroot}/%{prog_folder}/bin/{V,RTEMS}*/{*Harness,softIoc,softIocPVA}
|
%{__rm} -f %{buildroot}%{prog_folder}/bin/{V,RTEMS}*/{*Harness,softIoc,softIocPVA}
|
||||||
%{__rm} -f %{buildroot}/%{prog_folder}/bin/RTEMS*/TEMP.*
|
%{__rm} -f %{buildroot}%{prog_folder}/bin/RTEMS*/TEMP.*
|
||||||
|
|
||||||
# fix permissions of caRepeater.service
|
# fix permissions of caRepeater.service
|
||||||
%{__chmod} 644 %{buildroot}/%{prog_folder}/bin/*/caRepeater.service
|
%{__chmod} 644 %{buildroot}%{prog_folder}/bin/*/caRepeater.service
|
||||||
|
|
||||||
# install the profile script
|
# install the profile script
|
||||||
%{__install} epics-base.sh %{buildroot}/%{prog_folder}/bin
|
%{__install} epics-base.sh %{buildroot}%{prog_folder}/bin
|
||||||
|
|
||||||
|
# copy over old libraries for compatibility
|
||||||
|
%if %{?rhel} > 7
|
||||||
|
%{__cp} /opt/RHEL7/lib64/libreadline.so.6 %{buildroot}%{prog_folder}/lib/RHEL7-x86_64
|
||||||
|
%endif
|
||||||
|
%if %{?rhel} > 8
|
||||||
|
%{__cp} /opt/RHEL7/lib64/libtinfo.so.5 %{buildroot}%{prog_folder}/lib/RHEL7-x86_64
|
||||||
|
%{__cp} /opt/RHEL8/lib64/libreadline.so.7 %{buildroot}%{prog_folder}/lib/RHEL8-x86_64
|
||||||
|
%endif
|
||||||
|
|
||||||
# Do not use install section because build already installed
|
# Do not use install section because build already installed
|
||||||
# and install will delete our buildroot!
|
# and install will delete our buildroot!
|
||||||
@ -235,6 +244,9 @@ then
|
|||||||
%{__rm} -f $SYSTEMD_DIR/caRepeater.service
|
%{__rm} -f $SYSTEMD_DIR/caRepeater.service
|
||||||
%{__ln_s} "$(/usr/bin/ls -dvr1 /usr/local/epics/base-+([0-9]).+([0-9]).+([0-9])/bin/%{epics_host_arch}/caRepeater.service 2>/dev/null | /usr/bin/head -n1)" $SYSTEMD_DIR/ 2>/dev/null
|
%{__ln_s} "$(/usr/bin/ls -dvr1 /usr/local/epics/base-+([0-9]).+([0-9]).+([0-9])/bin/%{epics_host_arch}/caRepeater.service 2>/dev/null | /usr/bin/head -n1)" $SYSTEMD_DIR/ 2>/dev/null
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
# Do not disable or restart caRepeater.service
|
||||||
|
# because EPICS clients cannot handle that.
|
||||||
|
# Next reboot will take care of this.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -251,36 +263,49 @@ fi
|
|||||||
%{prog_folder}/db
|
%{prog_folder}/db
|
||||||
|
|
||||||
%{prog_folder}/bin/epics-base.sh
|
%{prog_folder}/bin/epics-base.sh
|
||||||
|
%{prog_folder}/lib/perl/EpicsHostArch.pl
|
||||||
|
%{prog_folder}/lib/perl/CA.pm
|
||||||
|
%dir %{prog_folder}/lib/perl
|
||||||
|
%dir %{prog_folder}/lib/perl/*
|
||||||
|
%dir %{prog_folder}/lib/perl/*/*-linux-thread-multi
|
||||||
|
%{prog_folder}/lib/perl/*/*-linux-thread-multi/libCap5.so
|
||||||
|
|
||||||
# Install host binaries but avoid installing *.pl scripts
|
# Install host binaries but avoid installing *.pl scripts
|
||||||
# and other development tools
|
# and other development tools
|
||||||
|
|
||||||
%if %{defined rhel}
|
%dir %{prog_folder}/bin/%{epics_host_arch}*
|
||||||
%dir %{prog_folder}/bin/RHEL%{rhel}*
|
%{prog_folder}/bin/%{epics_host_arch}*/[Scips]*[^.]??
|
||||||
%{prog_folder}/bin/RHEL%{rhel}*/[Scips]*[^.]??
|
%{prog_folder}/bin/%{epics_host_arch}*/p2p
|
||||||
%{prog_folder}/bin/RHEL%{rhel}*/p2p
|
%{prog_folder}/bin/%{epics_host_arch}*/msi
|
||||||
%{prog_folder}/bin/RHEL%{rhel}*/msi
|
%dir %{prog_folder}/lib/%{epics_host_arch}*
|
||||||
%dir %{prog_folder}/lib/RHEL%{rhel}*
|
%{prog_folder}/lib/%{epics_host_arch}*/*.so*
|
||||||
%{prog_folder}/lib/RHEL%{rhel}*/*.so*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
|
|
||||||
%files compat
|
%files compat
|
||||||
%if %{?rhel} > 7
|
%if %{?rhel} > 7
|
||||||
%{prog_folder}/bin/RHEL7*
|
%dir %{prog_folder}/bin/RHEL7*
|
||||||
|
%{prog_folder}/bin/RHEL7*/[Scips]*[^.]??
|
||||||
|
%{prog_folder}/bin/RHEL7*/p2p
|
||||||
|
%{prog_folder}/bin/RHEL7*/msi
|
||||||
%dir %{prog_folder}/lib/RHEL7*
|
%dir %{prog_folder}/lib/RHEL7*
|
||||||
%{prog_folder}/lib/RHEL7*/*.so*
|
%{prog_folder}/lib/RHEL7*/*.so*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{?rhel} > 8
|
%if %{?rhel} > 8
|
||||||
%{prog_folder}/bin/RHEL8*
|
%dir %{prog_folder}/bin/RHEL8*
|
||||||
|
%{prog_folder}/bin/RHEL8*/[Scips]*[^.]??
|
||||||
|
%{prog_folder}/bin/RHEL8*/p2p
|
||||||
|
%{prog_folder}/bin/RHEL8*/msi
|
||||||
%dir %{prog_folder}/lib/RHEL8*
|
%dir %{prog_folder}/lib/RHEL8*
|
||||||
%{prog_folder}/lib/RHEL8*/*.so*
|
%{prog_folder}/lib/RHEL8*/*.so*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{?rhel} > 9
|
%if %{?rhel} > 9
|
||||||
%{prog_folder}/bin/RHEL9*
|
%dir %{prog_folder}/bin/RHEL9*
|
||||||
|
%{prog_folder}/bin/RHEL9*/[Scips]*[^.]??
|
||||||
|
%{prog_folder}/bin/RHEL9*/p2p
|
||||||
|
%{prog_folder}/bin/RHEL9*/msi
|
||||||
%dir %{prog_folder}/lib/RHEL9*
|
%dir %{prog_folder}/lib/RHEL9*
|
||||||
%{prog_folder}/lib/RHEL9*/*.so*
|
%{prog_folder}/lib/RHEL9*/*.so*
|
||||||
%endif
|
%endif
|
||||||
@ -294,6 +319,7 @@ fi
|
|||||||
|
|
||||||
%files boot
|
%files boot
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%dir %{prog_folder}
|
||||||
%dir %{prog_folder}/configure
|
%dir %{prog_folder}/configure
|
||||||
%{prog_folder}/configure/CONFIG_BASE_VERSION
|
%{prog_folder}/configure/CONFIG_BASE_VERSION
|
||||||
|
|
||||||
@ -313,6 +339,7 @@ fi
|
|||||||
%dir %{prog_folder}/bin/[a-z]*
|
%dir %{prog_folder}/bin/[a-z]*
|
||||||
%{prog_folder}/bin/[a-z]*/[Scips]*[^.]??
|
%{prog_folder}/bin/[a-z]*/[Scips]*[^.]??
|
||||||
%{prog_folder}/bin/[a-z]*/msi*
|
%{prog_folder}/bin/[a-z]*/msi*
|
||||||
|
%{prog_folder}/bin/[a-z]*/acctst*
|
||||||
%{prog_folder}/bin/[a-z]*/*.dll
|
%{prog_folder}/bin/[a-z]*/*.dll
|
||||||
|
|
||||||
# vxWorks and RTEMS
|
# vxWorks and RTEMS
|
||||||
@ -326,29 +353,95 @@ fi
|
|||||||
|
|
||||||
%files host-devel
|
%files host-devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{prog_folder}/configure
|
%dir %{prog_folder}/include
|
||||||
%{prog_folder}/cfg
|
%{prog_folder}/include/*.h
|
||||||
%{prog_folder}/include
|
%{prog_folder}/include/compiler
|
||||||
|
%dir %{prog_folder}/include/os
|
||||||
|
%{prog_folder}/include/os/Linux/
|
||||||
|
%{prog_folder}/include/os/WIN32/
|
||||||
|
%{prog_folder}/include/pv/
|
||||||
|
%{prog_folder}/include/pva/
|
||||||
|
%{prog_folder}/include/valgrind/
|
||||||
|
%{prog_folder}/include/flex.skel.static
|
||||||
%{prog_folder}/templates
|
%{prog_folder}/templates
|
||||||
%if %{defined rhel}
|
%dir %{prog_folder}/cfg
|
||||||
%{prog_folder}/bin/RHEL%{rhel}*/[^Scips]*[^.]??
|
%{prog_folder}/cfg/CONFIG*
|
||||||
%{prog_folder}/bin/RHEL%{rhel}*/*.??
|
%{prog_folder}/cfg/TOOLCHAIN.%{epics_host_arch}*.%{epics_host_arch}*
|
||||||
%endif
|
%{prog_folder}/cfg/TOOLCHAIN.%{epics_host_arch}*.win*
|
||||||
%{prog_folder}/lib/pkgconfig
|
%dir %{prog_folder}/configure
|
||||||
%{prog_folder}/lib/perl
|
%{prog_folder}/configure/RELEASE
|
||||||
%{prog_folder}/lib/win*
|
%{prog_folder}/configure/CONFIG*
|
||||||
%{prog_folder}/lib/RTEMS*
|
%{prog_folder}/configure/RULES*
|
||||||
|
%dir %{prog_folder}/configure/os
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Common.UnixCommon
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Common.linuxCommon
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Common.linux-clang
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Common.linux-%{_host_cpu}*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Common.%{epics_host_arch}*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.UnixCommon.Common
|
||||||
|
%{prog_folder}/configure/os/CONFIG.%{epics_host_arch}*.Common
|
||||||
|
%{prog_folder}/configure/os/CONFIG.%{epics_host_arch}*.%{epics_host_arch}*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.Common
|
||||||
|
%{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.linux-%{__isa_name}*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.win*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.Linux.win*
|
||||||
|
%{prog_folder}/configure/os/CONFIG.win*.win*
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.Common.linuxCommon
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.Common.linux-%{__isa_name}*
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.%{epics_host_arch}*.Common
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.Common
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.UnixCommon
|
||||||
|
%{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.linux-%{__isa_name}*
|
||||||
|
%{prog_folder}/bin/%{epics_host_arch}*/[^Scips]*[^.]??
|
||||||
|
%{prog_folder}/bin/%{epics_host_arch}*/*.??
|
||||||
|
%dir %{prog_folder}/lib/pkgconfig
|
||||||
|
%{prog_folder}/lib/pkgconfig/epics-base.pc
|
||||||
|
%{prog_folder}/lib/pkgconfig/epics-base-%{epics_host_arch}*.pc
|
||||||
|
%{prog_folder}/lib/perl/EPICS
|
||||||
|
%{prog_folder}/lib/perl/DBD*
|
||||||
%{prog_folder}/dbd
|
%{prog_folder}/dbd
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%{prog_folder}/include/os/vxWorks/
|
||||||
%{prog_folder}/bin/[a-z]*/[^Scips]*[^.]??
|
%{prog_folder}/include/os/RTEMS/
|
||||||
|
%exclude %{prog_folder}/cfg/TOOLCHAIN.%{epics_host_arch}*.%{epics_host_arch}*
|
||||||
|
%exclude %{prog_folder}/cfg/TOOLCHAIN.%{epics_host_arch}*.win*
|
||||||
|
%{prog_folder}/cfg/TOOLCHAIN.*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Common.%{epics_host_arch}*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Common.UnixCommon
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Common.linuxCommon
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Common.linux-clang
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Common.linux-%{_host_cpu}*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.UnixCommon.Common
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.%{epics_host_arch}*.Common
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.%{epics_host_arch}*.%{epics_host_arch}*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.Common
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.linux-%{__isa_name}*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.linux-%{__isa_name}*.win*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.Linux.win*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG.win*.win*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.Common.linuxCommon
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.Common.linux-%{__isa_name}*
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.%{epics_host_arch}*.Common
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.Common
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.UnixCommon
|
||||||
|
%exclude %{prog_folder}/configure/os/CONFIG_SITE.linux-%{__isa_name}*.linux-%{__isa_name}*
|
||||||
|
%{prog_folder}/configure/os/
|
||||||
|
%exclude %{prog_folder}/lib/pkgconfig/epics-base.pc
|
||||||
|
%exclude %{prog_folder}/lib/pkgconfig/epics-base-%{epics_host_arch}*.pc
|
||||||
|
%{prog_folder}/lib/pkgconfig/
|
||||||
|
%exclude %{prog_folder}/bin/%{epics_host_arch}*/[^Scips]*[^.]??
|
||||||
|
%exclude %{prog_folder}/bin/%{epics_host_arch}*/*.??
|
||||||
|
%exclude %{prog_folder}/bin/*/[^Scips]*[^.]??
|
||||||
|
%exclude %{prog_folder}/bin/*/*.??
|
||||||
|
|
||||||
# VxWorks and RTEMS need static libs
|
# VxWorks and RTEMS need static libs
|
||||||
%{prog_folder}/lib/V*
|
%{prog_folder}/lib/V*
|
||||||
|
%{prog_folder}/lib/RTEMS*
|
||||||
|
%{prog_folder}/lib/win*
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
|
|
||||||
@ -356,7 +449,9 @@ fi
|
|||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
|
||||||
# Install bulky static libs for Linux targets only on request
|
# Install bulky static libs for Linux targets only on request
|
||||||
|
%dir %{prog_folder}/lib/RHEL*
|
||||||
%{prog_folder}/lib/RHEL*/*.a
|
%{prog_folder}/lib/RHEL*/*.a
|
||||||
|
%dir %{prog_folder}/lib/[a-z]*
|
||||||
%{prog_folder}/lib/[a-z]*/*.a
|
%{prog_folder}/lib/[a-z]*/*.a
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
|
Reference in New Issue
Block a user