Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the -destdir option of installCDE #16

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 76 additions & 9 deletions cde.spec
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,30 @@
%define _archflag -m32
%endif

# Set a macro to use for distribution variances
%if 0%{?fedora}
%define _distribution fedora
%endif

%if 0%{?rhel}
%define _distribution rhel
%endif

%if 0%{?epel}
%define _distribution epel
%endif

%if "%{?distsuffix:%{distsuffix}}%{!?distsuffix:0}" == "pclos"
%define _distribution pclos
%endif

Name: cde
Version: 2.3.0
Release: 2%{?dist}
Version: 2.3.2
%if "%{_distribution}" == "pclos"
Release: %mkrel 3
%else
Release: 3%{?dist}
%endif
Summary: Common Desktop Environment

Group: User Interface/Desktops
Expand Down Expand Up @@ -37,11 +58,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)

Requires: xinetd
Requires: ksh
%if "%{_distribution}" == "fedora" || "%{_distribution}" == "rhel" || "%{_distribution}" == "epel"
Requires: xorg-x11-xinit
Requires: xorg-x11-utils
Requires: xorg-x11-server-utils
Requires: ncompress
Requires: rpcbind
Requires: xorg-x11-server-Xorg
Requires: xorg-x11-fonts-ISO8859-1-100dpi
Requires: xorg-x11-fonts-ISO8859-2-100dpi
Expand All @@ -50,7 +70,20 @@ Requires: xorg-x11-fonts-ISO8859-14-100dpi
Requires: xorg-x11-fonts-ISO8859-15-100dpi
Requires: xorg-x11-fonts-100dpi
Requires: xorg-x11-fonts-misc
%endif
%if "%{_distribution}" == "pclos"
Requires: xinit
Requires: xset
Requires: bdftopcf
Requires: x11-server-xorg
Requires: x11-font-misc
# for dtterm terminfo definition
Requires: ncurses-extraterms
%endif
Requires: ncompress
Requires: rpcbind

%if "%{_distribution}" == "fedora" || "%{_distribution}" == "rhel" || "%{_distribution}" == "epel"
BuildRequires: xorg-x11-proto-devel
%if 0%{?rhel} >= 7
%{?systemd_requires}
Expand All @@ -61,13 +94,20 @@ BuildRequires: systemd
BuildRequires: openmotif-devel
%endif
BuildRequires: patchelf
%endif
%if "%{_distribution}" == "pclos"
BuildRequires: x11-proto-devel
BuildRequires: lib64openmotif4
BuildRequires: lib64openmotif4-devel
%endif
BuildRequires: file
BuildRequires: ksh
BuildRequires: m4
BuildRequires: ncompress
BuildRequires: bison
BuildRequires: byacc
BuildRequires: gcc-c++
%if "%{_distribution}" == "fedora" || "%{_distribution}" == "rhel" || "%{_distribution}" == "epel"
BuildRequires: libXp-devel
BuildRequires: libXt-devel
BuildRequires: libXmu-devel
Expand All @@ -83,8 +123,27 @@ BuildRequires: openssl-devel
BuildRequires: tcl-devel
BuildRequires: xorg-x11-xbitmaps
BuildRequires: libXdmcp-devel
BuildRequires: ncurses
BuildRequires: libtirpc-devel
%endif
%if "%{_distribution}" == "pclos"
BuildRequires: lib64xp-devel
BuildRequires: lib64xt-devel
BuildRequires: lib64xmu-devel
BuildRequires: lib64xft-devel
BuildRequires: lib64xinerama-devel
BuildRequires: lib64xpm-devel
BuildRequires: lib64xaw-devel
BuildRequires: lib64x11-devel
BuildRequires: lib64xscrnsaver-devel
BuildRequires: lib64jpeg-devel
BuildRequires: lib64freetype6-devel
BuildRequires: lib64openssl-devel
BuildRequires: lib64tcl-devel
BuildRequires: x11-data-bitmaps
BuildRequires: lib64xdmcp-devel
BuildRequires: lib64tirpc-devel
%endif
BuildRequires: ncurses

