summaryrefslogtreecommitdiff
path: root/oracle-database-preinstall.spec
blob: 961170f02ce70100ca5f5ae9e771546acf7ddf9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
            #GIT_CMT=9b153c28ec252eb1abfbc51dbca903373ee20da7
%define pname oracle-database-preinstall
%define dbrel 19c
%define configdir /etc/sysconfig
%define logdir /var/log
%define version 1.0
%define release 1%{?dist}
%define name %{pname}-%{dbrel}
%global debug_package %{nil}

Summary: Oracle Database Preinstallation RPM
Name: %{name}
Version: %{version}
Release:    1.el9

License: GPLv2
Vendor: Oracle

Source0: oracle-database-preinstall-1.0.tar.bz2

Provides: %{name} = %{version}

Conflicts: exadata-base

Requires: procps module-init-tools ethtool initscripts bind-utils nfs-utils util-linux-ng pam 
Requires: xorg-x11-utils xorg-x11-xauth smartmontools 
Requires: binutils glibc glibc-devel 
Requires: ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel 
Requires: make sysstat openssh-clients 
Requires: psmisc net-tools unzip bc tar policycoreutils policycoreutils-python-utils

Requires: libnsl openssl-libs


%ifarch aarch64
Requires: gcc-c++
%endif

BuildRequires: bash
BuildRoot: %{_builddir}/%{pname}-%{version}-root

%description
The Oracle Database Preinstallation RPM automatically installs any additional
packages needed for installing Oracle Grid Infrastructure and Oracle Database
and configures your server operating system automatically, including setting 
kernel parameters and other basic operating system requirements for install.


%prep
%setup -q -n %{pname}-%{version}

%build

%install 
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/bin
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/security/limits.d
mkdir -p -m 755 $RPM_BUILD_ROOT/%{configdir}/%{name}
mkdir -p -m 700 $RPM_BUILD_ROOT/%{logdir}/%{name}/results
install -m 700 %{pname}-verify $RPM_BUILD_ROOT/%{configdir}/%{name}/%{name}-verify
install -m 700 %{pname}-verify $RPM_BUILD_ROOT/usr/bin/%{name}-verify 
install -m 600 %{pname}.param $RPM_BUILD_ROOT/%{configdir}/%{name}/%{name}.param
install -m 700 %{pname}-firstboot $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-firstboot
touch $RPM_BUILD_ROOT/etc/security/limits.d/%{name}.conf
ln -f -s %{configdir}/%{name}/%{name}-verify $RPM_BUILD_ROOT/usr/bin/%{name}-verify 
sed -i s/%{pname}/%{name}/g $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-firstboot
sed -i s/%{pname}/%{name}/g $RPM_BUILD_ROOT/%{configdir}/%{name}/%{name}.param

%clean 
rm -rf $RPM_BUILD_ROOT

%define prescript()  \
if [ -f %{configdir}/%{pname}-%1/%{pname}-%1.param ]; then  \
  cp -f %{configdir}/%{pname}-%1/%{pname}-%1.param %{logdir}/%{pname}-%1/results/.%{pname}-%1.param; \
fi; 

%define preunscript()  \
if [ "$1" = "0" ] ; then \
 chkconfig --del %{pname}-%1-firstboot; \
 if [ -x /usr/bin/%{pname}-%1-verify ]; then \
   /usr/bin/%{pname}-%1-verify -u 2> /dev/null 1>&2; \
 fi; \
fi;  

%define posttransscript()  \
/usr/bin/%{pname}-%1-verify 2>/dev/null 1>&2; \
if ! [ -f %{configdir}/%{pname}-%1/%{pname}-%1.conf ]; then \
        chkconfig --add %{pname}-%1-firstboot; \
fi;  

%define postunscript()  \
if [ "$1" = "0" ] ; then \
 if [ -d %{configdir}/%{pname}-%1 ]; then \
   rm -rf %{configdir}/%{pname}-%1; \
 fi; \
 if [ -d %{logdir}/%{pname}-%1 ]; then  \
   rm -rf %{logdir}/%{pname}-%1; \
 fi; \
fi;  

%pre 
%{expand:%%prescript %{dbrel}}

%preun
%{expand:%%preunscript %{dbrel}}

%posttrans
%{expand:%%posttransscript %{dbrel}}

%postun
%{expand:%%postunscript %{dbrel}}

%files
%defattr(-,root,root)
%license LICENSE
%config %{configdir}/%{name}/%{name}.param
%ghost /etc/security/limits.d/%{name}.conf
%{configdir}/%{name}
/etc/rc.d/init.d/%{name}-firstboot
%{configdir}/%{name}/%{name}-verify
%{logdir}/%{name}
/usr/bin/%{name}-verify

%changelog
* Wed Aug 16 2023  Vasundhara V <vasundhara.venkatasubramanian@oracle.com> [1.0-1.el9]
 - Initial version