Port over f28 fixes to remove coolkey and xulrunner deps. Also now depend upon the c++ compiler at build time.

This commit is contained in:
Jack Magne 2018-08-02 14:50:54 -07:00
parent d091595250
commit 3a7b112a5a
8 changed files with 49 additions and 8592 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
esc-1.1.0.tar.bz2
/esc-1.1.1.tar.bz2
/esc-1.1.2.tar.bz2

150
esc
View File

@ -18,155 +18,17 @@
# END COPYRIGHT BLOCK
DO_FORCEMODE="false"
DO_SHOW_VERSION="false"
ESC_ARGS=
ESC_PROFILE_BASE=~/.redhat/esc
ESC_LOG_FILE=esc.log
ESC_PATH=$LIBDIR/esc-1.1.1
ESC_BIN_PATH=/usr/bin
ESC_EXEC=esc
ESCD_EXEC=escd
ESC_BIN=$ESC_PATH/xulrunner/xulrunner-bin
ESCD_BIN=./$ESCD_EXEC
LAST_PROG_PID=0
SIGUSR1=10
FORCE_START_ESC=
XPTI_DAT=xpti.dat
COMPREG_DAT=compreg.dat
LOCK_FILE=lock
PARENT_LOCK_FILE=.parentlock
ESC_PATH=/usr/lib64/esc-1.1.2
ESC_BIN=esc.js
ESC_EXEC=gjs
export OPENSC_CONF=$ESC_PATH/opensc.esc.conf
function isProgRunning {
userID=$(whoami)
isProgRunning=$(pgrep -U $userID -f $1)
if [ $isProgRunning ];
then
LAST_PROG_PID=$isProgRunning
return 0
fi
LAST_PROG_PID=0
return 1
}
function removeFile {
rm -f $1
}
function cleanupProfile {
removeFile $ESC_PROFILE_BASE/*default/$XPTI_DAT
removeFile $ESC_PROFILE_BASE/*default/$COMPREG_DAT
removeFile $ESC_PROFILE_BASE/*default/$LOCK_FILE
removeFile $ESC_PROFILE_BASE/*default/$PARENT_LOCK_FILE
}
function processArgs {
for arg in $1
do
#echo "theArg: $arg"
if [ $arg == "forceStartESC" ]
then
#echo "Do force mode!"
FORCE_START_ESC="true"
fi
if [ $arg == "keyInserted" ]
then
FORCE_START_ESC="true"
fi
if [ $arg == "-version" ]
then
#echo "Do show version!"
DO_SHOW_VERSION="true"
fi
done
}
processArgs $*
if [ ! -d $ESC_PROFILE_BASE ]
then
mkdir -p $ESC_PROFILE_BASE
fi
export GI_TYPELIB_PATH=$ESC_PATH/lib/girepository-1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ESC_PATH/lib
cd $ESC_PATH
#First check if we just want the version
if [ $DO_SHOW_VERSION == "true" ]
then
#echo "try to run the version command!"
ESC_ARGS="-version"
./$ESC_EXEC $ESC_ARGS
exit 0
fi
# Start up the daemon if it is not running
isProgRunning $ESCD_BIN
if [ $LAST_PROG_PID -gt 0 ]
then
false
#echo "escd already running."
else
#echo "escd not running start."
cleanupProfile
./$ESCD_EXEC --key_Inserted=\"/usr/bin/esc\" --on_Signal=\"/usr/bin/esc\"
exit 0
fi
# Now check to see if we wer signaled from the daemon
if [ $FORCE_START_ESC ]
then
#echo "force start esc."
#Check to see if esc is already running
isProgRunning $ESC_BIN
if [ $LAST_PROG_PID -gt 0 ]
then
#echo "attempting a force start but already running ... exit."
exit 0
fi
#echo "force start esc not running start esc..."
./$ESC_EXEC
exit 0
fi
isProgRunning $ESC_BIN
if [ $LAST_PROG_PID -gt 0 ]
then
#echo "esc already running."
./$ESC_EXEC
exit 0
else
#echo "esc not already running start up and bring up window."
./$ESC_EXEC &
sleep 4
#echo "done sleeping bring up esc window."
./$ESC_EXEC
exit 0
fi
$ESC_EXEC ./$ESC_BIN &
exit 0

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
diff -up ./esc/src/xulrunner/xulrunner-mozconfig.fix2 ./esc/src/xulrunner/xulrunner-mozconfig
--- ./esc/src/xulrunner/xulrunner-mozconfig.fix2 2018-04-30 13:48:53.944086197 -0700
+++ ./esc/src/xulrunner/xulrunner-mozconfig 2018-04-30 13:49:22.804921349 -0700
@@ -37,6 +37,7 @@ ac_add_options --disable-skia
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --disable-crashreporter
+ac_add_options --disable-startupcache
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1

View File

@ -1,12 +0,0 @@
diff -up ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp.fix3 ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp
--- ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp.fix3 2018-06-07 18:38:45.365998075 -0700
+++ ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp 2018-06-07 18:40:52.597296294 -0700
@@ -10,7 +10,7 @@
#include "mozilla/ArrayUtils.h"
#include "mozilla/Attributes.h"
-
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

View File

@ -1,30 +0,0 @@
diff -up ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/config/system-headers.fix4 ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/config/system-headers
--- ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/config/system-headers.fix4 2018-06-08 16:19:38.502459087 -0700
+++ ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/config/system-headers 2018-06-08 16:20:33.330152105 -0700
@@ -1067,6 +1067,7 @@ sys/statvfs.h
sys/syscall.h
sys/sysctl.h
sys/sysinfo.h
+sys/sysmacros.h
sys/sysmp.h
sys/syssgi.h
sys/system_properties.h
diff -up ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp.fix4 ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp
--- ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp.fix4 2018-06-08 16:17:21.337227098 -0700
+++ ./esc/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/xpcom/io/nsLocalFileUnix.cpp 2018-06-08 16:18:16.820916423 -0700
@@ -10,7 +10,6 @@
#include "mozilla/ArrayUtils.h"
#include "mozilla/Attributes.h"
-#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -28,6 +27,7 @@
#define USE_LINUX_QUOTACTL
#include <sys/mount.h>
#include <sys/quota.h>
+#include <sys/sysmacros.h>
#ifndef BLOCK_SIZE
#define BLOCK_SIZE 1024 /* kernel block size */
#endif

198
esc.spec
View File

@ -1,99 +1,49 @@
Name: esc
Version: 1.1.1
Release: 5%{?dist}
Version: 1.1.2
Release: 2%{?dist}
Summary: Enterprise Security Client Smart Card Client
License: GPL+
URL: http://directory.fedora.redhat.com/wiki/CoolKey
Group: Applications/Internet
%global freetype_version 2.1.9
%global libnotify_version 0.7.0
%global libvpx_version 1.0.0
Patch1: esc-1.1.1-fix1.patch
Patch2: esc-1.1.1-fix2.patch
Patch3: esc-1.1.1-fix3.patch
Patch4: esc-1.1.1-fix4.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: doxygen fontconfig-devel
#BuildRequires: doxygen fontconfig-devel
BuildRequires: glib2-devel atk-devel
BuildRequires: pkgconfig
BuildRequires: nspr-devel nss-devel nss-static
BuildRequires: libX11-devel libXt-devel
#BuildRequires: libX11-devel libXt-devel
BuildRequires: pcsc-lite-devel
BuildRequires: desktop-file-utils zip binutils
BuildRequires: libnotify-devel >= %{libnotify_version}
BuildRequires: dbus-devel
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: zip
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
BuildRequires: libIDL-devel
BuildRequires: gtk2-devel
BuildRequires: krb5-devel
BuildRequires: pango-devel
BuildRequires: freetype-devel >= %{freetype_version}
BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: hunspell-devel
BuildRequires: startup-notification-devel
BuildRequires: alsa-lib-devel
BuildRequires: mesa-libGL-devel
BuildRequires: libcurl-devel
BuildRequires: libvpx-devel >= %{libvpx_version}
BuildRequires: autoconf213
BuildRequires: pulseaudio-libs-devel
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: yasm
BuildRequires: dbus-glib-devel
BuildRequires: libffi-devel
BuildRequires: sqlite-devel
BuildRequires: glib2-devel
BuildRequires: opensc
Requires: sqlite
BuildRequires: gobject-introspection-devel
BuildRequires: gtk3-devel
BuildRequires: gjs-devel
BuildRequires: gcc-c++
Requires: pcsc-lite nss nspr
Requires: zip dbus >= 0.90 libnotify >= 0.4.2
Requires: mozilla-filesystem
Requires: nspr-devel
Requires: nss-devel
Requires: libjpeg-devel
Requires: zip
Requires: bzip2-devel
Requires: zlib-devel
Requires: libIDL-devel
Requires: gtk2-devel
Requires: krb5-devel
Requires: pango-devel
Requires: freetype-devel >= %{freetype_version}
Requires: libXt-devel
Requires: libXrender-devel
Requires: hunspell-devel
Requires: sqlite-devel
Requires: startup-notification-devel
Requires: alsa-lib-devel
Requires: libnotify-devel
Requires: mesa-libGL-devel
Requires: libvpx-devel >= %{libvpx_version}
Requires: dbus
Requires: opensc
Requires: gjs
Requires: gobject-introspection
Requires: gtk3
Requires: glib2
# 390 does not have smartCards
ExcludeArch: s390 s390x
#xulrunner doesn't seem to support these right now
#Temporary anyway, since xulrunner is going away soon.
ExcludeArch: aarch64 i686
# We can't allow the internal xulrunner to leak out
AutoReqProv: 0
%define debug_build 0
#%define __prelink_undo_cmd %{nil}
%define escname %{name}-%{version}
%define escdir %{_libdir}/%{escname}
%define escbindir %{_bindir}
@ -104,10 +54,6 @@ AutoReqProv: 0
%define autostartdir %{_sysconfdir}/xdg/autostart
%define pixmapdir %{_datadir}/pixmaps
%define docdir %{_defaultdocdir}/%{escname}
%define escappdir src/app/xpcom
%define escxuldir src/app/xul/esc
%define escxulchromeicons %{escxuldir}/chrome/icons/default
%define escdaemon escd
Source0: http://pki.fedoraproject.org/pki/sources/%name/%{escname}.tar.bz2
Source1: http://pki.fedoraproject.org/pki/sources/%name/esc
@ -125,137 +71,75 @@ cryptographic smartcards.
#patch esc
%patch1 -p1 -b .fix1
%patch2 -p1 -b .fix2
%patch3 -p1 -b .fix3
%patch4 -p1 -b .fix4
r=$(uname -r | sed -e 's/\(^[^.]*\.[^.]*\).*/\1/')
[ -f esc/coreconf/Linux$r.mk ] || ln -s Linux3.5.mk esc/coreconf/Linux$r.mk
%build
echo $RPM_BUILD_DIR
%define geckoversion `rpm -qi xulrunner | grep Version | sed 's/[\t ]//g;/^$/d' | sed 's/Version://'`
GECKO_BASE_PATH=$RPM_BUILD_DIR/%{escname}/%{name}/src/xulrunner/xulrunner-45.9.0/firefox-45.9.0esr/objdir
GECKO_SDK_PATH=$GECKO_BASE_PATH/dist/xulrunner-sdk
GECKO_BIN_PATH=$GECKO_BASE_PATH/dist/xulrunner-sdk/sdk/bin
GECKO_INCLUDE_PATH=%{_includedir}/xulrunner-%{geckoversion}
GECKO_IDL_PATH=$GECKO_BASE_PATH/dist/xulrunner-sdk/idl
%ifarch x86_64 %{power64} ia64 aarch64
USE_64=1
export USE_64
%endif
export GECKO_SDK_PATH
export GECKO_BIN_PATH
export GECKO_INCLUDE_PATH
export GECKO_IDL_PATH
# last setup call moved the current directory
echo "build section" $PWD
cd esc
#cd ../..
cp %{SOURCE3} %{escxuldir}/%{esc_chromepath}
rm -f %{escxulchromeicons}/*.ico
cp %{escxulchromeicons}/esc-window.xpm %{escxulchromeicons}/default.xpm
#xulrunner based flags.
make HAVE_LIB_NOTIFY=1 ESC_VERSION=%{version}-%{release} USE_XUL_SDK=1
./autogen.sh
make
%install
cd esc/src/app/xpcom
echo "install section" $PWD
cd esc
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT/%{escbindir}
mkdir -p $RPM_BUILD_ROOT/%{icondir}
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{appdir}
mkdir -p $RPM_BUILD_ROOT/%{autostartdir}
mkdir -p $RPM_BUILD_ROOT/%{pixmapdir}
mkdir -p $RPM_BUILD_ROOT/%{docdir}
echo "dir: " $RPM_BUILD_ROOT/%{escbindir}/%{name}
sed -e 's;\$LIBDIR;'%{_libdir}';g' %{SOURCE1} > $RPM_BUILD_ROOT/%{escbindir}/%{name}
chmod 755 $RPM_BUILD_ROOT/%{escbindir}/esc
chmod 755 $RPM_BUILD_ROOT/%{escbindir}/%{name}
mkdir -p $RPM_BUILD_ROOT/%{escdir}
mkdir -p $RPM_BUILD_ROOT/%{escdir}/lib
%ifarch x86_64 %{power64} ia64 aarch64
USE_64=1
export USE_64
%endif
cp $RPM_BUILD_ROOT/usr/local/bin/* $RPM_BUILD_ROOT/%{escdir}
cp -rf $RPM_BUILD_ROOT/usr/local/lib $RPM_BUILD_ROOT/%{escdir}
rm $RPM_BUILD_ROOT/%{escdir}/lib/*.a
rm $RPM_BUILD_ROOT/%{escdir}/lib/*.la
make USE_XUL_SDK=1 install DESTDIR=$RPM_BUILD_ROOT/%{escdir}
rm -rf $RPM_BUILD_ROOT/usr/local
rm -rf $RPM_BUILD_ROOT/%{escdir}/usr
cd ../../../dist/*DBG*/esc_build/esc
cp %{esc_chromepath}/esc.png $RPM_BUILD_ROOT/%{icondir}
cp %{SOURCE3} $RPM_BUILD_ROOT/%{icondir}
ln -s $RPMBUILD_ROOT%{icondir}/esc.png $RPM_BUILD_ROOT/%{pixmapdir}/esc.png
cp %{SOURCE2} $RPM_BUILD_ROOT/%{_datadir}/%{appdir}
cp %{SOURCE2} $RPM_BUILD_ROOT/%{autostartdir}
cd %{_builddir}
cp %{escname}/esc/LICENSE $RPM_BUILD_ROOT/%{docdir}
rm -f $RPM_BUILD_ROOT/%{escdir}/esc
#rm -rf $RPM_BUILD_ROOT/%{escdir}/xulrunner
echo "xulrunner/xulrunner ./application.ini \$* &" > $RPM_BUILD_ROOT/%{escdir}/esc
chmod 755 $RPM_BUILD_ROOT/%{escdir}/esc
chmod 755 -R $RPM_BUILD_ROOT/%{escdir}/chrome
chmod 755 -R $RPM_BUILD_ROOT/%{escdir}/defaults
chmod 755 $RPM_BUILD_ROOT/%{escdir}/application.ini
%files
%{!?_licensedir:%global license %%doc}
%license %{docdir}/LICENSE
%{escdir}/esc
%attr(755, root, root) %{escdir}/esc
%{escdir}/escd
%{escbindir}/esc
%{escdir}/application.ini
%{escdir}/lib
%{escdir}/esc.js
%{escdir}/opensc.esc.conf
%dir %{escdir}/chrome
%dir %{escdir}/defaults
%{escdir}/chrome.manifest
%{escdir}/chrome/chrome.manifest
%{escdir}/chrome/content
%{escdir}/chrome/locale
%{escdir}/chrome/icons/default
%{escdir}/components
%{escdir}/defaults/preferences/esc-prefs.js
%{escdir}/xulrunner
%{icondir}/esc.png
%{pixmapdir}/esc.png
%{autostartdir}/esc.desktop
%{_datadir}/%{appdir}/esc.desktop
%preun
killall --exact -q escd
exit 0
%changelog
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Aug 01 2018 Jack Magne <jmagne@redhat.com> - 1.1.2-1
- Remove uneeded Requires and no longer put in autostart directory.
* Mon Jul 30 2018 Jack Magne <jmagne@redhat.com> - 1.1.2-1
- Build bare bones esc, without xulrunner, using gjs / gobject
- introspection.
* Thu Jun 07 2018 Jack Magne <jmagne@redhat.com> - 1.1.1-5
- Rebuild.
* Mon Apr 23 2018 Jack Magne <jmagne@redhat.com> - 1.1.1-4
- Remove coolkey dependencies, replace with opensc.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-3

View File

@ -1 +1 @@
SHA512 (esc-1.1.1.tar.bz2) = f8f34c74e6b513c83af5eb55c5c0402506d40fbe4dfaeffd900790fc06e5ae8d6edb07674a156c346621a3b891e2026592c3f4be3fa83e8399b68a40edcc82cd
SHA512 (esc-1.1.2.tar.bz2) = ffcc5bdb95b93862790a223bde2ac7d8f5cd9788ea05815a8c6f55f1e1e9b41ef0bc19c7d7c4e97ee313e5bb1696da486d4d2f2719ea11b9ac8491d25d85969f