Bug 580830

Summary: Review Request: Clish - Command Line Interface Shell
Product: [Fedora] Fedora Reporter: Devil Wang <wxjeacen>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, me, notting, wxjeacen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://clish.sourceforge.net/
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A modular framework for implementing a CISCO-like CLI on a *NIX system. Arbitary command menus and actions can be defined using XML files. This software handles the user interaction, and forks the appropriate system commands to perform any actions.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-15 16:06:17 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 201449    

Description Devil Wang 2010-04-09 04:01:07 EDT
Spec URL: <https://fedoraproject.org/w/uploads/e/e1/Clish.spec>
SRPM URL: <https://fedoraproject.org/wiki/File:Clish-0.7.3-1.fc13.src.rpm>
Description: <A modular framework for implementing a CISCO-like CLI on a *NIX system. Arbitary command menus and actions can be defined using XML files. This software handles the user interaction, and forks the appropriate system commands to perform any actions. >
Comment 1 Devil Wang 2010-04-09 04:06:57 EDT
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.

New Contents:
A modular framework for implementing a CISCO-like CLI on a *NIX system. Arbitary command menus and actions can be defined using XML files. This software handles the user interaction, and forks the appropriate system commands to perform any actions.
Comment 2 Terje Røsten 2010-04-11 11:03:02 EDT
Some comments:

# Summary:        Command Line Interface
That's seems a bit short.

# Group:         Applications
Wrong, might be System Environment/Shells

# License:       GPL 
Wrong, must specify version GPL v1, v2 or v3?

# URL:            
Please fill in.

# Source0:  	http://sourceforge.net/projects/clish/files/clish/0.7.3/%{name}-%{version}.tar.gz   
Wrong, ref: https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net

# BuildRequires:  autoconf
# BuildRequires:  automake
# BuildRequires:  libtool

Is those needed?

# %description
# 			Command Line Interface
# A modular framework for implementing a CISCO-like CLI on a *NIX system. 
# Arbitary command menus and actions can be defined using XML files. This
#  software handles the user interaction, and forks the appropriate system 
# commands to perform any actions. 
# 

Too long line, keep < 80 chars.

# %install
# rm -rf $RPM_BUILD_ROOT
# make install DESTDIR=$RPM_BUILD_ROOT

Add INSTALL="install -p" to preserve timestamps

# install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/clish
# install -m 775 xml-examples/* ${RPM_BUILD_ROOT}%{_sysconfdir}/clish/

ditto.

# %files
# %defattr(644,root,root,755)

use %defattr(-,root,root,-)

# %doc 

Empty?

# %attr(755,root,root) %{_libdir}/lib*.so.*.*
# %attr(755,root,root) %{_bindir}/*
# %attr(755,root,root) %{_libdir}/lib*.so
# %attr(755,root,root) %{_libdir}/lib*.so.*

Remove %attr and list files a bit more explicit.
 
# %{_libdir}/lib*.la

Don't include la files, remove in install

# %{_includedir}/clish/*.h
# %{_includedir}/lub/*.h
# %{_includedir}/tinyrl/*.h
# %{_includedir}/tinyxml/*.h

Move to devel subpackage

# %{_libdir}/lib*.a
Don't include a files, remove in install

