Bug 195420 - Review Request: clips - Tools for developing expert systems
Summary: Review Request: clips - Tools for developing expert systems
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
(Show other bugs)
Version: rawhide
Hardware: All Linux
Target Milestone: ---
Assignee: Gérard Milmeister
QA Contact: Fedora Package Reviews List
: 195421 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2006-06-15 04:40 UTC by Rick L Vinyard Jr
Modified: 2009-02-27 00:04 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-07-01 03:29:52 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
kevin: fedora-cvs+

Attachments (Terms of Use)

Description Rick L Vinyard Jr 2006-06-15 04:40:23 UTC
Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.23-1.src.rpm


CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985 by NASA, CLIPS is now widely used throughout the government, industry, and academia.

The public domain release of CLIPS by NASA contains code to create the clips
command line interpreter and xclips, an X11 CLIPS gui.

This package contains a patch for Linux released under the GPLv2 that does the following:
 - Adds autotool support to build libclips as a libtool library. This library can be used to build embedded CLIPS applications.

 - Builds clips and xclips as applications linked against libclips rather than statically including the clips code

 - Installs the proper clips headers for developing embedded CLIPS applications under /usr/include/clips-6.23

 - Clean up some minor code points that prevented 6.23 from compiling under Linux

Since the original code was released into the public domain, and I have released the Linux patch under GPLv2 I have set the License tag as GPL.

Comment 1 Jason Tibbitts 2006-06-15 13:25:23 UTC
*** Bug 195421 has been marked as a duplicate of this bug. ***

Comment 2 Gérard Milmeister 2006-06-15 17:03:00 UTC
Missing BuildReq: libXt-devel, libXaw-devel, maybe others
This is on FC5, on FC6 these may possibly be sucked in xorg-x11-proto-devel.

Comment 3 John Mahowald 2006-06-15 17:45:12 UTC
"Others" includes libXext-devel and libXmu-devel.

Built against devel, probably not going to avoid these.

Comment 4 Rick L Vinyard Jr 2006-06-16 04:17:24 UTC
Thanks for the input... and I'm really glad to hear it built against devel.

Added libXt-devel, libXext-devel and libXmu-devel to BuildRequires (libXaw-devel
was already in there).

Here's the new files:
Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.23-2.src.rpm

Comment 5 Gérard Milmeister 2006-06-16 07:27:03 UTC
Ok, builds fine now.

* rpmlint is silent on clips, clips-devel and clips-x11
  however on clips-debuginfo:
    E: clips-debuginfo script-without-shellbang
  simply chmod 0644 the sources files (in the %prep section for example)
* I used to bundle
  with the package. I think this would be helpful.
* xclips should have a .desktop file

