OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   03-Dec-2002 20:26:28
  Branch: HEAD                             Handle: 2002120319262800

  Added files:
    openpkg-src/mozilla     mozilla.pod
  Modified files:
    openpkg-src/mozilla     mozilla.sh mozilla.spec

  Log:
    add startup script; add .autogen dir hack

  Summary:
    Revision    Changes     Path
    1.1         +121 -0     openpkg-src/mozilla/mozilla.pod
    1.3         +173 -2     openpkg-src/mozilla/mozilla.sh
    1.35        +14 -6      openpkg-src/mozilla/mozilla.spec
  ____________________________________________________________________________

  Index: openpkg-src/mozilla/mozilla.pod
  ============================================================
  $ cvs update -p -r1.1 mozilla.pod
  ##
  ##  mozilla.pod -- Mozilla Browser Startup Control Utility (manpage)
  ##  Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
  ##  Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/>
  ##  Copyright (c) 2000-2002 Ralf S. Engelschall <[EMAIL PROTECTED]>
  ##
  ##  Permission to use, copy, modify, and distribute this software for
  ##  any purpose with or without fee is hereby granted, provided that
  ##  the above copyright notice and this permission notice appear in all
  ##  copies.
  ##
  ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  ##  SUCH DAMAGE.
  ##
  
  =pod
  
  =head1 NAME
  
  B<mozilla> -- Mozilla Browser Startup Control Utility
  
  =head1 SYNOPSIS
  
  B<mozilla>
  [B<-v>|B<--verbose>]
  [B<-w>|B<--window>]
  [B<-t>|B<--tab>]
  [B<-r>|B<-remote>|B<--remote> I<command>]
  [I<url> ...]
  
  =head1 DESCRIPTION
  
  The B<mozilla> command is small startup control utility for the
  B<Mozilla> browser (http://www.mozilla.org/). It makes sure that no more
  than one B<Mozilla> instance is running at the same time and allows
  you to conviniently load URLs from the command line into new browser
  windows, new browser tabs or into the currently open browser view.
  
  The following command line options are recognized:
  
  =over 4
  
  =item B<-v>, B<--verbose>
  
  Displays verbose messages on F<stderr> while performing the
  B<Mozilla> control actions.
  
  =item B<-w>, B<--window>
  
  Opens the URL(s) into new browser windows.
  
  =item B<-t>, B<--tab>
  
  Opens the URL(s) into new browser tabs.
  
  =item B<-r>, B<-remote>, B<--remote> I<command>
  
  This is for compatibility with the lower level C<mozilla>
  executable. It just passes through the options I<command>.
  
  =back
  
  The following URL(s) are recognized on the command line:
  
  =over 4
  
  =item C<http://>..., C<https://...>, C<ftp://>...
  
  Fully qualified URLs are passed through as-is.
  
  =item C<google:>I<wordlist>
  
  Expands into a Google (http://www.google.com/) query URL for the given
  I<wordlist>.
  
  =item C<leo:>I<wordlist>
  
  Expands into a Leo English/German Dictionary (http://dict.leo.org/)
  query URL for the given I<wordlist>.
  
  =item C<ftpsearch:>I<wordlist>
  
  Expands into an AllTheWeb FTPSearch (http://www.alltheweb.com/) query URL for the 
given
  I<wordlist>.
  
  =item C</>I<path>, I<path>
  
  Expands the absolute or relative Unix filesystem I<path> into a fully
  qualified C<file> scheme URL.
  
  =item C<auto:>...
  
  Trys to autodetect the query.
  
  =back 
  
  Additionally any URL argument can contain an at-sign ("C<@>"), which
  is replaced with the current contents of the X11 selection buffer.
  
  =head1 SEE ALSO
  
  http://www.mozilla.org/unix/remote.html
  
  =head1 HISTORY
  
  This utility was written in November 2002 by B<Ralf S. Engelschall>
  E<lt>[EMAIL PROTECTED]<gt> for use with the B<OpenPKG> I<mozilla>
  package.
  
  =cut
  
  Index: openpkg-src/mozilla/mozilla.sh
  ============================================================
  $ cvs diff -u -r1.2 -r1.3 mozilla.sh
  --- openpkg-src/mozilla/mozilla.sh    1 Dec 2002 19:14:35 -0000       1.2
  +++ openpkg-src/mozilla/mozilla.sh    3 Dec 2002 19:26:28 -0000       1.3
  @@ -1,3 +1,174 @@
   #!/bin/sh
  -cd @l_prefix@/lib/mozilla
  -exec ./mozilla ${1+"$@"}
  +##
  +##  mozilla -- Mozilla Browser Startup Control Utility
  +##  Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
  +##  Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2002 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   configuration
  +mozilla_dir="@l_prefix@/lib/mozilla"
  +mozilla_bin="@l_prefix@/lib/mozilla/mozilla"
  +xsel_bin="@l_prefix@/bin/xsel"
  +
  +#   option parsing
  +opt_v=no
  +opt_w=no
  +opt_t=no
  +opt_r=""
  +while [ ".$1" != . ]; do
  +    case $1 in
  +        -v|--verbose ) opt_v=yes; shift ;;
  +        -w|--window  ) opt_w=yes; shift ;;
  +        -t|--tab     ) opt_t=yes; shift ;;
  +        -r|-remote|--remote ) opt_r="$2"; shift; shift ;;
  +        -* ) echo "$0:ERROR: invalid option \"$1\"" 1>&2; exit 1 ;;
  +        * ) break ;;
  +    esac
  +done
  +if [ $# -eq 0 ]; then
  +    set -- ""
  +fi
  +
  +verbose () {
  +    if [ ".$opt_v" = .yes ]; then
  +        echo "mozilla: $*" 1>&2
  +    fi
  +}
  +
  +#   establish Mozilla environment
  +MOZILLA_FIVE_HOME="$mozilla_dir"
  +export MOZILLA_FIVE_HOME
  +
  +#   special case of direct remote option
  +if [ ".$opt_r" != . ]; then
  +    verbose "exec: $mozilla_bin -remote \"$opt_r\""
  +    exec $mozilla_bin -remote "$opt_r"
  +fi
  +
  +#   determine Mozilla run-time status
  +$mozilla_bin -remote "ping()" >/dev/null 2>&1
  +if [ $? -eq 0 ]; then
  +    verbose "process already running (available remotely)"
  +    restart=no
  +else
  +    verbose "process still not running (not available remotely)"
  +    restart=yes
  +fi
  +
  +#   open one or more URLs
  +first=yes
  +for url in "$@"; do
  +    #   determine URL to open
  +    if [ ".`echo .$url | grep '@'`" != . ]; then
  +        #   expand at-sign into X11 selection buffer
  +        xsel=`($xsel_bin --paste) 2>/dev/null`
  +        url=`echo "$url" | sed -e "s;@;$xsel;"`
  +    fi
  +    if [ ".$url" = . ]; then
  +        #   expand an empty URL into the internal blank page
  +        url="about:blank"
  +    else
  +        #   expand special URL constructs
  +        case "$url" in
  +            auto:* )
  +                url=`echo "$url" | sed -e 's;^auto:;;'`
  +                case "$url" in
  +                    http://* | https://* | ftp://* ) ;;
  +                    www.* ) url="http://$url"; ;;
  +                    ftp.* ) url="ftp://$url"; ;;
  +                    *.tar.gz | *.tgz ) url="ftpsearch:$url" ;;
  +                    *" "* ) url="google:$url" ;;
  +                    * ) url="leo:$url" ;;
  +                esac
  +                ;;
  +        esac
  +        case "$url" in
  +            http://* | https://* | ftp://* )
  +                : # URL is already fully qualified
  +                ;;
  +            google:* ) 
  +                #   expand Google query
  +                url=`echo "$url" | sed -e 's;^google:;;' | tr ' ' '+'`
  +                url="http://www.google.com/search?q=$url";
  +                ;;
  +            leo:* ) 
  +                #   expand Leo Dictionary query
  +                url=`echo "$url" | sed -e 's;^leo:;;' | tr ' ' '+'`
  +                url="http://dict.leo.org/?search=$url";
  +                ;;
  +            ftpsearch:* ) 
  +                #   expand FTPSearch query
  +                url=`echo "$url" | sed -e 's;^ftpsearch:;;' | sed -e 's; ;%20;g'`
  +                url="http://www.alltheweb.com/search?advanced=1&cat=ftp&q=$url";
  +                ;;
  +            /* ) 
  +                #   expand absolute filename into file URL
  +                url="file://$url"
  +                ;;
  +            * ) 
  +                #   expand relative filename into file URL
  +                url="file://`pwd`/$url"
  +                ;;
  +        esac
  +    fi
  +
  +    if [ ".$first" = .yes -a ".$restart" = .yes ]; then
  +        #   handling of first URL if restarting is necessary
  +        verbose "running new process"
  +        verbose "exec: $mozilla_bin \"$url\" >/dev/null 2>&1 &"
  +        $mozilla_bin "$url" >/dev/null 2>&1 &
  +    else
  +        #   delayed waiting for process to be finally remotely available
  +        #   if it was started from scratch for the handling of the first
  +        #   URL. This way we wait only if necessary, i.e., if more than
  +        #   one URL was given.
  +        if [ ".$first" = .no -a ".$restart" = .yes ]; then
  +            verbose "waiting for new process to be available remotely"
  +            sleep 4 # give it a little bit of time to fully startup
  +            i=0
  +            while [ $i -lt 10 ]; do
  +                $mozilla_bin -remote "ping()" >/dev/null 2>&1
  +                if [ $? -eq 0 ]; then
  +                    break
  +                fi
  +                sleep 1 # give it a little bit more time to startup
  +                i=`expr $i + 1`
  +            done
  +        fi
  +
  +        #   determine remote command
  +        if [ ".$opt_w" = .yes ]; then
  +            cmd="openURL($url, new-window)"
  +        elif [ ".$opt_t" = .yes ]; then
  +            cmd="openURL($url, new-tab)"
  +        else
  +            cmd="openURL($url)"
  +        fi
  +
  +        #   perform remote command
  +        verbose "sending remote command to running process"
  +        verbose "exec: $mozilla_bin -remote \"$cmd\" >/dev/null 2>&1"
  +        $mozilla_bin -remote "$cmd" >/dev/null 2>&1
  +    fi
  +    first=no
  +done
  +
  Index: openpkg-src/mozilla/mozilla.spec
  ============================================================
  $ cvs diff -u -r1.34 -r1.35 mozilla.spec
  --- openpkg-src/mozilla/mozilla.spec  1 Dec 2002 19:14:35 -0000       1.34
  +++ openpkg-src/mozilla/mozilla.spec  3 Dec 2002 19:26:28 -0000       1.35
  @@ -33,18 +33,19 @@
   Group:        Web
   License:      MPL
   Version:      1.2
  -Release:      20021201
  +Release:      20021203
   
   #   list of sources
   Source0:      
ftp://ftp.mozilla.org/pub/mozilla/releases/mozilla%{version}/src/mozilla-source-%{version}.tar.bz2
   Source1:      mozilla.sh
  +Source2:      mozilla.pod
   Patch0:       mozilla.patch
   
   #   build information
   Prefix:       %{l_prefix}
   BuildRoot:    %{l_buildroot}
  -BuildPreReq:  OpenPKG, openpkg >= 20020206, X11, glib, gtk, orbit, infozip, make, 
gcc
  -PreReq:       OpenPKG, openpkg >= 20020206, X11, glib, gtk, orbit, infozip
  +BuildPreReq:  OpenPKG, openpkg >= 20020206, X11, glib, gtk, orbit, infozip, make, 
gcc, perl
  +PreReq:       OpenPKG, openpkg >= 20020206, X11, glib, gtk, orbit, infozip, xsel
   AutoReq:      no
   AutoReqProv:  no
   
  @@ -87,7 +88,9 @@
           --enable-xinerama \
           --enable-chrome-format=jar \
           --enable-static \
  +        --enable-strip \
           --disable-shared \
  +        --disable-tests \
           --disable-mailnews \
           --disable-composer \
           --disable-svg \
  @@ -104,8 +107,6 @@
           --disable-optimize \
           --disable-xterm-updates \
           --with-pthreads
  -        #FIXME# --enable-strip
  -        #FIXME# --disable-tests
       %{l_make} %{l_mflags}
       ( cd dist/bin
         LD_LIBRARY_PATH=.; export LD_LIBRARY_PATH
  @@ -113,11 +114,16 @@
         ./regxpcom || true
         ./regchrome || true
         touch chrome/user-skins.rdf chrome/user-locales.rdf
  -      #FIXME# find . -type d -depth -print | xargs rmdir >/dev/null 2>&1 || true
  +      #find . -type d -depth -print | xargs rmdir >/dev/null 2>&1 || true
         %{l_shtool} subst \
             -e "s;`pwd`;%{l_prefix}/lib/mozilla;" \
             components/xpti.dat components/compreg.dat
  +      mkdir .autoreg
       )
  +    %{l_prefix}/bin/pod2man \
  +        --section=1 --quotes=none \
  +        --release="Mozilla %{version}" --center="%{packager}" \
  +        %{SOURCE mozilla.pod} >mozilla.1
   
   %install
       rm -rf $RPM_BUILD_ROOT
  @@ -128,6 +134,8 @@
            (cd $RPM_BUILD_ROOT%{l_prefix}/lib/mozilla && %{l_tar} -xf -)
       %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
           %{SOURCE mozilla.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/mozilla
  +    %{l_shtool} install -c -m 644 \
  +        %{SOURCE mozilla.1} $RPM_BUILD_ROOT%{l_prefix}/man/man1/
       %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
   
   %files -f files
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to