Hi Elaine,

On Mon, 2008-09-01 at 14:09 +0800, Elaine Xiong wrote:
> #
> # spec file for package SFEcheese

s/SFE/SUNW/

> # owner:elaine date:2008-09-01 type:RFE bugster:6657549
> Patch1:                  cheese-01-lack-hal-backend.diff
> 
> # owner:elaine date:2008-09-01 type:RFE bugster:6743364
> Patch2:                  cheese-02-lack-uvc-framerate.diff

The correct keyword is "feature" not "RFE"

> %if %option_with_fox
> Requires: FSWxorg-clientlibs
> Requires: FSWxwrtl
> BuildRequires: FSWxorg-headers
> %else
> Requires: SUNWxwrtl
> %endif

This shouldn't be needed anymore, it can depend on SUNWxwrtl

> %package root
> Summary:                 %{summary} - / filesystem
> SUNW_BaseDir:            /
> %include default-depend.inc

Either -root should Require %name or %name should require
%{name}-root.

> export CFLAGS="%optflags -mt `pkg-config --cflags gtk+-2.0`
> `pkg-config --cflags libglade-2.0` `pkg-config --cflags dbus-1`
> `pkg-config --cflags gnome-vfs-2.0` `pkg-config --cflags
> libgnomeui-2.0` `pkg-config --cflags gstreamer-0.10` `pkg-config
> --cflags libebook-1.2`"

This is a big unusual, the configure script usually does this
for you.  Why do you need to add these to CFLAGS?

> %if %option_with_gnu_iconv
> export CFLAGS="$CFLAGS -I/usr/gnu/include -L/usr/gnu/lib
> -R/usr/gnu/lib -lintl"
> %endif

This isn't needed anymore.

