Bug 432259 - Review Request: speech-dispatcher - Required for speech synthesis on OLPC XO
Review Request: speech-dispatcher - Required for speech synthesis on OLPC XO
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Extras Quality Assurance
: Reopened
Depends On: 433253
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-10 11:58 EST by Hemant Goyal
Modified: 2008-07-24 13:02 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-07-24 13:02:36 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mtasaka: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)
Init Script Patch for speech-dispatcher (1.55 KB, patch)
2008-06-04 11:50 EDT, Hemant Goyal
no flags Details | Diff
Init Script for speech-dispatcher (1.22 KB, application/octet-stream)
2008-06-07 13:15 EDT, Hemant Goyal
no flags Details
patch for speechd configuration file (1.11 KB, patch)
2008-06-17 11:29 EDT, Hemant Goyal
no flags Details | Diff
Slightly modified init script (1.41 KB, text/plain)
2008-06-18 13:48 EDT, Mamoru TASAKA
no flags Details

  None (edit)
Description Hemant Goyal 2008-02-10 11:58:08 EST
Spec URL: http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec
SRPM URL: http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.5-6.src.rpm

Comments: We need this package for the OLPC XO laptop which is based on Fedora. This is the first package I am creating and hence know it is not up to Fedora Standards as yet, and I am looking for help to achieve the standards. I am looking for a sponsor who could assist me in the process.

Description:
* Common interface to different TTS engines
* Handling concurrent synthesis requests – requests may come
  assynchronously from multiple sources within an application
  and/or from more different applications.
* Subsequent serialization, resolution of conflicts and
  priorities of incomming requests
* Context switching – state is maintained for each client
  connection independently, event for connections from
  within one application.
* High-level client interfaces for popular programming languages
* Common sound output handling – audio playback is handled by
  Speech Dispatcher rather than the TTS engine, since most engines
  have limited sound output capabilities.

