diff options
Diffstat (limited to 'abs')
| -rw-r--r-- | abs/core-testing/LinHES-timezone/PKGBUILD | 4 | ||||
| -rw-r--r-- | abs/core-testing/LinHES-timezone/linhes_timezone.c | 364 | ||||
| -rw-r--r-- | abs/core-testing/mythtv/stable/mythtv/PKGBUILD | 2 | ||||
| -rw-r--r-- | abs/extra-testing/community/jre/PKGBUILD | 73 | ||||
| -rw-r--r-- | abs/extra-testing/community/jre/construct.sh | 282 | ||||
| -rw-r--r-- | abs/extra-testing/community/jre/jre.install | 7 | 
6 files changed, 334 insertions, 398 deletions
| diff --git a/abs/core-testing/LinHES-timezone/PKGBUILD b/abs/core-testing/LinHES-timezone/PKGBUILD index ffad3a9..0b0d2ad 100644 --- a/abs/core-testing/LinHES-timezone/PKGBUILD +++ b/abs/core-testing/LinHES-timezone/PKGBUILD @@ -2,7 +2,7 @@  # Maintainer: Greg Frost <gregfrost1@bigpond.com>  pkgname=LinHES-timezone  pkgver=1 -pkgrel=5 +pkgrel=6  pkgdesc="GUI timezone selector used by LinHES-config."  arch=i686  depends=() @@ -27,4 +27,4 @@ md5sums=('53976e51e938c555f84b43c933339051'           '0d9e51af5f650dd329edce4531c42a58'           'c01e2335603d8395004e32bae9060fde'           'b20bd68272644f607fbfe7d50e7be42a' -         'b35602b7330c32a472223b22d95a1d6c') +         '448ffca8f38b2dcd989e599ff2057399') diff --git a/abs/core-testing/LinHES-timezone/linhes_timezone.c b/abs/core-testing/LinHES-timezone/linhes_timezone.c index 024560f..ff75549 100644 --- a/abs/core-testing/LinHES-timezone/linhes_timezone.c +++ b/abs/core-testing/LinHES-timezone/linhes_timezone.c @@ -2,6 +2,8 @@  #include <math.h>  #include <stdlib.h>  #include <stdio.h> +#define _GNU_SOURCE +#include <string.h>  #include <strings.h>  #include <X11/Xlib.h>  #include <X11/Intrinsic.h> @@ -49,6 +51,41 @@ double lat_rotate[2] = {1, 0};  double acceleration = 0.01;  char input_keys[200]; +int guessing_timezone = FALSE; + +void select_place (int place) +{ +  target_lon = atan2 (zone_data[selected_zone].place_info[place].v.y, +               zone_data[selected_zone].place_info[place].v.x); +  target_lat = acos (zone_data[selected_zone].place_info[place].v.z /2); + +  selected_place = place; +} + +void default_zone (char *arg_zone) +{ +  int found_zone = FALSE; + +  for (int zone = 0; zone < NUM_ZONES; zone++) +  { +    for (int place = 0; place < zone_data[zone].num_places; place++) +    { +      if (strstr (zone_data[zone].place_info[place].zonename,  +                  arg_zone[0] ? arg_zone : "Los_Angeles")) +      { +        selected_zone = zone; +        select_place (place); +        found_zone = TRUE; +      } +    } +  } + +  if (!found_zone) +  { +    default_zone (""); +  } +} +  int translate_point (vect_type *v, XPoint *p)  {    vect_type v2; @@ -259,53 +296,53 @@ void redraw_map ()    for (int zone = 0; zone < NUM_ZONES - 1; zone++)      draw_zone (pixmap, zone, 0, 0); -  draw_zone (pixmap, selected_zone, 1, 1); -  XSetForeground (display, gc, selected_border.pixel); -  draw_zone (pixmap, selected_zone, 0, 1);   - -  for (int place = 0; place < zone_data[selected_zone].num_places; place++) +  if (guessing_timezone)    { -    XPoint point; +    char *s = "Guessing Timezone"; +    int text_width = XTextWidth (font, s, strlen (s)); +    draw_string (width/2 - text_width/2, height/2, s, name_colour.pixel); +  } +  else +  { +    draw_zone (pixmap, selected_zone, 1, 1); +    XSetForeground (display, gc, selected_border.pixel); +    draw_zone (pixmap, selected_zone, 0, 1);   -    translate_point (&zone_data[selected_zone].place_info[place].v, &point); +    for (int place = 0; place < zone_data[selected_zone].num_places; place++) +    { +      XPoint point; + +      translate_point (&zone_data[selected_zone].place_info[place].v, &point); -    draw_point (point, NULL); +      draw_point (point, NULL); -    if (place == selected_place) -    { -      char *underscore; -      selected_point = point; -      strcpy (selected_name, strchr (zone_data[selected_zone].place_info[place].zonename, '/') + 1); -      while (underscore = strchr (selected_name, '_')) -        underscore[0] = ' '; +      if ((place == selected_place) && (!guessing_timezone)) +      { +        char *underscore; +        selected_point = point; +        strcpy (selected_name, strchr (zone_data[selected_zone].place_info[place].zonename, '/') + 1); +        while (underscore = strchr (selected_name, '_')) +          underscore[0] = ' '; +      }      } -  } -  draw_point (selected_point, selected_name); +    draw_point (selected_point, selected_name); -  { -    char zone_offset[100]; -    sprintf (zone_offset, "UTC%s", zone_data[selected_zone].offset); -    draw_string ( -      ((width * 0.95 - XTextWidth (font, zone_offset, strlen (zone_offset))) + -       ((width / 2) + radius / sqrt (2))) / 2,  -      ((lrint (height * 0.05) + font->ascent) + -       (height / 2 - radius / sqrt (2))) / 2,  -      zone_offset, name_colour.pixel); +    { +      char zone_offset[100]; +      sprintf (zone_offset, "UTC%s", zone_data[selected_zone].offset); +      draw_string ( +        ((width * 0.95 - XTextWidth (font, zone_offset, strlen (zone_offset))) + +         ((width / 2) + radius / sqrt (2))) / 2,  +        ((lrint (height * 0.05) + font->ascent) + +         (height / 2 - radius / sqrt (2))) / 2,  +        zone_offset, name_colour.pixel); +    }    }    XCopyArea (display, pixmap, window, gc, 0, 0, width, height, 0, 0);  } -void select_place (int place) -{ -  target_lon = atan2 (zone_data[selected_zone].place_info[place].v.y, -               zone_data[selected_zone].place_info[place].v.x); -  target_lat = acos (zone_data[selected_zone].place_info[place].v.z /2); - -  selected_place = place; -} -  int nearest_z (double near_z)  {    double min_delta =  @@ -417,31 +454,37 @@ void next_view ()    double lat_error = target_lat - displayed_lat;    double lon_error = target_lon - displayed_lon; -  lat_error = atan2 (sin (lat_error), cos( lat_error)); -  lon_error = atan2 (sin (lon_error), cos (lon_error)); - -  error_total = sqrt (lat_error * lat_error + lon_error * lon_error); -       -  if (error_total < acceleration) +  if (guessing_timezone)    { -    displayed_lat = target_lat; -    displayed_lon = target_lon; +    displayed_lon += 1 / 180.0 * M_PI;    }    else    { -    if (error_total > (step_size + acceleration) *  -                      (step_size + acceleration) / acceleration / 2) -      step_size += acceleration; +    lat_error = atan2 (sin (lat_error), cos( lat_error)); +    lon_error = atan2 (sin (lon_error), cos (lon_error)); + +    error_total = sqrt (lat_error * lat_error + lon_error * lon_error); +       +    if (error_total < acceleration) +    { +      displayed_lat = target_lat; +      displayed_lon = target_lon; +    }      else -      step_size -= acceleration; +    { +      if (error_total > (step_size + acceleration) *  +                        (step_size + acceleration) / acceleration / 2) +        step_size += acceleration; +      else +        step_size -= acceleration; -    if (step_size < acceleration) -      step_size = acceleration; +      if (step_size < acceleration) +        step_size = acceleration; -    displayed_lat += step_size * (lat_error / error_total); -    displayed_lon += step_size * (lon_error / error_total); +      displayed_lat += step_size * (lat_error / error_total); +      displayed_lon += step_size * (lon_error / error_total); +    }    } -  }  void *lirc_thread (void *unused) @@ -493,6 +536,176 @@ void *lirc_thread (void *unused)    }  } +void get_value (FILE *input, char*output, int out_len) +{ +  const char *value_pattern = "value=\""; +  char *value; + +  output[0] = 0; +  fgets (output, out_len, input); + +  if (value = strcasestr (output, value_pattern)) +  { +    memmove (output, value + strlen (value_pattern),  +	     strlen (value + strlen (value_pattern)) + 1); +  } + +  if (value = strchr (output, '"')) +    value[0] = 0; +} + +void *timezone_guess (void *unused) +{ +  const double invalid = 99999; +  FILE *guess_data; +  char line_in[1000]; +  double guess_latitude = invalid; +  double guess_longitude = invalid; +  char guess_zone[1000] = {0}; +  char *timezone_info_command;  + +  if (getenv ("FAKE_GEOBYTES")) +  { +    timezone_info_command =  +      "sleep 2 ; " +      "echo Latitude ; " +      "echo \" <td value=\\\"-34.993\\\"\" ;" +      "echo Longitude ; " +      "echo \" <td value=\\\"138.6\\\"\" ;" +      "echo TimeZone ; " +      "echo \" <td value=\\\"+09:30\\\"\""; +  } +  else +  { +    timezone_info_command =  +      "wget http://www.geobytes.com/IpLocator.htm -O - 2> /dev/null |" +      "grep \"^ <td \" |" +      "grep -i -E -A1 \"Latitude|Longitude|TimeZone\" | grep -v \"^--$\""; +  } + +  guess_data = popen (timezone_info_command, "r"); + +  if (!guess_data) +  { +    fprintf (stderr, "error parsing web page for timezone guess\n"); +    guessing_timezone = FALSE; +    return NULL; +  } + +  while (fgets (line_in, sizeof (line_in), guess_data)) +  { +    // Look for the entries in the guess data and then the next line  +    // will hold the value. + +    if (strcasestr (line_in, "latitude")) +    { +      get_value (guess_data, line_in, sizeof (line_in)); +      sscanf (line_in, "%lf", &guess_latitude); +    } +    else if (strcasestr (line_in, "longitude")) +    { +      get_value (guess_data, line_in, sizeof (line_in)); +      sscanf (line_in, "%lf", &guess_longitude); +    } +    else if (strcasestr (line_in, "timezone")) +    { +      get_value (guess_data, line_in, sizeof (line_in)); +  +      // The geobytes timezone data is of the form "+09:30" whereas the +      // map timezone data is of the form "+6" or "+9.5". Convert +      // to the map timezone data format so we can find the timezone. + +      if (strcmp (&line_in[3], ":30") == 0) +        sprintf (&line_in[3], ".5"); +      else +	line_in[3] = 0; + +      if (line_in[1] == '0') +        memmove (&line_in[1], &line_in[2], strlen (&line_in[2]) + 1); + +      strncpy (guess_zone, line_in, sizeof (guess_zone));  +    } +  } + +  pclose (guess_data); + +  if ((guess_latitude != invalid) &&  +      (guess_longitude != invalid) && +      guess_zone[0] != 0)  +  { +    int zone; + +    fprintf (stderr, "guessed lat lon %f %f %s\n",  +	     guess_latitude, guess_longitude, guess_zone); + +    // Look for the guessed zone in the zone_data structure. +    for (zone = 0; zone < NUM_ZONES; zone++) +    { +      if (strcmp (guess_zone, zone_data[zone].offset) == 0) +	break; +    } + +    if (zone == NUM_ZONES) +    { +      fprintf (stderr, "couldnt find zone %s\n", guess_zone); +      default_zone (""); +    } +    else +    { +      double x,y,z; +      double min_dist_squared; +      int closest_place; + +      // Look for the location in the zone nearest to the guess lat/lon. + +      // Convert the guessed lat/lon to x,y,z. + +      guess_latitude *= M_PI / 180.0; +      guess_longitude *= M_PI / 180.0; + +      x = cos (guess_longitude) * cos (guess_latitude); +      y = sin (guess_longitude) * cos (guess_latitude); +      z = sin (guess_latitude); + +      min_dist_squared =  +        pow (x - zone_data[zone].place_info[0].v.x, 2) +  +        pow (y - zone_data[zone].place_info[0].v.y, 2) +  +        pow (z - zone_data[zone].place_info[0].v.z, 2); +      closest_place = 0; + +      for (int place = 1; place < zone_data[zone].num_places; place++) +      { +        double dist_squared; + +	dist_squared =  +          pow (x - zone_data[zone].place_info[place].v.x, 2) +  +          pow (y - zone_data[zone].place_info[place].v.y, 2) +  +          pow (z - zone_data[zone].place_info[place].v.z, 2); + +        if (dist_squared < min_dist_squared) +        { +          closest_place = place; +	  min_dist_squared = dist_squared; +        } +      } + +      fprintf (stderr, "Guess=%s %s\n",  +	zone_data[zone].place_info[closest_place].zonename, +	zone_data[zone].offset); + +      selected_zone = zone; +      select_place (closest_place); +    } +  } +  else +  { +    default_zone (""); +  } +   +  guessing_timezone = FALSE; +  return NULL; +} +  void remove_titlebar_and_borders ()  {    XClassHint* classHint; @@ -547,7 +760,7 @@ int main (int argc, char *argv[])    int arg_width = -1;    int arg_height = -1;    char arg_zone[100] = {0}; -   +    if (getenv ("ACCEL"))      acceleration = atof (getenv ("ACCEL")); @@ -557,6 +770,13 @@ int main (int argc, char *argv[])      {        case 'z':          strncpy (arg_zone, optarg, sizeof (arg_zone) - 1); + +	if (strcasecmp (arg_zone, "guess") == 0) +	{ +	  guessing_timezone = TRUE; +	  arg_zone[0]=0; +	} +          break;        case 'w': @@ -574,14 +794,16 @@ int main (int argc, char *argv[])        case '?':          printf ("usage: %s [-a accelleration] [-z timezone] "                  "[-w width] [-h height]\n" -                "e.g. linhes_timezone -w 1920 -h 1090 -z Australia/Adelaide\n", +                "e.g. linhes_timezone -w 1920 -h 1090 -z Australia/Adelaide\n" +		"specify a timezone of 'guess' to determine the initial " +		"timezone from\n" +		"your ip address using geocache.\n",            argv[0]);          exit (0);          break;      }    } -    pthread_create (&tid, NULL, lirc_thread, NULL);    /* Connect to the X server. */ @@ -636,7 +858,6 @@ int main (int argc, char *argv[])    remove_titlebar_and_borders (); -    if (!window)     {      fprintf (stderr, "cannot open window\n");             @@ -726,21 +947,21 @@ int main (int argc, char *argv[])    if (XAllocColor (display, cmap, &location_dot) == 0)      printf ("Cant allocate color\n"); -  // Find LA and make that the selected zone and place. -   -  for (int zone = 0; zone < NUM_ZONES; zone++) +  // Find the selected timezone (or LA if a timezone was not selected) and  +  // make that the selected zone and place. + +  default_zone (arg_zone); + +  if (guessing_timezone)    { -    for (int place = 0; place < zone_data[zone].num_places; place++) -    { -      if (strstr (zone_data[zone].place_info[place].zonename,  -                  arg_zone[0] ? arg_zone : "Los_Angeles")) -      { -        selected_zone = zone; -        select_place (place); -        displayed_lat = target_lat; -        displayed_lon = target_lon; -      } -    } +    pthread_create (&tid, NULL, timezone_guess, NULL); +    displayed_lat = M_PI/2; +    displayed_lon = 0; +  } +  else +  { +    displayed_lat = target_lat; +    displayed_lon = target_lon;    }    /* ask for exposure event and keyboard events */ @@ -753,7 +974,8 @@ int main (int argc, char *argv[])    while (1)    { -    if ((displayed_lat != target_lat) || (displayed_lon != target_lon)) +    if ((displayed_lat != target_lat) || (displayed_lon != target_lon) ||  +        guessing_timezone)      {        next_view ();        redraw_map (); diff --git a/abs/core-testing/mythtv/stable/mythtv/PKGBUILD b/abs/core-testing/mythtv/stable/mythtv/PKGBUILD index ebefddb..9b4d4d9 100644 --- a/abs/core-testing/mythtv/stable/mythtv/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythtv/PKGBUILD @@ -1,6 +1,6 @@  pkgname=mythtv  pkgver=0.21 -pkgrel=71 +pkgrel=72  pkgdesc="A Homebrew PVR project"  arch=('i686' 'x86_64')  depends=('bash' 'mysql-clients>=5.0' 'qt3' 'lame' 'lirc-utils' 'ffmpeg' \ diff --git a/abs/extra-testing/community/jre/PKGBUILD b/abs/extra-testing/community/jre/PKGBUILD index ca22f01..cd9a932 100644 --- a/abs/extra-testing/community/jre/PKGBUILD +++ b/abs/extra-testing/community/jre/PKGBUILD @@ -1,55 +1,58 @@ -# Based on official Arch package by Jason Chu <jason@archlinux.org> +# $Id: PKGBUILD,v 1.6 2009/06/01 19:10:05 wonder Exp $ +# Maintainer: Jason Chu <jason@archlinux.org> +  pkgname=jre -pkgver=6u12 +pkgver=6u14  pkgrel=1  pkgdesc="Sun's java runtime environment" -arch=(i686 x86_64) -[ "$CARCH" = "i686" ] && _arch=i586 -[ "$CARCH" = "x86_64" ] && _arch=amd64 +arch=('i686' 'x86_64') +  [ "$CARCH" = "i686" ]   && _arch=i586 +  [ "$CARCH" = "x86_64" ] && _arch=amd64  url="http://java.sun.com" -depends=('glibc' 'libstdc++5') +depends=('glibc' 'libxtst')  install="jre.install"  source=(http://download.java.net/dlj/binaries/jdk-$pkgver-dlj-linux-$_arch.bin -https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh -jre.profile) -[ "$CARCH" = "i686" ] && md5sums=('560a51cfeecc4918d01ca29abc858d52' -'94065b612df0046d9ae758943f9f6a75' -'50b4f5ac4129097461d246645d73a622') -[ "$CARCH" = "x86_64" ] && md5sums=('9dce878be77b4a93337fa85b40b29069' -'94065b612df0046d9ae758943f9f6a75' -'50b4f5ac4129097461d246645d73a622') +        https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh +        jre.profile) +[ "$CARCH" = "i686" ]   && md5sums=('299c445e4b14bfbb2a05323734d89c0c' +			            '94065b612df0046d9ae758943f9f6a75' +		  	            '50b4f5ac4129097461d246645d73a622') +[ "$CARCH" = "x86_64" ] && md5sums=('6e866db04748296fc34ed83a92420403' +         			    '94065b612df0046d9ae758943f9f6a75' + 		  	            '50b4f5ac4129097461d246645d73a622') + +  replaces=('j2re')  conflicts=('j2re' 'java-runtime') -provides=('j2re' 'java-runtime') +provides=('j2re' 'java-runtime=6')  license=('custom')  build() { -	cd $startdir/src +  cd $startdir/src + +  mkdir unbundle-jdk +  cd unbundle-jdk -	mkdir unbundle-jdk -	cd unbundle-jdk +  sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license -	sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license +  cd .. -	cd .. +  sh construct.sh unbundle-jdk linux-jdk linux-jre -	sh construct.sh unbundle-jdk linux-jdk linux-jre +  mkdir -p $startdir/pkg/opt/java +  mv linux-jdk/jre $startdir/pkg/opt/java -	mkdir -p $startdir/pkg/opt/java -	mv linux-jdk/jre $startdir/pkg/opt/java +  install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh -	install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh +  mkdir -p $startdir/pkg/usr/lib/mozilla/plugins -	if [ "$CARCH" = "i686" ]; then -		mkdir -p $startdir/pkg/usr/lib/mozilla/plugins -		ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so $startdir/pkg/usr/lib/mozilla/plugins -	elif [ "$CARCH" = "x86_64" ]; then -		mkdir -p $startdir/pkg/usr/lib/mozilla/plugins -		ln -s /opt/java/jre/lib/amd64/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins -	fi +  if [ "$CARCH" = "i686" ]; then +    ln -s /opt/java/jre/lib/i386/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins +    else ln -s /opt/java/jre/lib/amd64/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins +  fi -	mkdir -p $startdir/pkg/usr/share/licenses/jre -	cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre -	cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre -	cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre +  mkdir -p $startdir/pkg/usr/share/licenses/jre +  cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre +  cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre +  cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre  } diff --git a/abs/extra-testing/community/jre/construct.sh b/abs/extra-testing/community/jre/construct.sh deleted file mode 100644 index 5f6ff7f..0000000 --- a/abs/extra-testing/community/jre/construct.sh +++ /dev/null @@ -1,282 +0,0 @@ -#!/bin/bash -# construct.sh -# example construction of JRE and JDK directories from the DLJ bundles -#  -# Copyright © 2006 Sun Microsystems, Inc. -#  -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -#  -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -#  -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#  -# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot, -# and JVM  trademarks or registered trademarks of Sun Microsystems, -# Inc. in the U.S. and other countries. - - -program=`basename $0` - -usage () { -  echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre" -} - -getargs() { -  undir=$1 -  jdkdir=$2 -  jredir=$3 -  if [ ! -d $undir ]; then -    echo "${program}: unbundle directory not found: $undir" -    exit 2 -  fi -  # make sure javahome is the JDK -  javahome=`echo $undir/*/demo` -  if [ ! -d $javahome ]; then -    echo "${program}: unbundle directory incorrect: $undir" -    echo "  expecting $undir/jdk1.5.0_xx" -    exit 2 -  else -    javahome=`dirname $javahome` -  fi -  # verify JDK dir -  jdkdirp=`dirname $jdkdir` -  jdkbase=`basename $jdkdir` -  if [ ! -d $jdkdirp ]; then -    echo "${program}: parent directory for JDK does not exist: $jdkdirp" -    exit 2 -  fi -  savedir=`pwd` -  cd $jdkdirp -  jdkdirp=`pwd` -  cd $savedir -  jdkdir=$jdkdirp/$jdkbase -  # verify JRE dir -  jredirp=`dirname $jredir` -  jrebase=`basename $jredir` -  if [ ! -d $jredirp ]; then -    echo "${program}: parent directory for JRE does not exist: $jredirp" -    exit 2 -  fi -  savedir=`pwd` -  cd $jredirp -  jredirp=`pwd` -  cd $savedir -  jredir=$jredirp/$jrebase -} - -checkfiles() { -  if [ -r $jdkdir ]; then -    echo "${program}: directory for JDK already exists: $jdkdir" -    exit 2 -  fi -  if [ -r $jredir ]; then -    echo "${program}: directory for JRE already exists: $jredir" -    exit 2 -  fi -} - -copytree() { -  echo "copying over the JDK tree..." -  cp -a $javahome $jdkdir -} - -linkrel() { -  target=$1 -  link=$2 -  # make a softlink from the $link to the $target -  # make this a relative link -  targetb=(`echo $target | tr '/' ' '`) -  linkb=(`echo $link | tr '/' ' '`) -  (( n = ${#targetb[*]} )) -  (( m = ${#linkb[*]} )) -  c=$n  # common length -  if [ $m -lt $c ]; then -    (( c = m )) -  fi -  for (( i = 0 ; i < c ; i++ )); do  -    if [ ${targetb[$i]} != ${linkb[$i]} ]; then -      # echo components differ, stopping -      break -    fi -  done -  rel="" -  for (( j = i + 1; j < m ; j++ )); do -    if [ -z $rel ]; then -      rel=".." -    else -      rel="$rel/.." -    fi -  done -  for (( j = i; j < n ; j++ )); do -    if [ -z $rel ]; then -      rel=${targetb[$j]} -    else -      rel="$rel/${targetb[$j]}" -    fi -  done -  ln -s $rel $link -} - -createjre() { -  echo "creating JRE directory..." -  # absolute link -  # ln -s $jdkdir/jre $jredir -  # relative link -  linkrel $jdkdir/jre $jredir -} - -unpackjars() { -  echo "unpacking jars..." -  unpack200=$jdkdir/bin/unpack200 -  if [ ! -x $unpack200 ]; then -    echo "${program}: file missing $unpack200" -    exit 1 -  fi -  cd $jdkdir -  PACKED_JARS=`find . -name '*.pack'` -  for i in $PACKED_JARS; do -    # echo $i -    jdir=`dirname $i` -    jbase=`basename $i .pack` -    if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then -      echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar" -    fi -    if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then -      echo "${program}: missing $jdkdir/$jdir/$jbase.jar" -    else -      echo "  $jdir/$jbase.jar" -      # remove pack file -      rm $jdkdir/$jdir/$jbase.pack -    fi -  done -} - -preparecds() { -  # if this is a client installation... -  compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`" -  if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then -    # create the CDS archive -    echo "creating the class data sharing archive..." -    if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then -       echo "returned error code $?" -    fi -  fi -} - -jreman () { -  echo "setting up the JRE man pages..." -  # note this list is slightly different for OpenSolaris bundles -  jreman=/tmp/jre.man.txt -cat <<EOF > $jreman -man/ja_JP.eucJP/man1/java.1 -man/ja_JP.eucJP/man1/javaws.1 -man/ja_JP.eucJP/man1/keytool.1 -man/ja_JP.eucJP/man1/kinit.1 -man/ja_JP.eucJP/man1/klist.1 -man/ja_JP.eucJP/man1/ktab.1 -man/ja_JP.eucJP/man1/orbd.1 -man/ja_JP.eucJP/man1/pack200.1 -man/ja_JP.eucJP/man1/policytool.1 -man/ja_JP.eucJP/man1/rmid.1 -man/ja_JP.eucJP/man1/rmiregistry.1 -man/ja_JP.eucJP/man1/servertool.1 -man/ja_JP.eucJP/man1/tnameserv.1 -man/ja_JP.eucJP/man1/unpack200.1 -man/man1/java.1 -man/man1/javaws.1 -man/man1/keytool.1 -man/man1/kinit.1 -man/man1/klist.1 -man/man1/ktab.1 -man/man1/orbd.1 -man/man1/pack200.1 -man/man1/policytool.1 -man/man1/rmid.1 -man/man1/rmiregistry.1 -man/man1/servertool.1 -man/man1/tnameserv.1 -man/man1/unpack200.1 -EOF -  # create jre/man directory -  # mkdir $jdkdir/jre/man -  # move the real JRE man pages to jre/man -  # link the JDK JRE man pages to jre/man -  # real JDK man pages stay where they are -  for m in `cat $jreman`; do -    manpath=`dirname $jdkdir/jre/$m` -    mkdir -p $manpath -    mv $jdkdir/$m $jdkdir/jre/$m -    linkrel $jdkdir/jre/$m $jdkdir/$m -  done -  # link in Japanese man pages -  ln -s ja_JP.eucJP $jdkdir/jre/man/ja -  rm $jreman -} - -elimdups() { -  echo "eliminating duplication between the JDK and JDK/jre..." -  jdkcomm=/tmp/jdk.bin.comm.txt -cat <<EOF > $jdkcomm -bin/ControlPanel -bin/java -bin/javaws -bin/keytool -bin/kinit -bin/klist -bin/ktab -bin/orbd -bin/pack200 -bin/policytool -bin/rmid -bin/rmiregistry -bin/servertool -bin/tnameserv -bin/unpack200 -EOF -  # note there is little point in linking these common files -  #   COPYRIGHT -  #   LICENSE -  #   THIRDPARTYLICENSEREADME.txt -  # And this file is unique to the JDK -  #   README.html -  # And these files are unique to the JDK/jre/ -  #   CHANGES -  #   README -  #   Welcome.html -  for p in `cat $jdkcomm`; do -    rm $jdkdir/$p -    # this is a relative link -    ln -s ../jre/$p $jdkdir/$p -  done -  rm $jdkcomm -} - -if [ $# -eq 3 ] ; then -  getargs $1 $2 $3 -  checkfiles -  copytree -  createjre -  unpackjars -  preparecds -  jreman -  elimdups -else -  usage -  exit 1 -fi - -exit 0 - diff --git a/abs/extra-testing/community/jre/jre.install b/abs/extra-testing/community/jre/jre.install index 778a5fd..4e557a7 100644 --- a/abs/extra-testing/community/jre/jre.install +++ b/abs/extra-testing/community/jre/jre.install @@ -10,13 +10,6 @@ post_install() {  		sed -e '/application\/x-java-jnlp-file/d' -i /etc/mailcap  	fi  	echo 'application/x-java-jnlp-file;/opt/java/jre/bin/javaws %s' >>/etc/mailcap -cat << _EOF - -==> In order to have java applets support in firefox you should install -==> libxtst (pacman -S libxtst). - -_EOF -  }  post_remove() { | 