> export LDFLAGS="%{_ldflags} -lc -mt -lpthread `pkg-config --libs gtk
> +-2.0` `pkg-config --libs libglade-2.0` `pkg-config --libs dbus-1`
> `pkg-config --libs gnome-vfs-2.0` `pkg-config --libs libgnomeui-2.0`
> `pkg-config --libs gstreamer-0.10` -lgstinterfaces-0.10 `pkg-config
> --libs libebook-1.2` -lXxf86vm"

Same comments as for CFLAGS.

> CFLAGS="$CFLAGS" ./configure --prefix=%{_prefix} --mandir=%{_mandir} \

Since CFLAGS is exported, you don't need to repeat CFLAGS="$CFLAGS"
here.

> %post
> ( echo 'test -x /usr/bin/update-desktop-database || exit 0';
>   echo '/usr/bin/update-desktop-database'
> ) | $BASEDIR/lib/postrun -b -u -c JDS_wait
> ( echo 'test -x %{_bindir}/update-mime-database || exit 0';
>   echo '%{_bindir}/update-mime-database %{_datadir}/mime'
> ) | $BASEDIR/lib/postrun -b -u -c JDS_wait
> ( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
>   echo '/usr/bin/scrollkeeper-update'
> ) | $BASEDIR/lib/postrun -b -u -c JDS

Please use %include for these.

> %postun
> ( echo 'test -x /usr/bin/update-desktop-database || exit 0';
>   echo '/usr/bin/update-desktop-database'
> ) | $BASEDIR/lib/postrun -b -u -c JDS_wait
> ( echo 'test -x %{_bindir}/update-mime-database || exit 0';
>   echo '%{_bindir}/update-mime-database %{_datadir}/mime'
> ) | $BASEDIR/lib/postrun -b -u -c JDS_wait
> ( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
>   echo '/usr/bin/scrollkeeper-update'
> ) | $BASEDIR/lib/postrun -b -u -c JDS

and these.

> 
> 
> 
> 
> 
> differences
> between files
> attachment
> (cheese-01-lack-hal-backend.diff)
> 
> --- ./src/cheese-webcam.c.orig  2008-08-19 02:32:53.000000000 +0800
> +++ ./src/cheese-webcam.c       2008-09-01 11:14:34.730782000 +0800
> @@ -241,6 +241,10 @@
>                       * refers to a fake device so that resolution
> changing still
>                       * works even if the computer doesn't have a
> webcam. */
>    char **udis;
> +#ifdef SOLARIS
> +  char *dev_name;
> +  struct stat s;
> +#endif  
>    DBusError error;
>    LibHalContext *hal_ctx;
>  
> @@ -287,6 +291,19 @@
>    if (num_udis > 0)
>          priv->num_webcam_devices = num_devices = num_udis;
>    else
> +#ifdef SOLARIS 
> +    for (i = 0;;i++)
> +    {
> +      dev_name = g_strdup_printf("%s%d", "/dev/video", i);
> +      if (lstat(dev_name, &s) != 0)
> +        break;
> +      else     
> +        priv->num_webcam_devices = num_devices = num_udis = 1;
> +    }  
> +  if (num_udis >= 1 && i > 0)
> +    dev_name = g_strdup_printf("%s%d", "/dev/video", --i);
> +  else  
> +#endif
>    {
>      num_devices = 1;
>      priv->num_webcam_devices = num_udis;  /* We don't have any real
> cameras-- 
> @@ -304,6 +321,7 @@
>  
>    for (i = 0; i < priv->num_webcam_devices; i++) 
>    {
> +#ifndef SOLARIS
>      char *device;
>      
>      device = libhal_device_get_property_string (hal_ctx, udis[i],
> "video4linux.device", &error);
> @@ -315,8 +333,14 @@
>      }
>      priv->webcam_devices[i].video_device = g_strdup (device);
>      libhal_free_string (device);
> +#else
> +    priv->webcam_devices[i].video_device = g_strdup (dev_name);
> +#endif    
>    }
>    libhal_free_string_array (udis);
> +#ifdef SOLARIS
> +  libhal_free_string(dev_name);
> +#endif  
>  }
>  
>  static void
> --- ./configure.orig    2008-08-19 02:33:17.000000000 +0800
> +++ ./configure 2008-09-01 11:14:34.739745000 +0800
> @@ -15249,7 +15249,7 @@
>  GNOME_VFS_REQUIRED=2.18.0
>  LIBEBOOK_REQUIRED=1.12.0
>  DBUS_REQUIRED=1.0
> -HAL_REQUIRED=0.5.9
> +HAL_REQUIRED=0.5.8
>  DBUS_GLIB_REQUIRED=0.7
>  LIBRSVG_REQUIRED=2.18.0
>  PANGOCAIRO_REQUIRED=1.18.0

Please patch configure.in or configure.ac and call autoconf
in %build.

> --- ./configure.orig    2008-09-01 11:16:01.925112000 +0800
> +++ ./configure 2008-09-01 11:17:06.006368000 +0800
> @@ -9350,6 +9350,7 @@
>      solaris*)
>        lt_prog_compiler_pic='-KPIC'
>        lt_prog_compiler_static='-Bstatic'
> +      CFLAGS="${CFLAGS} -DSOLARIS"
>        case $cc_basename in
>        f77* | f90* | f95*)
>         lt_prog_compiler_wl='-Qoption ld ';;
> @@ -12722,7 +12723,7 @@
>  
>  
>  
> -CFLAGS="${CFLAGS} -Wall"
> +CFLAGS="${CFLAGS}"

Same here, please patch configure.in/ac

> 
> --- ./configure.orig    2008-09-01 11:16:01.925112000 +0800
> +++ ./configure 2008-09-01 11:17:06.006368000 +0800
> @@ -13221,7 +13222,7 @@
>  xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
>  mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
>  mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
> -if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
> +if test -z "$xgversion" -o -z "$mmversion"; then
>      { { $as_echo "$as_me:$LINENO: error: GNU gettext tools not found;
> required for intltool" >&5
>  $as_echo "$as_me: error: GNU gettext tools not found; required for
> intltool" >&2;}
>     { (exit 1); exit 1; }; }

And here too.

Laca



Reply via email to