Comment 6 Gérard Milmeister 2006-06-16 07:31:48 UTC
(In reply to comment #5)
> * xclips should have a .desktop file
Ok, sorry, I didn't see it.

Comment 7 Gérard Milmeister 2006-06-16 07:34:35 UTC
* Problem:
         CLIPS (V6.23 01/31/05)
CLIPS> (help)
Loading help file entries from /usr/share/clips/clips.hlp.
Please wait...
[TEXTPRO1] Could not open file "/usr/share/clips/clips.hlp".

same with xclips

* I would use XCLIPS instead of xclips as the name in the .desktop file

Comment 8 Gérard Milmeister 2006-06-16 07:41:31 UTC
* Doesn't bpg.pdf properly belong to the main package?
  It doesn't contain anything about the C interface, AFAIK.
* Is it really necessary to use /usr/include/clips-6.23/clips
  instead of just /usr/include/clips. I don't see there is
  much chance of parallel install of different versions of

Comment 9 Rick L Vinyard Jr 2006-06-17 19:30:37 UTC
Looks like there's a new 6.24 release of CLIPS. Here's a new spec and srpm for 
the new release that incorporates Gérard's feedback and adds the XCLIPS color 
utility built as xclips-color.

Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.24-1.src.rpm

Here's the changes:
- New release 6.24
- Changed desktop entry name from xclips to XCLIPS
- New autotools struture builds clips and xclips in separate directories
- Moved bpg.pdf to clips main package
- Added examples from AllExamples.tar.Z
- Moved clips.hlp to clips main package
- Remove xclips.desktop source and moved it into autotools patch
- Added build for xclips color utility as xclips-color
- Devel headers now install /usr/include/clips
- Autotools patch adds defines to find clips.hlp properly

Comment 10 Gérard Milmeister 2006-06-17 20:11:49 UTC
A few issues
* you can now change
  "Cflags: -I${includedir}/clips-6.24"
  "Cflags: -I${includedir}"
* "(help)" does not yet work. It seems that it tries to open
  "/usr/share/doc/clips-6.24" instead of "/usr/share/doc/clips-6.24/clisp.hlp"
* I know it is annoying, but clisp.hlp must go to /usr/share/clisp/clisp.hlp,
  since it is part of the correct functioning of the program. Remember that
  a package can be installed without the docs.

Comment 11 Rick L Vinyard Jr 2006-06-17 21:48:22 UTC
> * you can now change
>   "Cflags: -I${includedir}/clips-6.24"
>   to
>   "Cflags: -I${includedir}"

Ahh... missed that one.

As for the help file, I was testing directory expansion in autoconf and missed 
putting clips.hlp on the end of the string. I put handling of the location of 
clips.hlp into configure.in, and used the clips standard file usrsetup.h to 
define the autoconf location. That way autoconf can move the help file around 
and still handle it in a way that the clips source likes.

These files have a proper pkgconfig entry as well as the fixed help file define.

Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.24-2.src.rpm

Comment 12 Rick L Vinyard Jr 2006-06-17 23:45:54 UTC
Missed this part too.

> Remember that a package can be installed without the docs

This one has a little more proper patch that includes the clips.hlp file as well 
as treating the clips.hlp file as data rather than docs.

Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.24-3.src.rpm

Comment 13 Gérard Milmeister 2006-06-18 08:43:21 UTC
A few things:
* /usr/share/applications/fedora-xclips.desktop and 
  /usr/share/pixmaps/clips.png belong to clips-x11
* again, /usr/share/clips-6.24/clips.hlp doesn't need the version,
  furthermore /usr/share/clips must be owned by the package

and some suggestions:
* you might consider creating a package clips-libs that only
  contains the shared libraries in /usr/lib. clips-devel must
  then require clips-libs and clips-x11 must require clips, all
  other dependencies are automatic
* maybe rename clips-x11 to clips-xclips

Comment 14 Gérard Milmeister 2006-06-18 13:35:28 UTC
BTW: here is a clips mode for Emacs you might want to include:

Comment 15 Rick L Vinyard Jr 2006-06-18 22:05:07 UTC
I'd been thinking about splitting off a libs package anyway (since that was what 
actually motivated me to package CLIPS).

Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.24-5.src.rpm

- Created libs subpackage
- Renamed x11 subpackage to xclips
- Changed install location of clips.hlp in autotools patch
- Renamed clips.png to xclips.png
- Moved xclips.desktop and xclips.png to xclips subpackage
- Modified autotools patch to build xclips.desktop to keep version tag current
- Changed xclips Requires from %%{name} to clips to be more explicit

As for the Emacs mode, I wasn't sure exactly how to handle it. I'm guessing that 
the two .el files get dropped into /usr/share/emacs/site-lisp/, but what about 
the emacs-clips file?

Comment 16 Gérard Milmeister 2006-06-19 10:00:15 UTC
I think, clips-libs should contain only the necessary files, i.e.,
the documentation should probably go to clips-docs (maybe then
ALL docs can go to clips-docs). clips-libs contains
/usr/share/clips/clips.hlp alright, since this is required by
the shared libraries.
BTW the spec file in the src rpm is not exactly the same as the one
you posted, the one contains %{_datadir}/%{name}/clips.hlp, the other
%{_datadir}/%{name}. The latter is the correct one, of course.