%{_sysconfdir}/clish/*.xml
%{_sysconfdir}/clish/*.txt
%{_sysconfdir}/clish/README
%{_sysconfdir}/clish/*.am

I would prefer only *.xml here 
(real config files in /etc, for documentation use %doc)

# %define date    %(echo `LC_ALL="C" date +"%a %b %d %Y"`)

A new one, please remove and use the common pattern.

# %changelog
# * %{date}   Devil Wang <wxjeacen  at fedoraproject.org>
# - Initial Introduction	<wxjeacen AT,gmail.com>

Not according to guidelines.
Comment 3 Devil Wang 2010-04-16 07:24:30 EDT
Spec URL: <https://fedoraproject.org/w/uploads/e/e1/Clish.spec>
SRPM URL: <https://fedoraproject.org/wiki/File:Clish-0.7.3-1.fc13.src.rpm>

I have updated the SPEC and  SRC-RPM files .

and hope it works.

you can verify the package according to the urls marked before.

Thanks & Regards

Devil_Wang
Comment 4 Caius Chance 2010-04-23 10:03:16 EDT
Okay, as you are not a packager yet, I couldn't do the whole process for getting you to be a Fedora Packager. All I am doing as follows are prereview to get your package closer to be approved:

(In reply to comment #3)
> Spec URL: <https://fedoraproject.org/w/uploads/e/e1/Clish.spec>

* Why your description is shorter than the Summary? Description should be more detail instead by common sense (or at least same amount of content).

* At %configure, have you put --prefix=/usr ? (that should be a macro which could help).
Comment 5 Caius Chance 2010-04-23 10:06:12 EDT
# %description
#    Command Line Interface
# A modular framework for implementing a CISCO-like CLI on a *NIX system. 
# Arbitary command menus and actions can be defined using XML files. This
#  software handles the user interaction, and forks the appropriate system 
# commands to perform any actions. 
# 

Tejie: Too long line, keep < 80 chars.

What Terje said was "the width of each line should be less than 80 chars, but not just cut off the contents from the 2nd line.
Comment 6 Devil Wang 2010-04-23 10:53:23 EDT
In my opinion, the prefix /usr/ is the default parameter for configure .

so , there is no need to add this parameter after configure.

And , I will update the SPEC file for clish package as soon as quickly in session of Describe to add more info about this software.
Comment 7 Terje Røsten 2010-04-25 13:26:34 EDT
The use of %configure is correct, no need to add --prefix.

The updated spec looks better, however please add a proper changelog so it's
possible to follow what you have done.
Comment 8 Devil Wang 2010-04-25 21:57:45 EDT
Cause the lasted SPEC did not modify any source code or patches , We can assume the lasted SPEC as the origin SPEC.

So , there is no use to update the changelog for further.

One more question , if my package could be pushed in to the yum list or some other source list for further checking now?
Comment 9 Andrea Musuruane 2010-04-26 05:40:40 EDT
(In reply to comment #8)
> Cause the lasted SPEC did not modify any source code or patches , We can assume
> the lasted SPEC as the origin SPEC.
> 
> So , there is no use to update the changelog for further.

Yes there is. Any time you change something, even the SPEC file, you must bump the release number and update the changelog. Otherwise it is very difficult to follow what you are doing.
Comment 10 Michael Schwendt 2010-04-26 05:42:54 EDT
* http://fedoraproject.org/wiki/Packaging/UnownedDirectories

* The explicit "ldconfig" dependency for the -devel package is not needed and not true:
>
> Requires: %{name} = %{version}-%{release}, ldconfig

* The package descriptions are very poor:
>
> %description
> Command Line Interface. 

> %description devel 
> Develop Libraries and head files for Clish
Comment 11 Devil Wang 2010-04-26 11:20:18 EDT
update for new SPEC file and new srpm file


Spec URL:
<http://dl.dropbox.com/u/6190834/Clish%20Package/clish.spec>

SRPM URL: 
<https://fedoraproject.org/wiki/File:Clish-0.7.3-2.fc13.src.rpm>
Comment 12 Jason Tibbitts 2010-12-22 14:52:50 EST
The package fails to build.  Please clear the whiteboard if providing a package which builds.

/bin/sh ./libtool --tag=CXX --mode=link g++  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -o bin/clish  bin/clish.o libclish.la -ltinyrl -ltinyxml -llub -lpthread  
/usr/bin/ld: cannot find -ltinyrl
/usr/bin/ld: cannot find -ltinyxml
/usr/bin/ld: cannot find -llub
collect2: ld returned 1 exit status
make[1]: *** [bin/tclish] Error 1

You should always do either a local mock build or a koji scratch build of every package you submit.  Here's a failing scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2685087

In addition, please do not attach source packages to the wiki; it's really not a general file transfer service.