Thanks!
Hemant
Comment 1 Mamoru TASAKA 2008-02-10 12:24:20 EST
Why did you close this as NOTABUG?
Comment 2 Hemant Goyal 2008-02-10 12:39:40 EST
(In reply to comment #1)
> Why did you close this as NOTABUG?

I seem to have done that by mistake.. I have reopened it now. Thanks for
pointing it out.

Although I am not able to figure out what the STATUS for this bug needs to be.
Comment 3 Mamoru TASAKA 2008-02-10 13:33:37 EST
Just leave as ASSIGNED. Potential reviewers can find that currently
no one is reviewing this by checking assignee.

By the way:
Would you check some general guidelines on:
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines

And it is useful that you install rpmdevtools rpm and execute
"$ rpmdev-newspec speech-dispatcher" to create a skeleton spec file.

Also you can check your srpm or rebuilt binary rpms by $ rpmlint XXX.rpm
to detect some generic issues on your rpms.

From a quick glance:
* Summary must not be ended with dot (you can detect this by
  using rpmlint. rpmlint is in rpmlint rpm)
* Please consider to use %{?dist} tag.
  http://fedoraproject.org/wiki/Packaging/DistTag
* "GPL" license tag is no longer valid for Fedora.
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines
* Packager tag must not be used. Fedora uses its own tag.
* Also Vendor tag must be removed
* AutoReqProv: yes is not needed
* Please specify BuildRoot (i.e. please don't comment it out)
* %setup must be quiet
* Please consider to use %configure macro
* Support parallel make if possible (please refer to the section
  "Parallel make" of
  http://fedoraproject.org/wiki/Packaging/Guidelines
* BuildRoot must be cleaned up when %install begins.
  (see the section "Prepping BuildRoot For %install" of
   the same wiki)
* Changing the mode of files must not be done on scriptlets
* Please use macros.
  You should not use /etc/rc.d but should use /etc/rc.d/init.d
  and the corresponding macro is %{_sysconfdir}
* scriptlets must be quiet unless some errors occur.
* We now recommend %defattr(-,root,root,-)
* configuration file must be put under %{_sysconfdir}, not
  under %{_prefix}/%{_sysconfdir}.
  Please check configure option. I guess %configure does what
  you want (check what %configure does by
  rpm --eval %configure)
* python directory is not right. It must be %_libdir/python2.5/site-packages,
  but you must not write this directory in a explicit form but must
  use some macros.
  Please refer to:
  http://fedoraproject.org/wiki/Packaging/Python
* Files under %infodir are automatically marked as %doc
* Please make it sure that all directories which are created when
  installing this package are owned by this package or the subpackages
  of this package.
  For example, currently the directory 
  %{_libdir}/speech-dispatcher-modules/ itself is not owned by any package
* Please create -devel subpackage and move all development-related
  files to the subpackage.
Comment 4 Mamoru TASAKA 2008-02-10 13:39:05 EST
(In reply to comment #3)
> * Please use macros.
>   You should not use /etc/rc.d but should use /etc/rc.d/init.d
>   and the corresponding macro is %{_sysconfdir}

The corresponding macro is %{_initrddir}.
Comment 5 Hemant Goyal 2008-02-15 05:44:05 EST
(In reply to comment #4)
> (In reply to comment #3)
> > * Please use macros.
> >   You should not use /etc/rc.d but should use /etc/rc.d/init.d
> >   and the corresponding macro is %{_sysconfdir}
> 
> The corresponding macro is %{_initrddir}.

I have tried to fix as many issues as I could by looking through the Packaging
Guidelines. Can you comment on it once please?

Also how will I distribute the init scripts since they are not part of the
original package? As a patch?

The updated SPEC file is located at :
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM :
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.5-1.fc7.src.rpm
Thanks.
Comment 6 Mamoru TASAKA 2008-02-15 11:20:31 EST
Well, for 0.6.5-1:

* bconf
  - Your usage of bconf conditional treatment is not right.
    Please to the following link for example.
    http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/gimp/devel/gimp.spec

* BuildRequires
  - It seems dotconf is not in Fedora yet.
    If you want to use dotconf, you have to submit another review request
    for dotconf.

* Directory ownership issue
  - Please make it sure that all directories which are created when installing
    a rpm are owned by some package.
    For example, the directory %{_sysconfdir}/peech-dispatcher itself is
    not owned by any packages.

* libtool .la files
  - must be removed.

* EVR (Epoch-Version-Release) specific dependency
  - The dependency between subpackages must be EVR (not only Version)
    specific.

* /sbin/ldconfig
  - (Usually, and actually for this package) calling 
    /sbin/ldconfig is not needed for -devel package.

* Static archive
  - Packaging static archive is forbidden when providing shared
    libraries, please remove them.
    Also please check if configure accepts --disable-static option.

* Info file
  - Files under %_infodir are automatically marked as %doc.

* Changelog
  - Please check
    http://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs
  - Especially using %date macro in your way is forbidden.
    In this way %date changes every time you rebuild this srpm,
    which changes the old changelog entry
  - One %changelog must be written in one spec file.
    i.e. writting %changelog for every subpackage is not allowed.
         These %changelog's must be unified.

(In reply to comment #5)
> Also how will I distribute the init scripts since they are not part of the
> original package? As a patch?
  - You can add it as other sources like %SOURCE1.

? symlink which seems modules
  - BTW does this package work well if symlink .so under 
    %_libdir/speech-dispatcher are not in main package?
    These type of files are usually dlopen'ed and not aimed
    for being used from other packages (i.e. not aimed for
    being in -devel package).

%defattr
  - We now recommend %defattr(-,root,root,-)

* %post/%postun dependency for /sbin/install-info
  - is missing for -doc-en, -doc-cs (please check
    the section "Texinfo" of
    http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )
  ? By the way do you really want to create -doc-en, -doc-cs
    subpackages for only info files?

!
  Please change release number of your spec every time you modify
  your spec file to avoid confusion.
Comment 7 Hemant Goyal 2008-02-15 15:27:11 EST
Thanks for the input :)

> * bconf
>   - Your usage of bconf conditional treatment is not right.
>     Please to the following link for example.
>     http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/gimp/devel/gimp.spec

I tried to use this approach for conditional build but somehow was unsuccessful.
 If this approach is absolutely needed, I will spend more time and fix it. (At
this moment my attempt is commented out for your reference)

> * BuildRequires
>   - It seems dotconf is not in Fedora yet.
>     If you want to use dotconf, you have to submit another review request
>     for dotconf.

I am on it, thank you for letting me know about the issue.

> * Directory ownership issue
>   - Please make it sure that all directories which are created when installing
>     a rpm are owned by some package.
>     For example, the directory %{_sysconfdir}/peech-dispatcher itself is
>     not owned by any packages.

Am i supposed to set the Directory permissions to a particular value? If that is
the case I applied the same permissions as was done for GIMP.

> * libtool .la files
>   - must be removed.

Done. I was getting a build error, and for that reason i had to add the macro
%define _unpackaged_files_terminate_build 0.

> * EVR (Epoch-Version-Release) specific dependency
>   - The dependency between subpackages must be EVR (not only Version)
>     specific.

Added, I hope it has been done correctly.

> * /sbin/ldconfig
>   - (Usually, and actually for this package) calling 
>     /sbin/ldconfig is not needed for -devel package.

Commented out.

> * Static archive
>   - Packaging static archive is forbidden when providing shared
>     libraries, please remove them.
>     Also please check if configure accepts --disable-static option.

Removed the static libraries. The present script when run with --without
static_libs works fine, and disables static libs.

> * Info file
>   - Files under %_infodir are automatically marked as %doc.

I ve removed the %doc tag.

> * Changelog
>   - Please check
>     http://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs
>   - Especially using %date macro in your way is forbidden.
>     In this way %date changes every time you rebuild this srpm,
>     which changes the old changelog entry

Fixed, I am now using the date format as mentioned on the website.

>   - One %changelog must be written in one spec file.
>     i.e. writting %changelog for every subpackage is not allowed.
>          These %changelog's must be unified.

Done.

> > (In reply to comment #5)
> > Also how will I distribute the init scripts since they are not part of the
> > original package? As a patch?
>   - You can add it as other sources like %SOURCE1.

Okay, thanks, I think it would be best to add this once you are happy with the
present state of the SPEC file.

> 
> ? symlink which seems modules
>   - BTW does this package work well if symlink .so under 
>     %_libdir/speech-dispatcher are not in main package?
>     These type of files are usually dlopen'ed and not aimed
>     for being used from other packages (i.e. not aimed for
>     being in -devel package).

I have moved .so files to main package now, there was an issue of dangling
pointers reported by rpmlint tool when the .so files were placed in the devel
package.

> %defattr
>   - We now recommend %defattr(-,root,root,-)

I ve applied 0755 as directory permissions, I am not absolutely clear what you
mean by the package owning the directory.

> * %post/%postun dependency for /sbin/install-info
>   - is missing for -doc-en, -doc-cs (please check
>     the section "Texinfo" of
>     http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )

Are you referring to these?
Requires(post): /sbin/chkconfig /sbin/install-info

Requires(preun): /sbin/service /sbin/install-info



>   ? By the way do you really want to create -doc-en, -doc-cs
>     subpackages for only info files?

I ve merged them to a single documentation package at this point.
> 
> !
>   Please change release number of your spec every time you modify
>   your spec file to avoid confusion.

Sorry! I have started doing that now, and also maintaining a proper change log.

I suppose at this stage the issues that need to be resolved : 

1]Directory ownership
2]BCond
3]Dotconf packages
4]init scripts - will put the patch as advised by you
5]python packages refuse to get installed correctly. They get installed in a
"build" directory within BUILD and rpmbuild has no way to pick them and put them
in a python package.

Thanks as always for being so helpful :)

Hemant
Comment 8 Hemant Goyal 2008-02-16 02:34:47 EST
Hi,

I have updated the SPEC file to use the latest speech-dispatcher release.

The SPEC file can be accessed at :
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

The SRPM can be accessed at : 
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-1.fc7.src.rpm

- Python packages are finally getting built. (However I must force --prefix to
the correct value to make this work. Otherwise the python packages get installed
in %{_prefix} and $RPM_BUILD_ROOT/%{_prefix})

Thanks!
Hemant

(In reply to comment #7)
> Thanks for the input :)
> 
> > * bconf
> >   - Your usage of bconf conditional treatment is not right.
> >     Please to the following link for example.
> >     http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/gimp/devel/gimp.spec
> 
> I tried to use this approach for conditional build but somehow was unsuccessful.
>  If this approach is absolutely needed, I will spend more time and fix it. (At
> this moment my attempt is commented out for your reference)
> 
> > * BuildRequires
> >   - It seems dotconf is not in Fedora yet.
> >     If you want to use dotconf, you have to submit another review request
> >     for dotconf.
> 
> I am on it, thank you for letting me know about the issue.
> 
> > * Directory ownership issue
> >   - Please make it sure that all directories which are created when installing
> >     a rpm are owned by some package.
> >     For example, the directory %{_sysconfdir}/peech-dispatcher itself is
> >     not owned by any packages.
> 
> Am i supposed to set the Directory permissions to a particular value? If that is
> the case I applied the same permissions as was done for GIMP.
> 
> > * libtool .la files
> >   - must be removed.
> 
> Done. I was getting a build error, and for that reason i had to add the macro
> %define _unpackaged_files_terminate_build 0.
> 
> > * EVR (Epoch-Version-Release) specific dependency
> >   - The dependency between subpackages must be EVR (not only Version)
> >     specific.
> 
> Added, I hope it has been done correctly.
> 
> > * /sbin/ldconfig
> >   - (Usually, and actually for this package) calling 
> >     /sbin/ldconfig is not needed for -devel package.
> 
> Commented out.
> 
> > * Static archive
> >   - Packaging static archive is forbidden when providing shared
> >     libraries, please remove them.
> >     Also please check if configure accepts --disable-static option.
> 
> Removed the static libraries. The present script when run with --without
> static_libs works fine, and disables static libs.
> 
> > * Info file
> >   - Files under %_infodir are automatically marked as %doc.
> 
> I ve removed the %doc tag.
> 
> > * Changelog
> >   - Please check
> >     http://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs
> >   - Especially using %date macro in your way is forbidden.
> >     In this way %date changes every time you rebuild this srpm,
> >     which changes the old changelog entry
> 
> Fixed, I am now using the date format as mentioned on the website.
> 
> >   - One %changelog must be written in one spec file.
> >     i.e. writting %changelog for every subpackage is not allowed.
> >          These %changelog's must be unified.
> 
> Done.
> 
> > > (In reply to comment #5)
> > > Also how will I distribute the init scripts since they are not part of the
> > > original package? As a patch?
> >   - You can add it as other sources like %SOURCE1.
> 
> Okay, thanks, I think it would be best to add this once you are happy with the
> present state of the SPEC file.
> 
> > 
> > ? symlink which seems modules
> >   - BTW does this package work well if symlink .so under 
> >     %_libdir/speech-dispatcher are not in main package?
> >     These type of files are usually dlopen'ed and not aimed
> >     for being used from other packages (i.e. not aimed for
> >     being in -devel package).
> 
> I have moved .so files to main package now, there was an issue of dangling
> pointers reported by rpmlint tool when the .so files were placed in the devel
> package.
> 
> > %defattr
> >   - We now recommend %defattr(-,root,root,-)
> 
> I ve applied 0755 as directory permissions, I am not absolutely clear what you
> mean by the package owning the directory.
> 
> > * %post/%postun dependency for /sbin/install-info
> >   - is missing for -doc-en, -doc-cs (please check
> >     the section "Texinfo" of
> >     http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )
> 
> Are you referring to these?
> Requires(post): /sbin/chkconfig /sbin/install-info
> 
> Requires(preun): /sbin/service /sbin/install-info
> 
> 
> 
> >   ? By the way do you really want to create -doc-en, -doc-cs
> >     subpackages for only info files?
> 
> I ve merged them to a single documentation package at this point.
> > 
> > !
> >   Please change release number of your spec every time you modify
> >   your spec file to avoid confusion.
> 
> Sorry! I have started doing that now, and also maintaining a proper change log.
> 
> I suppose at this stage the issues that need to be resolved : 
> 
> 1]Directory ownership
> 2]BCond
> 3]Dotconf packages
> 4]init scripts - will put the patch as advised by you
> 5]python packages refuse to get installed correctly. They get installed in a
> "build" directory within BUILD and rpmbuild has no way to pick them and put them
> in a python package.
> 
> Thanks as always for being so helpful :)
> 
> Hemant

Comment 9 Mamoru TASAKA 2008-02-16 11:32:11 EST
Well, for 0.6.6-2:

* Please don't introduce Epoch.
* Please don't use _unpackaged_files_terminate_build but explicitly
  remove files unneededly installed. Using _unpackaged_files_terminate_build
  frequently makes a package unusable when version is upgraded and some
  new files gets actually needed to be installed.
* Remove all unneeded comments to make your spec file easier to read.
* %{_libdir}/lib*.so should be in -devel subpackage
  (What I commented was about %{_libdir}/speech-dispatcher/lib*.so)
* What I meant by "dependency between subpackage must be EVR specific"
  is that for example -devel package should have
  "Requires: %{name} = %{version}-%{release}", not
  "Requires: %{name} = %{version}".
* %dir %{_libdir}/speech-dispatcher-modules is listed twice
* -doc subpackage must have Requires(post): /sbin/install-info or so
  And 
if [ $1 = 0 ]; then
    /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
  or so must be %preun, not %postun (please check the section
  "Texinfo" of
  http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )
* %configure \
     --prefix=$RPM_BUILD_ROOT/%{_prefix} 
  - I guess you must not do this. This will sometimes override header
    files, configuration files etc  and leads to some undesirable
    results.

* And I am waiting for your submit of dotconf review request :)
Comment 10 Hemant Goyal 2008-02-18 11:20:37 EST
I ve made updates to fix the issues you described.

speech-dispatcher-0.6.6 installs the python packages into /usr/lib/ by default
unless I dont mention the prefix explicitly in ./configure

Since you advised me to avoid that, I have installed python modules directly
using the setuptools file provided.

Also to prevent make install from breaking when it tries to install python
packages to /usr/lib I have written separate make install for all the src
directories which must be installed. I am not sure if this is advisable, but
could not figure out a better approach.

dotconf package request has been made, and I hope that it will be resolved soon.

Thanks!
Comment 11 Mamoru TASAKA 2008-02-27 12:52:33 EST
(Just writing a comment that this bug is currently blocked
 by bug 433253)
Comment 12 Hemant Goyal 2008-04-06 06:46:49 EDT
Hi,

bug 433253 is resolved finally :).

So what should be my next steps?

Thanks

Comment 13 Mamoru TASAKA 2008-04-06 12:18:29 EDT
Well, would you upload your latest srpm?

Note: please make it sure that you change the release number of srpm
       every time you change it.
Comment 14 Hemant Goyal 2008-04-07 10:06:50 EDT
Hi,

The latest srpm is at :
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-4.fc7.src.rpm

The spec file is at :
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

I had written an explanation for selective make installs in this spec file before...

Here it is again : 

I ve made updates to fix the issues you described.

speech-dispatcher-0.6.6 installs the python packages into /usr/lib/ by default
unless I dont mention the prefix explicitly in ./configure

Since you advised me to avoid that, I have installed python modules directly
using the setuptools file provided.

Also to prevent make install from breaking when it tries to install python
packages to /usr/lib I have written separate make install for all the src
directories which must be installed. I am not sure if this is advisable, but
could not figure out a better approach.

dotconf package request has been made, and I hope that it will be resolved soon.

Thanks!
Comment 15 Mamoru TASAKA 2008-04-07 13:42:19 EDT
Does not build at least on i386 and x86_64 (dist-f9)
http://koji.fedoraproject.org/koji/taskinfo?taskID=554609
http://koji.fedoraproject.org/koji/taskinfo?taskID=554614

I have not checked your srpm at all, however:
- Why do you disable some configure optional dependency by default?
Comment 16 Hemant Goyal 2008-04-08 12:51:53 EDT
(In reply to comment #15)
> Does not build at least on i386 and x86_64 (dist-f9)
> http://koji.fedoraproject.org/koji/taskinfo?taskID=554609
> http://koji.fedoraproject.org/koji/taskinfo?taskID=554614
> 
> I have not checked your srpm at all, however:
> - Why do you disable some configure optional dependency by default?
> 

Comment 17 Hemant Goyal 2008-04-08 13:07:28 EDT
Hi,

I looked through the BUILD logs and it seems the build broke down because
dotconf libraries were not found.

*** Required DotConf library missing! See INSTALL .
error: 

I believe the dotconf package is intended for OLPC-2, and hence an error for
i386 and x86_64.

ummm, I am not quite sure which optional dependencies you are referring to?
ibmtts, flite-devel and so on?

I included the conditional build options for greater flexibility, and if you
will advise me, I will remove them.

Thanks!
Comment 18 Mamoru TASAKA 2008-04-08 13:40:20 EDT
- First please try what $ rpm -qp --requires speech-dispatcher-XXXX.src.rpm
  shows, which is apparently against what you expect.
  And $ rpm -qip speech-dispatcher-XXXX.src.rpm shows what is happening.

  You can rewrite your spec file from $ rpmdev-newspec -t lib speech-dispatcher
  (/usr/bin/rpmdev-newspec is in rpmdevtools rpm), which should prevent from
  making such mistakes :)

  Also, please write all %description of subpackages before %prep section,
  which is the usually way to write spec files.

- And perhaps to build this package dotconf header files are also needed.

- I am asking why you "disable" "BuildRequires: flite-devel" and so on
  _by default_. On koji build you cannot pass the option "--with-flite" or so
  to rpmbuild, it just does "rpm --rebuild <your srpm>".
