Compare commits

...
Sign in to create a new pull request.

9 commits

Author SHA1 Message Date
Jack Magne
e42455540a Remove uneeded dpes and no longer put in autostart. 2018-08-01 17:34:04 -07:00
Jack Magne
be1a9abe75 Resolves:
Bug 1538645 - esc MUST NOT require coolkey
2018-07-31 15:19:23 -07:00
Jack Magne
41eeed6700 Resolves: Bug 1538645 - esc MUST NOT require coolkey 2018-07-31 15:15:47 -07:00
Jack Magne
01bbf42f59 Resolves:
Bug 1538645 - esc MUST NOT require coolkey
2018-07-31 15:12:40 -07:00
Jack Magne
30492c7e24 Rebuild to sync with latest. 2018-06-07 17:36:42 -07:00
Jack Magne
7362a6f428 Remove i686 temporarily because the internal xulrunner build is failing with a compiler error. This should be ok, since esc will be done very soon without the need for the internal xulrunner. 2018-05-07 11:41:11 -07:00
Jack Magne
76cfb535dd Another attempt to get all platforms building xulrunner portion. 2018-05-01 14:24:06 -07:00
Jack Magne
0aeb4ae9d9 Attempt to solve xulrunner build problem on two arches. 2018-04-30 16:44:32 -07:00
Jack Magne
ef4ca39f56 Remove coolkey dependency and have esc work against opensc. 2018-04-26 18:14:29 -07:00
4 changed files with 59 additions and 289 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,153 +18,17 @@
# END COPYRIGHT BLOCK
DO_FORCEMODE="false"
DO_SHOW_VERSION="false"
ESC_ARGS=
ESC_PATH=/usr/lib64/esc-1.1.2
ESC_BIN=esc.js
ESC_EXEC=gjs
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
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 OPENSC_CONF=$ESC_PATH/opensc.esc.conf
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

195
esc.spec
View file

@ -1,90 +1,48 @@
Name: esc
Version: 1.1.1
Release: 3%{?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
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 coolkey-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: pcsc-lite-devel
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: yasm
BuildRequires: dbus-glib-devel
BuildRequires: libffi-devel
BuildRequires: sqlite-devel
Requires: sqlite
BuildRequires: glib2-devel
BuildRequires: opensc
BuildRequires: gobject-introspection-devel
BuildRequires: gtk3-devel
BuildRequires: gjs-devel
Requires: pcsc-lite coolkey 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: pcsc-lite nss nspr
Requires: dbus
Requires: opensc
Requires: gjs
Requires: gobject-introspection
Requires: gtk3
Requires: glib2
# 390 does not have coolkey or smartCards
# 390 does not have smartCards
ExcludeArch: s390 s390x
#xulrunner doesn't seem to support this one
ExcludeArch: aarch64
#xulrunner doesn't seem to support these right now
#Temporary anyway, since xulrunner is going away soon.
# 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}
@ -95,10 +53,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
@ -116,126 +70,77 @@ cryptographic smartcards.
#patch esc
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
%{escdir}/escd
%{escbindir}/esc
%{escdir}/application.ini
%{escdir}/lib
%{escdir}/esc.js
%{escdir}/opensc.esc.conf
%{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
* 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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View file

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