# /usr/bin/rpcgen exists in glibc-common in older releases, otherwise we
# have to explicitly pull in the rpcgen package
Expand All @@ -98,7 +157,6 @@ CDE is the Common Desktop Environment from The Open Group.
%prep
%setup -q
%patch0 -p1
%patch1 -p2

sed -i -e '1i #define FILE_MAP_OPTIMIZE' programs/dtfile/Utils.c

Expand All @@ -114,16 +172,17 @@ export LANG=C
export LC_ALL=C
export IMAKECPP=cpp
%{__make} World BOOTSTRAPCFLAGS="%{optflags} %{_archflag}"
sed -i -e 's:mkProd -D :&%{buildroot}:' admin/IntegTools/dbTools/installCDE
#sed -i -e 's:mkProd -D :&%{buildroot}:' admin/IntegTools/dbTools/installCDE

%install
srcdir="$(pwd)"
pushd admin/IntegTools/dbTools
export LANG=C
export LC_ALL=C
./installCDE -s "$srcdir" -pseudo -pI "%{buildroot}%{_prefix}/dt" -pV "%{buildroot}%{_localstatedir}/dt" -pC "%{buildroot}%{_sysconfdir}/dt"
./installCDE -s "$srcdir" -pseudo -destdir "%{buildroot}" -pI "%{buildroot}%{_prefix}/dt" -pV "%{buildroot}%{_localstatedir}/dt" -pC "%{buildroot}%{_sysconfdir}/dt"
popd

%if "%{_distribution}" == "fedora" || "%{_distributon}" == "rhel" || "%{_distribution}" == "epel"
# Remove the rpath setting from ELF objects.
# XXX: This is a heavy hammer which should really be fixed by not using -rpath
# in the build in the first place. Baby steps.
Expand All @@ -134,6 +193,7 @@ find %{buildroot}%{_prefix}/dt -type f | while read infile ; do
[ -z "$rpath" ] || patchelf --remove-rpath $infile
fi
done
%endif

# Specific permissions required on some things
chmod 2555 %{buildroot}%{_prefix}/dt/bin/dtmail
Expand All @@ -148,7 +208,11 @@ install -D -m 0600 %SOURCE5 %{buildroot}%{_sysconfdir}/xinetd.d/dtspc
install -D -m 0644 %SOURCE6 %{buildroot}%{_datadir}/xsessions/cde.desktop
install -D -m 0644 %SOURCE7 %{buildroot}%{_sysconfdir}/dt/config/xfonts/C/fonts.alias
install -D -m 0644 %SOURCE8 %{buildroot}%{_sysconfdir}/dt/config/xfonts/C/fonts.dir

# Documentation
mkdirhier %{buildroot}%{_prefix}/share/doc/%{name}-%{version}
install -D -m 0644 CONTRIBUTORS COPYING README copyright HISTORY %{buildroot}%{_prefix}/share/doc/%{name}-%{version}

%if "%{_distribution}" == "fedora" || "%{_distribution}" == "rhel" || "%{_distribution}" == "epel"
# Install systemd unit file on applicable systems
%if 0%{?rhel} >= 7
install -D -m 0644 %SOURCE9 %{buildroot}%{_unitdir}/dtlogin.service
Expand All @@ -160,6 +224,7 @@ pushd programs/dtterm
tic dtterm.terminfo
install -D -m 0644 dtterm %{buildroot}%{_datadir}/terminfo/d/dtterm
popd
%endif

%clean
rm -rf %{buildroot}
Expand Down Expand Up @@ -237,7 +302,9 @@ rm -rf $TMPDIR
%config %{_sysconfdir}/dt/config/xfonts/C/fonts.alias
%config %{_sysconfdir}/dt/config/xfonts/C/fonts.dir
%{_datadir}/xsessions
%if "%{_distribution}" == "fedora" || "%{_distribution}" == "rhel" || "%{_distribution}" == "epel"
%{_datadir}/terminfo
%endif
%if 0%{?rhel} >= 7
%{_unitdir}/dtlogin.service
%endif
Expand Down