diff --git a/.gitignore b/.gitignore index b2e9761..bfd3723 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ esc-1.1.0.tar.bz2 /esc-1.1.1.tar.bz2 +/esc-1.1.2.tar.bz2 diff --git a/esc b/esc index 34b5c9a..293b861 100755 --- a/esc +++ b/esc @@ -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 diff --git a/esc.spec b/esc.spec index 3fea7ec..085a953 100644 --- a/esc.spec +++ b/esc.spec @@ -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 - 1.1.2-1 +- Remove uneeded Requires and no longer put in autostart directory. +* Mon Jul 30 2018 Jack Magne - 1.1.2-1 +- Build bare bones esc, without xulrunner, using gjs / gobject +- introspection. +* Thu Jun 07 2018 Jack Magne - 1.1.1-5 +- Rebuild. +* Mon Apr 23 2018 Jack Magne - 1.1.1-4 +- Remove coolkey dependencies, replace with opensc. * Wed Feb 07 2018 Fedora Release Engineering - 1.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index fe8f33b..f69e5bf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (esc-1.1.1.tar.bz2) = f8f34c74e6b513c83af5eb55c5c0402506d40fbe4dfaeffd900790fc06e5ae8d6edb07674a156c346621a3b891e2026592c3f4be3fa83e8399b68a40edcc82cd +SHA512 (esc-1.1.2.tar.bz2) = ffcc5bdb95b93862790a223bde2ac7d8f5cd9788ea05815a8c6f55f1e1e9b41ef0bc19c7d7c4e97ee313e5bb1696da486d4d2f2719ea11b9ac8491d25d85969f