clips-xclips does not need to depend on clips anymore.

The emacs files got to %{_datadir}/emacs/site-lisp.
However you must set (defvar inferior-clips-program "clips" ...
in the inf-clips.el file.
Then you drop a file clips-init.el into %{_datadir}/emacs/site-lisp/site-start.d
with the following content:
(autoload 'clips-mode "clips-mode" "Clips editing mode." t)
(autoload 'run-clips "inf-clips" "Run Clips." t)
(add-to-list 'auto-mode-alist '("\\.clp$" . clips-mode))

Add the files to the clips package using %{_datadir}/emacs/site-lisp
in the %files section.

Comment 17 Rick L Vinyard Jr 2006-06-22 04:54:22 UTC
Yup. docs subpackage is much cleaner.

Thanks for the help on the emacs stuff.

Here's the new files:

Spec URL: http://miskatonic.dyn-o-saur.com/pub/clips.spec
SRPM URL: http://miskatonic.dyn-o-saur.com/pub/fedora/5/srpms/clips-6.24-

And the changelog:
- Created docs subpackage
- Moved all pdf docs and examples into docs subpackage
- Removed Requires clips from xclips
- Added emacs mode to clips package

Comment 18 Ville Skyttä 2006-06-22 06:32:22 UTC
Documentation subpackages should be named -doc, not -docs.

Comment 19 Rick L Vinyard Jr 2006-06-23 02:14:16 UTC
Here's the latest version.

Spec URL: http://miskatonic.cs.nmsu.edu/pub/clips.spec
SRPM URL: http://miskatonic.cs.nmsu.edu/pub/fedora/5/srpms/clips-6.24-7.src.rpm

- Renamed docs subpackage to doc
- Changed pkgconfig .pc to use -L libdir -lclips in patch
- Added extern "C" and ifdef __cplusplus to clips.h in patch

Comment 20 Gérard Milmeister 2006-06-23 20:23:58 UTC
+ package meets naming and packaging guidelines
+ specfile is properly named, is cleanly written and uses macros consistently
+ dist tag is present
+ build root is correct
+ license field matches the actual license
+ license is open source-compatible
+ source files match upstream:
  ccba9d912375e57a1b7d9eba12da4198  clipssrc.tar.Z
+ latest version is being packaged.
+ BuildRequires are proper.
+ package builds in mock (i386).
+ rpmlint:
    W: clips no-documentation
    W: clips-devel no-dependency-on clips
    W: clips-devel no-documentation
    W: clips-xclips no-documentation
  these can be ignored.
+ shared libraries in clips-libs, ldconfig in %post and %postun
+ link libraries and include files in clips-devel
+ package is not relocatable.
+ owns the directories it creates
+ doesn't own any directories it shouldn't.
+ no duplicates in %files.
+ file permissions are appropriate.
+ %clean is present.
+ no scriptlets present.
+ docs are large, therefore -doc subpackage.
+ xclips is a GUI app, icon and .desktop file are included

this must be fixed:

? pkg-config clips-6 --libs results in:
    /usr/lib -L -lm -lclips
  replace "Libs: -lm -L ${libdir} -lclips"
  with "Libs: -lm -L${libdir} -lclips" (without the space)


Comment 21 Ralf Corsepius 2006-07-31 04:56:10 UTC
This package ships an autoheader generated header (/usr/include/clips/config.h).
This is an abuse of the autotools and will render this package unusable for any
package using autoconf-based configurations.

IMO, this package should not have been approved.

Comment 22 Rick L Vinyard Jr 2009-02-24 22:17:34 UTC
Package Change Request
Package Name: clips
New Branches: EL-5
Owners: rvinyard@cs.nmsu.edu

Comment 23 Kevin Fenzi 2009-02-27 00:04:23 UTC
cvs done.

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