Comment 19 Hemant Goyal 2008-04-13 12:22:55 EDT
(In reply to comment #18)

Hi,

- Rewrote the SPEC using lib template
- removed conditional builds

http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-5.fc7.src.rpm
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec
Comment 20 Mamoru TASAKA 2008-04-14 13:15:27 EDT
(Well, I am checking the build on rawhide and I have not yet installed
 this package)

* Rebuild fails by various reasons:
  - On rawhide pulseaudio-devel does not exist, and BR is sufficient with
    pulseaudio-libs-devel
  - BR: dotconf is not needed (redundant). BR: dotconf-devel is enough.
  - Even after I change BR from pulseaudio-devel to pulseaudio-libs-devel,
    the build still fails as:
    http://koji.fedoraproject.org/koji/taskinfo?taskID=564317
    http://koji.fedoraproject.org/koji/getfile?taskID=564319&name=build.log
    Note:
    - /usr/lib/python2.5/site-packages/speechd-0.3-py2.5.egg-info is only
      created (automatically) on F-9+.
Comment 21 Hemant Goyal 2008-04-27 09:40:26 EDT
Hi,

Latest SRPM - http://tinyurl.com/67j943
Latest SPEC - http://tinyurl.com/6bpsqg

>   - On rawhide pulseaudio-devel does not exist, and BR is sufficient with
>     pulseaudio-libs-devel

Added BR of pulseaudio-lib-devel

>   - BR: dotconf is not needed (redundant). BR: dotconf-devel is enough.

Removed.

>     - /usr/lib/python2.5/site-packages/speechd-0.3-py2.5.egg-info is only
>       created (automatically) on F-9+.

Done by adding ownership of this file if OS is Fedora 9 or greater. (Hopefully
it will now work on RawHide)

Note : I am a little unclear about the unpackaged "/usr/share/info/dir". I
cannot seem to find it in my buildroot. Is this also automatically created in F-9+?

Thanks
Comment 22 Mamoru TASAKA 2008-04-27 11:52:28 EDT
Assigning. Will check in detail later, however in advance:

(In reply to comment #21)
> Note : I am a little unclear about the unpackaged "/usr/share/info/dir". I
> cannot seem to find it in my buildroot. Is this also automatically 
> created in F-9+?

No (to the question "Is this also automatically 
created in F-9+?"). If you try mockbuild you can reproduce this
error. Or you can reproduce this failure by
------------------------------------------------------------------
$ export PATH="/usr/sbin:/sbin:$PATH"
$ rpmbuild --rebuild <your_srpm>
------------------------------------------------------------------
Comment 23 Mamoru TASAKA 2008-04-28 03:12:50 EDT
Well, I will check this later, however as this is NEEDSPONSOR ticket:

-------------------------------------------------------------
NOTE: Before being sponsored:

This package will be accepted with another few work. 
But before I accept this package, someone (I am a candidate) 
must sponsor you.

Once you are sponsored, you have the right to review other 
submitters' review requests and approve the packages formally. 
For this reason, the person who want to be sponsored (like you) 
are required to "show that you have an understanding 
of the process and of the packaging guidelines" as is described
on :
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

Usually there are two ways to show this.
A. submit other review requests with enough quality.
B. Do a "pre-review" of other person's review request
   (at the time you are not sponsored, you cannot do
   a formal review)

When you have submitted a new review request or have pre-reviewed other 
person's review request, please write the bug number on this bug report 
so that I can check your comments or review request.

Fedora package collection review requests which are waiting for someone to
review can be checked on:
http://fedoraproject.org/PackageReviewStatus/NEW.html
(NOTE: please don't choose "Merge Review")


Review guidelines are described mainly on:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
------------------------------------------------------------
Comment 24 Mamoru TASAKA 2008-04-29 11:03:25 EDT
For 0.6.6-6:

* License
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines
  - I checked the license of speech-dispatcher and
    * The base license of this is GPLv2+
    * src/c/clients/spdsend/spdsend.h in the tarball is under
      GPL, which makes %_bindir/spdsend to be GPLv2:

    So
    * Please change the license tag of all packages except 
      speech-dispatcher (main) pkg to "GPLv2+"
    * For speech-dispatcher, write in the spec file like below:
-----------------------------------------------------------
Group:          System Environment/Libraries
# Almost all files are under GPLv2+, however 
# src/c/clients/spdsend/spdsend.h is licensed under GPLv2,
# which makes %%_bindir/spdsend GPLv2.
License:        GPLv2+ and GPLv2
URL:            http://www.freebsoft.org/pub/projects/speechd/
-----------------------------------------------------------

* Requires(%post,etc)
  - Why are /sbin/chkconfig, /sbin/service needed for
    Requires(%post,etc)?

* %install process
  - Would you clean up %install scripts (like following)?
-----------------------------------------------------------
for dir in \
	config doc src/audio c ..... 
	do
	pushd $dir
	make install DESTDIR=$RPM_BUILD_ROOT
	popd
done
-----------------------------------------------------------

* Documents
  - Adding "COPYING" to %doc is rather mandatory if it exists.

* rpmlint issue
-----------------------------------------------------------
speech-dispatcher-doc.i386: W: file-not-utf8
/usr/share/info/speech-dispatcher-cs.info.gz
speech-dispatcher-devel.i386: W: no-documentation
speech-dispatcher-python.i386: W: no-documentation
speech-dispatcher.i386: E: non-empty-%postun /sbin/ldconfig
speech-dispatcher-python.i386: E: non-executable-script
/usr/lib/python2.5/site-packages/speechd/_test.py 0644
speech-dispatcher.i386: E: postun-without-ldconfig /usr/lib/libspeechd.so.2.0.5
-----------------------------------------------------------
   Summary
   - Please change the encodings of the files in warning to UTF-8.
   - Scripts without execution permission should not have shebangs
   - For /sbin/ldconfig error:
-----------------------------------------------------------
%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

######################################################### <----
# MAIN PACKAGE FILES					  <----
######################################################### <----

%files
-----------------------------------------------------------
     If you write any comments %postun and %files, this is
     interpreted that you want to execute the script with the
     content written as a comment _with the interpreter /sbin/ldconfig_ ,
     which is wrong.

     In short
     When just calling /sbin/ldconfig on %post(un,etc) scriptlets
     in one line, don't write any comments after that.

* Binary name
  - IMO the names of the binaries
-----------------------------------------------------------
%_bindir/long_message
%_bindir/run_test
-----------------------------------------------------------
    are too generic. Would you rename these binaries?
Comment 25 Mamoru TASAKA 2008-04-29 12:41:26 EDT
Also please fix %_infodir/dir file issue.
Comment 26 Hemant Goyal 2008-05-02 00:30:25 EDT
Hi,

Thank you for the inputs. I am again busy with my school exams :(. Please give
me a little time to respond to all the work you have asked me to do.

Thanks :)
Comment 27 Hemant Goyal 2008-06-04 11:50:20 EDT
Created attachment 308361 [details]
Init Script Patch for speech-dispatcher
Comment 28 Hemant Goyal 2008-06-04 11:57:47 EDT
Hi :-)

SPEC File for revision 7 -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-7.fc7.src.rpm

(In reply to comment #24)
> For 0.6.6-6:
> 
> * License
>   http://fedoraproject.org/wiki/Packaging/LicensingGuidelines
>   - I checked the license of speech-dispatcher and
>     * The base license of this is GPLv2+
>     * src/c/clients/spdsend/spdsend.h in the tarball is under
>       GPL, which makes %_bindir/spdsend to be GPLv2:
> 
>     So
>     * Please change the license tag of all packages except 
>       speech-dispatcher (main) pkg to "GPLv2+"
>     * For speech-dispatcher, write in the spec file like below:
> -----------------------------------------------------------
> Group:          System Environment/Libraries
> # Almost all files are under GPLv2+, however 
> # src/c/clients/spdsend/spdsend.h is licensed under GPLv2,
> # which makes %%_bindir/spdsend GPLv2.
> License:        GPLv2+ and GPLv2
> URL:            http://www.freebsoft.org/pub/projects/speechd/
> -----------------------------------------------------------

Done.

> 
> * Requires(%post,etc)
>   - Why are /sbin/chkconfig, /sbin/service needed for
>     Requires(%post,etc)?

I wanted to add an init script to auto-start the speech-dispatcher daemon. Hence
the need for chkconfig. I've included the init script as a patch in the latest
revision.
> 
> * %install process
>   - Would you clean up %install scripts (like following)?
> -----------------------------------------------------------
> for dir in \
> 	config doc src/audio c ..... 
> 	do
> 	pushd $dir
> 	make install DESTDIR=$RPM_BUILD_ROOT
> 	popd
> done
> -----------------------------------------------------------

Neat :). Done


> * Documents
>   - Adding "COPYING" to %doc is rather mandatory if it exists.
Done


> * rpmlint issue
> -----------------------------------------------------------
> speech-dispatcher-doc.i386: W: file-not-utf8
> /usr/share/info/speech-dispatcher-cs.info.gz

Still to be resolved. Wondering how to go about this one (:-?)

> speech-dispatcher-devel.i386: W: no-documentation
> speech-dispatcher-python.i386: W: no-documentation

Is this warning very important, as most of the documentation has been included
in a separate doc pacakge?

> speech-dispatcher.i386: E: non-empty-%postun /sbin/ldconfig

Fixed.

> speech-dispatcher-python.i386: E: non-executable-script
> /usr/lib/python2.5/site-packages/speechd/_test.py 0644
> speech-dispatcher.i386: E: postun-without-ldconfig /usr/lib/libspeechd.so.2.0.5

Fixed
 
> * Binary name
>   - IMO the names of the binaries
> -----------------------------------------------------------
> %_bindir/long_message
> %_bindir/run_test
> -----------------------------------------------------------

prefixed spd_ to each file. I hope that is fine? Any other suggestion that you
have for the file name?

Thanks
Comment 29 Hemant Goyal 2008-06-06 13:24:42 EDT
Hi,

I did a pre-review of #448292. I'll write a few more pre-reviews and/or submit
additional packages for consideration soon.

Thanks
Comment 30 Hemant Goyal 2008-06-06 13:41:51 EDT
Hi again,

I have also done a pre-review of #448458.

Thanks.
Comment 31 Mamoru TASAKA 2008-06-06 13:48:41 EDT
For -7:

* First of all this does not build.
  http://koji.fedoraproject.org/koji/taskinfo?taskID=650399
  - Again please fix %_infodir/dir issue
  - For the issue:
--------------------------------------------------------------
    File listed twice: /usr/lib/python2.5/site-packages/speechd/_test.py
--------------------------------------------------------------
    This file is actually listed twice as
--------------------------------------------------------------
/%{python_sitelib}/speechd/*
%attr(0755,root,root) /%{python_sitelib}/speechd/_test.py
--------------------------------------------------------------
    which is wrong.
    If you want to change the permission, change the permision
    by not using %attr but by using "chmod" at %install.

* init scripts patch
  - Don't create init script by patch but rather include the script
    directly in the srpm as %SOURCEx.

* Duplicate Requires(%post) etc
  http://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscript_packaging
  - For example
---------------------------------------------------------------
Requires(post): /sbin/chkconfig /sbin/install-info
Requires(post): chkconfig
---------------------------------------------------------------
    Here /sbin/chkconfig is added to Requires(post), which is provided
    by chkconfig rpm. So "Requires(post): chkconfig" is a duplicate
    (redundant) Requires.

* Some script writing issue
--------------------------------------------------------------
for dir in \
	$PRESENT_DIR/config/ $PRESENT_DIR/doc/ ......
--------------------------------------------------------------
  - The preceding "$PRESENTDIR/" are all unneeded.

* Timestamps
  - To keep timestamps on installed files, please use
--------------------------------------------------------------
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
--------------------------------------------------------------
    This method usually works for recent autotool-based Makefiles.

   - When using "install" or "cp" commands, add "-p" option
     to keep timestamps.

* Macros
  - Please use macros consistently.
--------------------------------------------------------------
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
install  $PRESENT_DIR/speech-dispatcherd $RPM_BUILD_ROOT%{_initrddir}/
--------------------------------------------------------------
    Use "mkdir -p $RPM_BUILD_ROOT%{_initrddir}"
  - And /usr/bin must be %{_bindir}

* Forbidden commands on scriptlets
  - Calling iconv on scriptlets is forbidden. Converting encodings
    must be done before %install ends.

* Preceding slash
  - Preceding slashs like
-------------------------------------------------------------
/%{python_sitelib}/speechd/*
^
-------------------------------------------------------------
    are all not needed.

* Some rpmlint issue
-------------------------------------------------------------
speech-dispatcher.i386: W: service-default-enabled
/etc/rc.d/init.d/speech-dispatcherd
-------------------------------------------------------------
  - Installed service must not be enabled by default.
    You should change the line
-------------------------------------------------------------
     6  # chkconfig: 2345 13 87
-------------------------------------------------------------
    to
-------------------------------------------------------------
# chkconfig: - 13 87
-------------------------------------------------------------

! By the way
  - I guess the speech-dispatcherd init script is completely broken.
    For example
-------------------------------------------------------------
    19  start() {
    20  [ -x $exec ]  || exit 5
    21  [ -f $config ]  || exit 6
    22  echo -n $"Starting $prog"
    23  retval=$?
    24  echo
    25  [ $retval -eq 0 ]  && touch $lockfile
    26  return $retval
    27  }
-------------------------------------------------------------
    .... What does this do? This just
    - check if speech-dispatcher can be executed and config file exists
    - then echo some message
    - touch lockfile
    - then return
    This actually does nothing...

(In reply to comment #28)
> > * rpmlint issue
> > -----------------------------------------------------------
> > speech-dispatcher-doc.i386: W: file-not-utf8
> > /usr/share/info/speech-dispatcher-cs.info.gz
> 
> Still to be resolved. Wondering how to go about this one (:-?)
  - See above. iconv must be used before %install ends.

> > speech-dispatcher-devel.i386: W: no-documentation
> > speech-dispatcher-python.i386: W: no-documentation
> 
> Is this warning very important, as most of the documentation has been included
> in a separate doc pacakge?

  - As in comment 24, I didn't mention this issue (i.e. not important)

> > * Binary name
> >   - IMO the names of the binaries
> > -----------------------------------------------------------
> > %_bindir/long_message
> > %_bindir/run_test
> > -----------------------------------------------------------
> 
> prefixed spd_ to each file. I hope that is fine?

  Okay.
Comment 32 Kyle VanderBeek 2008-06-06 14:14:29 EDT
Note, your %files section for the python package could be as simple as this:

%{python_sitelib}/speechd*

This gets the directory ownership right and also grabs the auto-created egg info
on F-9 and later.

Minor nit: when creating directories hierarchies, use mkdir -p.  If you move
your init script to "Source1:", you could simply do this:

mkdir -p %{_initrddir}
cp -p $SOURCE1 %{_initrddir}

You can also use the mkdir -p trick in your "build the python libs" section.
Comment 33 Kyle VanderBeek 2008-06-06 14:41:02 EDT
(In reply to comment #32)
> mkdir -p %{_initrddir}
> cp -p $SOURCE1 %{_initrddir}

Sorry, that should have been:

mkdir -p $RPM_BUILD_ROOT/%{_initrddir}
cp -p $SOURCE1 $RPM_BUILD_ROOT/%{_initrddir}
Comment 34 Hemant Goyal 2008-06-07 13:15:38 EDT
Created attachment 308616 [details]
Init Script for speech-dispatcher
Comment 35 Hemant Goyal 2008-06-07 13:19:11 EDT
Hi :-)

SPEC File for revision 8 -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-8.fc7.src.rpm


(In reply to comment #31)
> * First of all this does not build.
>   http://koji.fedoraproject.org/koji/taskinfo?taskID=650399
>   - Again please fix %_infodir/dir issue

Hmmm, I have included the file, but rpmlint reports an error on doc package

=================================================================
speech-dispatcher-doc.i386: E: info-dir-file /usr/share/info/dir
=================================================================

> --------------------------------------------------------------
>     File listed twice: /usr/lib/python2.5/site-packages/speechd/_test.py
> --------------------------------------------------------------

Resolved Now. Thank you for the solution.

> * init scripts patch
>   - Don't create init script by patch but rather include the script
>     directly in the srpm as %SOURCEx.

I have added it as Source1 now.

> * Duplicate Requires(%post) etc

Resolved. I noticed it by the time you had already written the review. Sorry
about such a mistake.


> * Some script writing issue
> --------------------------------------------------------------
> for dir in \
> 	$PRESENT_DIR/config/ $PRESENT_DIR/doc/ ......
> --------------------------------------------------------------
>   - The preceding "$PRESENTDIR/" are all unneeded.

Okay, somehow it was not working before. It seems to work without $PRESENTDIR/
now however :P.

> * Timestamps

I have added time stamping to all files EXCEPT the python files. I cannot
somehow find a way to add such an option to the command for installing the
python module.

Should I write a patch to modify the python script that installs the module??


> * Macros
>   - Please use macros consistently.
> --------------------------------------------------------------
> mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/
> mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
> install  $PRESENT_DIR/speech-dispatcherd $RPM_BUILD_ROOT%{_initrddir}/
> --------------------------------------------------------------
>     Use "mkdir -p $RPM_BUILD_ROOT%{_initrddir}"
>   - And /usr/bin must be %{_bindir}

Sorry again :-/. Fixed now.

> * Forbidden commands on scriptlets
>   - Calling iconv on scriptlets is forbidden. Converting encodings
>     must be done before %install ends.

Right, iconv was not even working back then, the UTF-8 encoding error stands
resolved now. Convert the speech-dispatcher-cs.info file to UTF-8 in the prep
section.
 
> * Preceding slash

Okay removed now.

> 
> * Some rpmlint issue
> -------------------------------------------------------------
> speech-dispatcher.i386: W: service-default-enabled
> /etc/rc.d/init.d/speech-dispatcherd
> -------------------------------------------------------------
>   - Installed service must not be enabled by default.
>     You should change the line
> -------------------------------------------------------------
>      6  # chkconfig: 2345 13 87
> -------------------------------------------------------------
>     to
> -------------------------------------------------------------
> # chkconfig: - 13 87
> -------------------------------------------------------------

Hmmm, okay I had explicitly added that to start the service by default. Thank
you for the solution, have fixed it now.


> ! By the way
>   - I guess the speech-dispatcherd init script is completely broken.
>     For example
> -------------------------------------------------------------
>     19  start() {
>     20  [ -x $exec ]  || exit 5
>     21  [ -f $config ]  || exit 6
>     22  echo -n $"Starting $prog"
>     23  retval=$?
>     24  echo
>     25  [ $retval -eq 0 ]  && touch $lockfile
>     26  return $retval
>     27  }
> -------------------------------------------------------------
>     .... What does this do? This just
>     - check if speech-dispatcher can be executed and config file exists
>     - then echo some message
>     - touch lockfile
>     - then return
>     This actually does nothing...

Okay I have fixed it now, thank you for explaining what was actually happening
in the script. I have made the necessary modifications to make the script work.

One error however:
The script works perfectly when I start it, however after that I consistently
receive 

==========================================
speech-dispatcherd dead but subsys locked
==========================================

I must manually remove the lockfile to resolve this error. Cannot figure out
what is wrong here :-?

> > > speech-dispatcher-doc.i386: W: file-not-utf8
> > > /usr/share/info/speech-dispatcher-cs.info.gz

Fixed.

> > > speech-dispatcher-devel.i386: W: no-documentation
> > > speech-dispatcher-python.i386: W: no-documentation
> > 
> > Is this warning very important, as most of the documentation has been included
> > in a separate doc pacakge?
> 
>   - As in comment 24, I didn't mention this issue (i.e. not important)

Cool :-)


@Kyle VanderBeek - Thanks for the tweaks :-). I have incorporated them!

Thanks,
Hemant
(prays there are no more errors :P)
Comment 36 Mamoru TASAKA 2008-06-07 13:29:09 EDT
Before checking -8:

(In reply to comment #35)

> (In reply to comment #31)
> > * First of all this does not build.
> >   http://koji.fedoraproject.org/koji/taskinfo?taskID=650399
> >   - Again please fix %_infodir/dir issue
> 
> Hmmm, I have included the file, but rpmlint reports an error on doc package
> 
> =================================================================
> speech-dispatcher-doc.i386: E: info-dir-file /usr/share/info/dir
> =================================================================

  - No! This file must be removed. You must explicitly write
------------------------------------------------------------------
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
------------------------------------------------------------------
    Please upload your srpm with this issue fixed (with release -9).
    Then I will check another issue.
Comment 37 Hemant Goyal 2008-06-08 13:20:06 EDT
(In reply to comment #36)

>   - No! This file must be removed. You must explicitly write
> ------------------------------------------------------------------
> rm -f $RPM_BUILD_ROOT%{_infodir}/dir
> ------------------------------------------------------------------

Aaah I see.. Okay done now.

The relevant links are : 
SPEC File for revision 8 -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-9.fc7.src.rpm
Comment 38 Mamoru TASAKA 2008-06-09 13:32:28 EDT
For -9:

* Source file
--------------------------------------------------------------
1038719 2008-02-16 15:54
speech-dispatcher-0.6.6-7.fc7/speech-dispatcher-0.6.6.tar.gz
1039765 2008-06-08 00:04
speech-dispatcher-0.6.6-9.fc7/speech-dispatcher-0.6.6.tar.gz
--------------------------------------------------------------

* Requires(preun) duplicates
--------------------------------------------------------------
Requires(preun): /sbin/chkconfig /sbin/service /sbin/install-info initscripts
--------------------------------------------------------------
  - Here "/sbin/service" and "initscripts" are duplicates.

* _sourcedir, %_builddir
--------------------------------------------------------------
cp %{_sourcedir}/speech-dispatcherd .
iconv -f WINDOWS-1252 -t UTF-8
%{_builddir}/%{name}-%{version}/doc/speech-dispatcher-cs.info >
%{_builddir}/%{name}-%{version}/doc/speech-dispatcher-cs.info
--------------------------------------------------------------
  - Please don't use %_sourcedir, %_builddir
    * Don't use %_sourcedir but specify source files by %SOURCEx as
--------------------------------------------------------------
install -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/
--------------------------------------------------------------
      This is a must.
      ("cp"ing %SOURCE1 to %_builddir is not needed, just install
       directly. Also please don't forget to add "-p" when using
       cp or install)

   - Also, when %setup is done, the working directory is
     %{_builddir}/%{name}-%{version}, so just
--------------------------------------------------------------
iconv -f WINDOWS-1252 -t UTF-8 speech-dispatcher-cs.info > ...
--------------------------------------------------------------
     is sufficient.

* iconv usage
  - Then
--------------------------------------------------------------
iconv -f ... -t .... speech-dispatcher-cs.info > speech-dispatcher-cs.info
--------------------------------------------------------------
    as you write now destroys this info file.

* INSTALL= option on make install
--------------------------------------------------------------
	make install DESTDIR=$RPM_BUILD_ROOT -p
--------------------------------------------------------------
  - This is wrong ("-p" is treated just as a option of make, see
    "man make", also please check build log to see what is happening).
    (This executes "make" command, not "install" command)

(In reply to comment #31)
>   - To keep timestamps on installed files, please use
> --------------------------------------------------------------
> make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
> --------------------------------------------------------------

* Macros in %changelog
--------------------------------------------------------------
* Sun Jun 08 2008    Hemant Goyal <goyal.hemant@gmail.com> 0.6.6-9
- removed %{_infodir}/dir file
--------------------------------------------------------------
  - "rpm -q --changelog speech-dispatcher" shows that this 
     %{_infodir} macro is expanded, which should not be. To avoid
     macros expansion, please use %%, i.e.
--------------------------------------------------------------
- removed %%{_infodir}/dir file
--------------------------------------------------------------
     for example.

(In reply to comment #35)
> One error however:
> The script works perfectly when I start it, however after that I consistently
> receive 
> 
> ==========================================
> speech-dispatcherd dead but subsys locked
> ==========================================
> 
> I must manually remove the lockfile to resolve this error. Cannot figure out
> what is wrong here :-?
  - daemon name is wrong ;)
    From %_initrddir/speech-dispatcherd:
---------------------------------------------------------------
    11  exec="/usr/bin/speech-dispatcher"
    12  prog="speech-dispatcherd"
---------------------------------------------------------------

   - Also "speech-dispatcher -d" seems to create 
     %{_localstatedir}/run/speech-dispatcher.pid, however
     "service speech-dispatcher stop" does not delete this file, which
     needs fixing.
Comment 39 Hemant Goyal 2008-06-17 11:28:58 EDT
> * Source file
> --------------------------------------------------------------
> 1038719 2008-02-16 15:54
> speech-dispatcher-0.6.6-7.fc7/speech-dispatcher-0.6.6.tar.gz
> 1039765 2008-06-08 00:04
> speech-dispatcher-0.6.6-9.fc7/speech-dispatcher-0.6.6.tar.gz
> --------------------------------------------------------------

Okay this is perhaps because the (cs).info file is destroyed.

> * Requires(preun) duplicates

Fixed now.

> * _sourcedir, %_builddir
> --------------------------------------------------------------
> install -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/
> --------------------------------------------------------------

Okay now it is fixed.

> --------------------------------------------------------------
> iconv -f ... -t .... speech-dispatcher-cs.info > speech-dispatcher-cs.info
> --------------------------------------------------------------
>     as you write now destroys this info file.

I have written to the speech-dispatcher community to find the correct encoding
of this file. I think I am not able to correctly determine the encoding of the
(cs) file which is resulting in the file's corruption.

> (In reply to comment #31)
> >   - To keep timestamps on installed files, please use
> > --------------------------------------------------------------
> > make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
> > --------------------------------------------------------------

Fixed.

> * Macros in %changelog
> --------------------------------------------------------------
> - removed %%{_infodir}/dir file
> --------------------------------------------------------------
>      for example.

Okay i have fixed it for all macro occurrences in the changelog.

> > ==========================================
> > speech-dispatcherd dead but subsys locked
> > ==========================================
>    - Also "speech-dispatcher -d" seems to create 
>      %{_localstatedir}/run/speech-dispatcher.pid, however
>      "service speech-dispatcher stop" does not delete this file, which
>      needs fixing.

Hmm, right I have modified the init script and instructed speech-dispatcher to
create the pid file in /var/lock/subsys/$prog now. Start/stop/restart etc are
now functioning as expected.

i have named the prog speech-dispatcherd on purpose to distinguish between the
binary and daemon. (if thats what you mean by daemon is wrong?)
 
There was a problem with the logs being outputted on the console every time. So
I have modified speechd.conf (/etc/speech-dispatcher/speechd.conf) for two things:

1] Changed the log directory to /var/log/
2] Starting only espeak module by default.

(Please see the speechd.patch attached.)

Thanks!
Comment 40 Hemant Goyal 2008-06-17 11:29:44 EDT
Created attachment 309625 [details]
patch for speechd configuration file
Comment 42 Hemant Goyal 2008-06-18 07:03:11 EDT
%changelog

* Wed Jun 18 2008    Hemant Goyal <goyal.hemant@gmail.com> 0.6.6-11

- fixed encoding of speech-dispatcher-cs.info file to UTF-8

SPEC File for revision 11 -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-11.fc7.src.rpm
Comment 43 Mamoru TASAKA 2008-06-18 13:48:29 EDT
Created attachment 309770 [details]
Slightly modified init script

For -11:

* Source tarball
(In reply to comment #39)
> > * Source file
> > --------------------------------------------------------------
> > 1038719 2008-02-16 15:54
> > speech-dispatcher-0.6.6-7.fc7/speech-dispatcher-0.6.6.tar.gz
> > 1039765 2008-06-08 00:04
> > speech-dispatcher-0.6.6-9.fc7/speech-dispatcher-0.6.6.tar.gz
> > --------------------------------------------------------------
> 
> Okay this is perhaps because the (cs).info file is destroyed.

  - It is not the point. The problem is that you are not using the source
    tarball written as %SOURCE0.
------------------------------------------------------------------
1038719 2008-02-13 19:31 speech-dispatcher-0.6.6.tar.gz
1039765 2008-06-08 00:04
speech-dispatcher-0.6.6-11.fc7/speech-dispatcher-0.6.6.tar.gz
------------------------------------------------------------------
    The former is what I downloaded from the URL written as %SOURCE0
    The latter is what you are using now, please don't.

  - Also, change the permissions of the file in srpm (i.e. %SOURCEx)
    to 0644.

* iconv
> > --------------------------------------------------------------
> > iconv -f ... -t .... speech-dispatcher-cs.info > speech-dispatcher-cs.info
> > --------------------------------------------------------------
> >	as you write now destroys this info file.
> 
> I have written to the speech-dispatcher community to find the correct
encoding
> of this file. I think I am not able to correctly determine the encoding of
the
> (cs) file which is resulting in the file's corruption.

  - The corruption is not due to the reason you wrote here.
    The reason is that iconv does not support redirection to its original
    file directory (which you modified in -11).

    So now iconv usage is okay, however build log says:
-------------------------------------------------------------------
   754		if /bin/sh
/builddir/build/BUILD/speech-dispatcher-0.6.6/missing --run makeinfo   -I . \
   755		 -o speech-dispatcher-cs.info speech-dispatcher-cs.texi; \
   756		then \
   757		  rc=0; \
   758		  cd .; \
   759		else \
   760		  rc=$?; \
   761		  cd . && \
   762		  $restore $backupdir/* `echo "./speech-dispatcher-cs.info" |
sed 's|[^/]*$||'`; \
   763		fi; \
   764		rm -rf $backupdir; exit $rc
   765	/builddir/build/BUILD/speech-dispatcher-0.6.6/missing: line 52:
makeinfo: command not found
   766	WARNING: `makeinfo' is missing on your system.	You should only need it
if
   767		 you modified a `.texi' or `.texinfo' file, or any other file
   768		 indirectly affecting the aspect of the manual.  The spurious
   769		 call might also be the consequence of using a buggy `make'
(AIX,
   770		 DU, IRIX).  You might want to install the `Texinfo' package or

   771		 the `GNU make' package.  Grab either from any GNU archive
site.
-------------------------------------------------------------------
    Now BuildRequires: makeinfo is missing.

* Macros expansion in %changelog
> > * Macros in %changelog
> > --------------------------------------------------------------
> > - removed %%{_infodir}/dir file
> > --------------------------------------------------------------
> >	 for example.
> 
> Okay i have fixed it for all macro occurrences in the changelog.

  - Actually more fixes are needed. Please use "rpmlint"
------------------------------------------------------------------
speech-dispatcher.src:279: W: macro-in-%changelog version
------------------------------------------------------------------

* Initscripts
  - Current initscript seems good, however as I guess showing the status
    to terminal is preferred, I modified your script a bit.

> i have named the prog speech-dispatcherd on purpose to distinguish between
the
> binary and daemon. (if thats what you mean by daemon is wrong?)
  - Sorry, for this part it seems I was just being confused.
Comment 44 Mamoru TASAKA 2008-06-18 13:53:42 EDT
By the way, as this is NEEDSPONSOR ticket, please re-read
my comment 23 ( NOTE: Before being sponsored: )
Comment 45 Hemant Goyal 2008-06-20 05:23:13 EDT
Hi,

SPEC File for revision 12 -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher.spec

SRPM -
http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcher-0.6.6-12.fc7.src.rpm

(In reply to comment #43)
> Created an attachment (id=309770) [edit]
> Slightly modified init script

Thanks for the modification :)

> For -11:
> 
> * Source tarball
> (In reply to comment #39)

> ------------------------------------------------------------------
> 1038719 20013 19:31 speech-dispatcher-0.6.6.tar.gz
> 1039765 2008-06-08 00:04
> speech-dispatcher-0.6.6-11.fc7/speech-dispatcher-0.6.6.tar.gz
> ------------------------------------------------------------------

OH okay, now I am using the correct tarball as available online.

>   - Also, change the permissions of the file in srpm (i.e. %SOURCEx)
>     to 0644.

I have changed the permissions of the following files to 0644:

1] speech-dispatcher-0.6.6.tar.gz
2] speech-dispatcher.spec
3] speechd.patch
4] speech-dispatcherd (with execute capability however)


>     Now BuildRequires: makeinfo is missing.

Okay had to add BuildRequire : texinfo for makeinfo

>   - Actually more fixes are needed. Please use "rpmlint"
> ------------------------------------------------------------------
> speech-dispatcher.src:279: W: macro-in-%changelog version
> ------------------------------------------------------------------

Yes :) I did not spot a few macros. (should ve run rpmlint before reporting back)

> * Initscripts
>   - Current initscript seems good, however as I guess showing the status
>     to terminal is preferred, I modified your script a bit.

Alright great! I have incorporated your changes.

Note : I build the SRPM on my box by commenting BuildRequires : ibmtts-devel
I am not sure how to obtain the RPM for this. (Although there is some mention of
an RPM for this here :
http://ibmtts-sdk.sourceforge.net/howto-make-gnome-speech-ibmtts-rpm.html)
I hope this does not have an undesirable effect?

(In reply to comment #44)

Yes, I am aware. I wrote two pre-reviews (#448458, #448292) and I will write
more detailed reviews now that I guess the speech-dispatcher package is in shape.

Furthermore, I have also created an FAS account "hemantg"and have requested
membership for cvsextras group.
Comment 46 Mamoru TASAKA 2008-06-20 11:51:08 EDT
(In reply to comment #45)
For -12:

> >   - Also, change the permissions of the file in srpm (i.e. %SOURCEx)
> >     to 0644.
> 
> I have changed the permissions of the following files to 0644:
> 4] speech-dispatcherd (with execute capability however)

  Please also change this (speech-dispatcherd) to 0644 permission.
  You can safely do this because anyway you set the permission to
  0755 on installation:
-----------------------------------------------------------------------------
install -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/
-----------------------------------------------------------------------------
  (please fix this when you import this package to Fedora CVS)

 
> Yes, I am aware. I wrote two pre-reviews (#448458, #448292) 
  Well actually I reviewed bug 448292 (fbpanel) and your comment
  1 was very proper, however I didn't notice that _you_ wrote the comment
  :)

Okay.
----------------------------------------------------------------------------
          This package (speech-dispatcher) is APPROVED by me
----------------------------------------------------------------------------

Please follow the procedure written on:
http://fedoraproject.org/wiki/PackageMaintainers/Join

Now I am sponsoring you.

If you want to import this package into Fedora 8/9, you also have
to look at
http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem/Bodhi-info-DRAFT
(after once you rebuilt this package on koji Fedora rebuilding system).

If you have questions, please ask me.
Comment 47 Mamoru TASAKA 2008-06-20 13:56:53 EDT
(In reply to comment #45)
By the way:

 
> Note : I build the SRPM on my box by commenting BuildRequires : ibmtts-devel
> I am not sure how to obtain the RPM for this. (Although there is some mention of
> an RPM for this here :
> http://ibmtts-sdk.sourceforge.net/howto-make-gnome-speech-ibmtts-rpm.html)
> I hope this does not have an undesirable effect?

Well, perhaps I don't correctly understand what you mean by "this
does not have an undesirable effect?"...
Comment 48 Hemant Goyal 2008-06-23 10:23:18 EDT
New Package CVS Request
=======================
Package Name: speech-dispatcher
Short Description: Common interface to different TTS engines
Owners: hemantg
Branches: OLPC-2
InitialCC:
Cvsextras Commits: yes
Comment 49 Hemant Goyal 2008-06-23 10:34:20 EDT
(In reply to comment #47)

> > Note : I build the SRPM on my box by commenting BuildRequires : ibmtts-devel
> > I am not sure how to obtain the RPM for this. (Although there is some mention of
> > an RPM for this here :
> > http://ibmtts-sdk.sourceforge.net/howto-make-gnome-speech-ibmtts-rpm.html)
> > I hope this does not have an undesirable effect?
> 
> Well, perhaps I don't correctly understand what you mean by "this
> does not have an undesirable effect?"...

ibmtts is not freely available. Hence I need to comment out
BuildRequires:ibm_tts when I build the package. Otherwise I get the following
error: 

=====================================================================
error: Failed build dependencies:
        ibmtts-devel is needed by speech-dispatcher-0.6.6-13.fc7.i386
=====================================================================

So I was wondering if this could be a problem when I build in koji.

And thank you for sponsoring me :-)
Comment 50 Mamoru TASAKA 2008-06-23 10:46:25 EDT
(In reply to comment #49)
> (In reply to comment #47)
> > Well, perhaps I don't correctly understand what you mean by "this
> > does not have an undesirable effect?"...
> 
> ibmtts is not freely available. Hence I need to comment out
> BuildRequires:ibm_tts when I build the package. Otherwise I get the following
> error: 
> 
> =====================================================================
> error: Failed build dependencies:
>         ibmtts-devel is needed by speech-dispatcher-0.6.6-13.fc7.i386
> =====================================================================
> 
> So I was wondering if this could be a problem when I build in koji.

Actually I was building this on koji when reviewing :)
http://koji.fedoraproject.org/koji/taskinfo?taskID=672900
Comment 51 Kevin Fenzi 2008-06-23 11:26:27 EDT
cvs done. 

Did you also want a OLPC-3 branch? Feel free to add a new request and set
fedora-cvs to ? when you do. 
Comment 52 Hemant Goyal 2008-06-24 01:16:15 EDT
Thanks Kevin.

Yes I need an OLPC-3 branch as well :) It was not mentioned in the
CVSAdminProcedures page hence I refrained from asking.

Package Change Request
======================
Package Name: speech-dispatcher
[New Branches: ] OLPC-3
Comment 53 Hemant Goyal 2008-06-24 01:25:45 EDT
Kevin I am sorry for the confusion.

Kindly disregard the last change request.

Package Change Request
======================
Package Name: speech-dispatcher
[New Branches: ] OLPC-3 F-7 F-8 (ie in addition to OLPC-2)

(In reply to comment #52)
> Thanks Kevin.
> 
> Yes I need an OLPC-3 branch as well :) It was not mentioned in the
> CVSAdminProcedures page hence I refrained from asking.
> 
> Package Change Request
> ======================
> Package Name: speech-dispatcher
> [New Branches: ] OLPC-3

Comment 54 Kevin Fenzi 2008-06-24 20:12:37 EDT
We no longer do F-7 branches. ;( 
Also, if you are doing F-8, you should really also do F-9 so there is a good
upgrade path.

Shall I make OLPC-3 F-8 F-9 for you? 
Comment 55 Hemant Goyal 2008-06-25 01:01:45 EDT
Hi Kevin,

(In reply to comment #54)
> We no longer do F-7 branches. ;( 

Oh okay.

> Shall I make OLPC-3 F-8 F-9 for you? 

Yeah that will be fine :-). Best to make this package available to as many users
as possible :). Thanks for the suggestion!

Best,
Hemant

Comment 56 Kevin Fenzi 2008-06-25 14:10:51 EDT
cvs done.
Comment 57 Hemant Goyal 2008-06-27 03:55:54 EDT
Hi Mamoru,

I was building for F-8 on Koji
http://koji.fedoraproject.org/koji/taskinfo?taskID=682970, and the build does
not seem to execute.

There is no information in build.log which can help me figure out what could be
wrong..

It just shows this :

==============================================================================
ENTER do(['bash', '--login', '-c', 'rpmbuild -bs --target i386 --nodeps
builddir/build/SPECS/speech-dispatcher.spec'], False,
'/var/lib/mock/dist-f8-build-211694-37279/root/', None, 0, True, 0, 101, 102,
None, logger=<mock.trace_decorator.getLog object at 0x2aaab1095f50>)
Executing command: ['bash', '--login', '-c', 'rpmbuild -bs --target i386
--nodeps builddir/build/SPECS/speech-dispatcher.spec']
sh: /usr/bin/python: No such file or directory
sh: /usr/bin/python: No such file or directory
warning: Could not canonicalize hostname: x86-3
Building target platforms: i386
Building for target i386
Wrote: /builddir/build/SRPMS/speech-dispatcher-0.6.6-13.fc8.src.rpm
LEAVE do --> 
=============================================================================

I expect it to proceed forward from LEAVE do -->  but it just fails?

Any hints?

Thanks,
Hemant
Comment 58 Mamoru TASAKA 2008-06-27 04:03:24 EDT
Please check root.log when you see "mock exited with status 10" or "status 30".
----------------------------------------------------------------
DEBUG util.py:250:  No Package Found for dotconf-devel
----------------------------------------------------------------

It seems that dotconf is available only on F-9+ and OLPC2+.
Comment 59 Mamoru TASAKA 2008-07-13 09:39:04 EDT
For F-9/F-8, packages are not pushed to the repositories automatically.
Please visit
https://admin.fedoraproject.org/updates/
and submit requests to push speech-dispatcher rpms to the repositories, then close
this bug as NEXTRELEASE.
Comment 60 Mamoru TASAKA 2008-07-13 10:57:40 EDT
Thanks!
Comment 61 Hemant Goyal 2008-07-13 14:16:36 EDT
Hi,

I need to do some conditional building for the OLPC-2 and OLPC-3 branches. For
example I want to build without pulseaudio and nas support for OLPC. So I would
like to remove the BUildRequires for nas and pulseaudio and also disable support
for nas and pulse-audio.

How can I go about detecting that I am building for the OLPC branch?

I tried a few scratch builds with KOJI for the following SRPM : 
http://koji.fedoraproject.org/koji/getfile?taskID=712818&name=speech-dispatcher-0.6.6-14.olpc2.src.rpm

It built successfully for the OLPC branch.

However, it failed for the F-9 branch with the following error:
*** Required Glib-2.0 library missing! See INSTALL .

This is how I am detecting that I am building for OLPC-2/3:

%if 1%{?olpc} >= 2
Buildrequires:	nas-devel
Buildrequires:	pulseaudio-lib-devel
%endif

And this is how I should be forcing to build without nas/pulse-audio support
although its a little different in the actual SRPM that I submitted for scratch
build):

%if 1%{?olpc} >= 2
%configure --disable-static
make %{?_smp_mflags}
%else
%configure --disable-static --without-nas --without-pulse
make %{?_smp_mflags}
%endif

Am I detecting the olpc branch correctly? Or is there some other problem?

Thanks,
Hemant
Comment 62 Mamoru TASAKA 2008-07-17 07:46:11 EDT
Oops, I have forgotton your previous mail. So, if you still have a problem,
would you write it again?
Comment 63 Hemant Goyal 2008-07-17 08:08:01 EDT
hi mtasaka. No i resolved it by checking in the IRC :). Thanks a lot for
checking again however.

If you could, please look at #454921. I need to build this small package for my
project as well.

Thanks!
Hemant
Comment 64 Hemant Goyal 2008-07-23 10:17:44 EDT
Hi Mamoru,

I tried a scratch build of speech-disptcher for devel branch.
http://koji.fedoraproject.org/koji/taskinfo?taskID=734056

I am getting this error :
=================================================================================
DEBUG util.py:250:  Error: Missing Dependency: libraw1394.so.8()(64bit) is
needed by package libfreebob
==================================================================================

The package builds on all other branches (OLPC, Fedora 8,9). I tried to get
around the problem by using :

--------------------------------------------------------------------------------
%if 0%{?fedora} > 9
BuildRequires:  libraw1394
%endif
--------------------------------------------------------------------------------

But it fails. Any ideas?

Thanks!
Hemant
Comment 65 Mamoru TASAKA 2008-07-23 11:14:45 EDT
Well, Currently

- libfreebob is needed by jack-audio-connection-kit
- jack-audio-connection-kit is needed by portaudio
- portaudio is needed by espeak
- espeak is needed by espeak-devel
- You have "BR: espeak-devel"

- And currently on rawhide libfreebob has depdendency problem due to 
  libraw1394 soname bump.

So you don't have to add "BR: libraw1394" (rather please remove this!). Please
just wait
until dependency problem on libfreebob is fixed or file a bug against libfreebob to
tell the maintainer to rebuild against new libraw1394.
  
Comment 66 Mamoru TASAKA 2008-07-24 13:02:36 EDT
Please retry. Perhaps it is okay now. Again closing.

Note You need to log in before you can comment on or make changes to this bug.