Bug 316141 - Review Request: gridengine - Grid Engine - Distributed Computing Management software
Review Request: gridengine - Grid Engine - Distributed Computing Management s...
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-02 17:01 EDT by Orion Poplawski
Modified: 2008-02-08 17:31 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-02-08 17:31:30 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mtasaka: fedora‑review+
dennis: fedora‑cvs+


Attachments (Terms of Use)
rpmlint log for 6.1u3-1 binary rpms (16.92 KB, text/plain)
2008-02-01 10:42 EST, Mamoru TASAKA
no flags Details
A example spec file using %define afterwards (624 bytes, text/plain)
2008-02-02 07:35 EST, Mamoru TASAKA
no flags Details
Updated license text (1.02 KB, text/plain)
2008-02-08 12:11 EST, Mamoru TASAKA
no flags Details

  None (edit)
Description Orion Poplawski 2007-10-02 17:01:42 EDT
Spec URL: http://www.cora.nwra.com/~orion/fedora/gridengine.spec
SRPM URL: http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u2-1.fc8.src.rpm
Description:
In a typical network that does not have distributed resource management
software, workstations and servers are used from 5% to 20% of the time.
Even technical servers are generally less than fully utilized. This
means that there are a lot of cycles that can be used productively if
only users know where they are, can capture them, and put them to work.

Sun[tm] Grid Engine finds a pool of idle resources and harnesses it
productively, so an organization gets as much as five to ten times the
usable power out of systems on the network. That can increase utilization
to as much as 98%.

Sun Grid Engine software aggregates available compute resources and
delivers compute power as a network service.



I anticipate that this package will need a bit a work.  However, at this point
it would benefit the most from more people installing and testing.
Comment 1 manuel wolfshant 2007-10-02 20:41:47 EDT
Could you please chmod +r gridengine.spec ?
Comment 2 Orion Poplawski 2007-10-03 12:14:49 EDT
Whoops, sorry about that.  I've put updated versions there that build the drmaa
java stuff too.  Same release # at the moment, I'll start incrementing from here.
Comment 3 Orion Poplawski 2007-10-03 16:24:28 EDT
Current qmaster install intructions:

cd /usr/share/gridengine
edit my_configuration.conf and and modify the ADMIN_HOST_LIST, SUBMIT_HOST_LIST,
and EXEC_HOST_LIST as needed.
./install_qmaster -auto my_configuration.conf
chkconfig sgemaster on
service sgemaster start

On exec hosts, a simple:

chkconfig sgeexecd on
service sgeexecd start

should do the trick.  Probably need to add this to /etc/services:

sge_qmaster     6444/tcp   Grid Engine Qmaster Service
sge_qmaster     6444/udp   Grid Engine Qmaster Service
sge_execd       6445/tcp   Grid Engine Execution Service
sge_execd       6445/udp   Grid Engine Execution Service


You'll need to source /etc/profile.d/sge.sh or /etc/profile.d/sge.csh or get a
new shell after installing the packages to set SGE_ROOT so the commands work.
Comment 4 Orion Poplawski 2007-10-18 17:14:23 EDT
* Thu Oct 18 2007 - Orion Poplawski <orion@cora.nwra.com> - 6.1u2-2
- Cleanup arch handling
- Install qevent

http://www.cora.nwra.com/~orion/fedora/gridengine.spec
http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u2-2.fc8.src.rpm
Comment 5 Mamoru TASAKA 2007-11-12 06:55:25 EST
Well, while it is not sure I can review this package soon
(as I am also reviewing many packages....), just noting
that the rebuild failed on ppc/ppc64 (i386/x86_64 rebuild are
successful)

http://koji.fedoraproject.org/koji/taskinfo?taskID=236343
http://koji.fedoraproject.org/koji/taskinfo?taskID=236345
http://koji.fedoraproject.org/koji/taskinfo?taskID=236347
http://koji.fedoraproject.org/koji/taskinfo?taskID=236327
Comment 6 Orion Poplawski 2007-11-14 17:27:44 EST
* Mon Nov 12 2007 - Orion Poplawski <orion@cora.nwra.com> - 6.1u2-4
- Add patch and source for ppc/ppc64 builds

This should be fixed now.

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u2-4.fc8.src.rpm

http://koji.fedoraproject.org/koji/taskinfo?taskID=241942
Comment 7 Mamoru TASAKA 2007-11-15 10:30:50 EST
Well, seems not okay for dist-f9.
http://koji.fedoraproject.org/koji/taskinfo?taskID=243055
Any ideas? (I am not familiar with java...)
Comment 8 Orion Poplawski 2007-11-15 10:42:13 EST
I'm chalking it up to rawhide brokenness.  I'll ping the java list though...
Comment 9 Orion Poplawski 2007-11-15 13:34:17 EST
Fixed builds for devel

* Thu Nov 15 2007 - Orion Poplawski <orion@cora.nwra.com> - 6.1u2-5
- Add BR net-tools for hostname for java build on devel

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u2-5.fc8.src.rpm

http://koji.fedoraproject.org/koji/taskinfo?taskID=243332
Comment 10 Mamoru TASAKA 2007-11-16 04:10:27 EST
First:

!!! License issues !!!
From build.log, gridengine uses some files under
source/3rdparty/qmon which are licensed under GPLv2+.

This
- conflicts with the license of gridengine (SISSL)
- also conflicts with old BSD, used in files under
  source/3rdparty/qtcsh (some files under this directory
  seem to be used).
Comment 11 Mamoru TASAKA 2007-11-16 04:26:18 EST
I will suspend this review (if I review this package) until
the license issue is resolved.
Comment 12 Orion Poplawski 2007-11-16 14:38:42 EST
Tom - can you help us out here?

Main code base is SISSL.  Is that okay?  It BRs the following:

BuildRequires:  /bin/csh, openssl-devel, db4-devel, ncurses-devel, pam-devel
BuildRequires:  lesstif-devel, libXmu-devel, libXpm-devel
BuildRequires:  java-devel, ant-junit, javacc, ant-nodeps
BuildRequires:  elfutils-libelf-devel, net-tools

Under source/3rdparty there are some other things:

adoc: this is licensed under GPLv2+  (v1+?), but isn't actually built

fnmatch: BSD w/ Adv.  but not used.

qidl: ?, but not used.

qmake: Basically a copy of GNU make (GPLv2+) with remote-sge.c (GPLv2+ too)
added.  Nothing in gridengine links to it, it doesn't link to gridengine. 
Compiled to make "make", installed as "qmake".

qmon: 
  The main qmon code is part of gridengine under SISSL.  It links to the
following in 3rdparty/qmon:

  iconlist: BSD
  ltree: GPLv2+
  spinbox: 
 * Copyright 1994 Alastair Gourlay
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose and without fee is hereby granted, provided
 * that the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation.
  tab:
 * (c) 1997 Pralay Dakua (pkanti@hotmail.com)
 *
 * This is a free software and permission to use, modify, distribute,
 * selling and using for commercial purpose is hereby granted provided
 * that THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE
 * INCLUDED IN ALL COPIES AND THEIR SUPPORTING DOCUMENTATIONS.
  Xbae:
 * Copyright(c) 1992 Bell Communications Research, Inc. (Bellcore)
 * Copyright(c) 1995-99 Andrew Lister
 *
 *                        All rights reserved
 * Permission to use, copy, modify and distribute this material for
 * any purpose and without fee is hereby granted, provided that the
 * above copyright notice and this permission notice appear in all
 * copies, and that the name of Bellcore not be used in advertising
 * or publicity pertaining to this material without the specific,
 * prior written permission of an authorized representative of
 * Bellcore.
  Xmt310:
The Xmt "Motif Tools" library is licensed and
copyrighted as follows:
===============================================================================
       Copyright (c) 1992-2001, David Flanagan
       All rights reserved.

       Redistribution and use in source and binary forms, with or
       without modification, are permitted provided that the following
       conditions are met:

            Redistributions of source code must retain the above
            copyright notice, this list of conditions and the
            following disclaimer.

            Redistributions in binary form must reproduce the above
            copyright notice, this list of conditions and the
            following disclaimer in the documentation and/or other
            materials provided with the distribution.

            None of the names David Flanagan, davidflanagan.com, or
            motiftools.org, nor the names of its contributors may be
            used to endorse or promote products derived from this
            software without specific prior written permission.

qtcsh: tcsh (BSD w/ Adv) - links to source/libs/gdi/sge_qtcsh.c (SISSL) to make
qtcsh

remote: modified versions of rshd/rsh/rlogin (BSD w/adv) compiled but not link
to anything else in gridengine.


Comment 13 Tom "spot" Callaway 2007-11-17 11:26:08 EST
SISSL is GPL incompatible. You cannot have any SISSL code which links to GPL
code. Looking at the above summary, the ltree code linking to the rest of qmon
is a problem, but everything else seems ok. (Note: I have not done a code review)
Comment 14 Orion Poplawski 2007-11-18 12:57:27 EST
Sorry, ltree is LPGLv2+.  Is that okay?

Debian has begun an audit, but there isn't much info yet:
http://lists.alioth.debian.org/pipermail/pkg-gridengine-devel/2007-April/000009.html
Comment 15 Jason Tibbitts 2008-01-27 00:48:13 EST
Are we still blocked here?  There's still nothing out of Debian.
Comment 16 Orion Poplawski 2008-01-28 13:02:25 EST
Well, it seems with ltree really being LGPLv2+, comment #13 shouldn't apply, but
I'm not so clear on this.

Updated package:

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u3-1.fc8.src.rpm

* Wed Jan  9 2008 - Orion Poplawski <orion@cora.nwra.com> - 6.1u3-1
- Update to 6.1u3
- Split execd into sub-package
Comment 17 Mamoru TASAKA 2008-01-31 13:00:15 EST
I will recheck whole code later, however I may have did some misunderstanding.

(In reply to comment #16)
> Well, it seems with ltree really being LGPLv2+, comment #13 shouldn't apply, 
It seems so (from my quick glance). Anyway I will recheck the whole code.
Comment 18 Mamoru TASAKA 2008-02-01 08:57:35 EST
Well,

================================================================================
Whole license:			SISSL

source/3rdparty/adoc/		GPL+
source/3rdparty/fnmatch/	BSD with advertising
source/3rdparty/openssl/	OpenSSL
source/3rdparty/qidl/		copyright only

source/3rdparty/qmake/		GPL+
source/3rdparty/qmake/alloca.c	Public Domain?
source/3rdparty/qmake/amiga.c	GPLv2+
(and others)

source/3rdparty/qmon/Xbae/	MIT
source/3rdparty/qmon/Xmt310/	BSD
source/3rdparty/qmon/iconlist/	MIT
source/3rdparty/qmon/ltree/	LGPL+
source/3rdparty/qmon/spinbox/	MIT
source/3rdparty/qmon/tab/	MIT

source/3rdparty/qtcsh/		BSD with advertising
source/3rdparty/qtcsh/ma.setp.c		MIT

source/3rdparty/sge_depend/	MIT
source/3rdparty/snprintf/	the Frontier Artistic License
source/3rdparty/strptime/	BSD with advertising

source/scripts/ldAix		MIT

-------------------------------------------------------

source/3rdparty/adoc/		- Not used
source/3rdparty/qmake/		- not linked to gridengine binaries
================================================================================

Removing FE-Legal!
Comment 19 Orion Poplawski 2008-02-01 10:26:31 EST
Thanks Mamoru!  Now,  any idea what the License tag should be?  Still just SISSL?

Also:

* Thu Jan 31 2008 - Orion Poplawski <orion@cora.nwra.com> - 6.1u3-2
- Actually ship sge_execd in the execd subpackage
- Don't complain about missing sge_execd during inst_sge -upd
- Link in db_dump and db_load into utilbin so that update scripts can find them

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u3-2.fedora.src.rpm
Comment 20 Mamoru TASAKA 2008-02-01 10:42:42 EST
Created attachment 293735 [details]
rpmlint log for 6.1u3-1 binary rpms

Well, actually I was checking 6.1u3-1, so anyway
I write comments on 6.1u3-1 for now. Will you merge the
fix for -1 to -2 and upload new -3 srpm later?

First comment on 6.1u3-1:
scrartch build is here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=380936

A. rpmlint for src.rpm
* Source file permission
---------------------------------------------------------------
gridengine.src: W: strange-permission arch 0755
gridengine.src: W: strange-permission sgemaster 0755
gridengine.src: W: strange-permission sge.csh 0755
gridengine.src: W: strange-permission sge.sh 0755
gridengine.src: W: strange-permission sgeexecd 0755
---------------------------------------------------------------
   - All source files must have 0644 permission.
     Change the permission when installing them if needed.

B. For spec file:
B-2: %prep
* Source file override
---------------------------------------------------------------
cp source/dist/util/arch %SOURCE8
---------------------------------------------------------------
  - Source file must not be overwritten.
    If you want to "define" sgearch, you can do like
---------------------------------------------------------------
%install
sgearch=`sh source/dist/util/arch`
---------------------------------------------------------------

B-3: %build
* java_home
---------------------------------------------------------------
export JAVA_HOME=/usr/lib/jvm/java
---------------------------------------------------------------
  - Please consider to use %java_home macro
    (defined by %_sysconfdir/rpm/macros.jpackage in jpackage-utils,
     required by java-1.5.0-gcj-devel)

B-4: %install
* Timestamps
  - When using "cp" or "install" commands, please add "-p" option
    to keep timestamps on installed files.

B-5: %files
* Macros
  - %_sysconfdir/rc.d/init.d must be replaced with %_initrddir.

C. rpmlint
  Only checked for binary rpms (not checked for actually installed
  rpms), but many rpmlint complaints... (attached)
  SUMMARY:

* E: arch-dependent-file-in-usr-share
  - arch dependent file must not be under %_datadir. A possible resolution
    is to move arch dependent files to under %_libexecdir and make a symlink
    against them.

* E: binary-or-shlib-defines-rpath
  - Remove strange rpath from binaries

* W: devel-file-in-non-devel-package
  - Would you explain why these files are in gridengine, not in
    gridengine-devel package?

* E: executable-marked-as-config-file
  - Executables must be not marked as %config file (even if they are
    under %_sysconfdir)

* E: missing-mandatory-lsb-keyword
* W: no-reload-entry
* E: no-status-entry
  - Rewrite initrd script to make it more LSB compliant.

* E: non-executable-script
  - Scripts without executable permission should not have shebangs.

* E: script-without-shebang
  - Script with executable permission should have shebangs.

* W: spurious-executable-perm
  - source files in debuginfo rpm must have 0644 permission
    You should fix this by changing permission of files under
    $RPM_BUILD_DIR.

W: summary-not-capitalized
  - Summary must begin with captal letters.

W: symlink-should-be-relative
  - Change symlinks from absolute to relative for chroot issues and
    so on.

D. build.log
* Fedora specific compilation flags
  - On some parts, fedora specific compilation flags are not honored
    correctly.
    On i386:
----------------------------------------------------------------------------
 14777	_________3_r_d_p_a_r_t_y__Q_M_A_K_E_______
 14778	make  all-recursive
 14779	make[1]: Entering directory
`/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26'
 14780	Making all in glob
 14781	make[2]: Entering directory
`/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26/glob'
 14782	gcc -DHAVE_CONFIG_H -I. -I../../glob -I..     -g -O2 -c
../../glob/glob.c
 14783	gcc -DHAVE_CONFIG_H -I. -I../../glob -I..     -g -O2 -c
../../glob/fnmatch.c
 14784	rm -f libglob.a
 14785	ar cru libglob.a glob.o fnmatch.o 
 14786	ranlib libglob.a
 14787	make[2]: Leaving directory
`/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26/glob'
 14788	make[2]: Entering directory
`/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26'
 14789	gcc -DHAVE_CONFIG_H -I. -I.. -I. -DLIBDIR=\"/usr/local/lib\"
-DINCLUDEDIR=\"/usr/local/include\"    -g -O2 -Wall -Wno-error -DLINUX 
-c ../main.c
 14790	gcc -DHAVE_CONFIG_H -I. -I.. -I. -DLIBDIR=\"/usr/local/lib\"
-DINCLUDEDIR=\"/usr/local/include\"    -g -O2 -Wall -Wno-error -DLINUX 
-c ../commands.c
...........
------------------------------------------------------------------------------

F. etc
* Clean up binaries under %_bindir
  - Would you clean up unneeded binaries under %_bindir (if any)?
    * Especially, qt-devel has %_libdir/qt-3.3/bin/qmake in $PATH
      and "which qmake" always returns qt-devel qmake.
      IMO %_bindir/qmake should be removed.
Comment 21 Mamoru TASAKA 2008-02-01 10:44:47 EST
(In reply to comment #19)
> Thanks Mamoru!  Now,  any idea what the License tag should be?  Still just SISSL?

It depends on whether we ship qmake or not, so we should determine the tag
later.
Comment 22 Mamoru TASAKA 2008-02-01 11:00:30 EST
By the way, if you want to try to rebuild your arbitrary srpm on koji,
you can do it by
$ koji build --scratch <target> <srpm_you_want_to_try>
where currencly <target> can be either dist-f9, dist-f8-updates-candidate
or dist-fc7-updates-candidate (and some special target).

If the build is successful, the rebuilt binaries rpms and some logs are
put under
http://koji.fedoraproject.org/scratch/<your_FAS_NAME>/task_<taskid>/
Comment 23 Orion Poplawski 2008-02-01 17:35:46 EST
(In reply to comment #20)
> Created an attachment (id=293735) [edit]
> rpmlint log for 6.1u3-1 binary rpms
> 
> Well, actually I was checking 6.1u3-1, so anyway
> I write comments on 6.1u3-1 for now. Will you merge the
> fix for -1 to -2 and upload new -3 srpm later?
> 

Yup.

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u3-3.fc8.src.rpm

> First comment on 6.1u3-1:
> scrartch build is here:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=380936
> 
> A. rpmlint for src.rpm
> * Source file permission
> ---------------------------------------------------------------
> gridengine.src: W: strange-permission arch 0755
> gridengine.src: W: strange-permission sgemaster 0755
> gridengine.src: W: strange-permission sge.csh 0755
> gridengine.src: W: strange-permission sge.sh 0755
> gridengine.src: W: strange-permission sgeexecd 0755
> ---------------------------------------------------------------
>    - All source files must have 0644 permission.
>      Change the permission when installing them if needed.

Fixed the last 4.  See below for arch.
 
> B. For spec file:
> B-2: %prep
> * Source file override
> ---------------------------------------------------------------
> cp source/dist/util/arch %SOURCE8
> ---------------------------------------------------------------
>   - Source file must not be overwritten.
>     If you want to "define" sgearch, you can do like
> ---------------------------------------------------------------
> %install
> sgearch=`sh source/dist/util/arch`
> ---------------------------------------------------------------

The problem is I need %{sgearch} in the %files section as well.  Suggestions?
 
> B-3: %build
> * java_home
> ---------------------------------------------------------------
> export JAVA_HOME=/usr/lib/jvm/java
> ---------------------------------------------------------------
>   - Please consider to use %java_home macro
>     (defined by %_sysconfdir/rpm/macros.jpackage in jpackage-utils,
>      required by java-1.5.0-gcj-devel)

Done.

> B-4: %install
> * Timestamps
>   - When using "cp" or "install" commands, please add "-p" option
>     to keep timestamps on installed files.

Done.

> B-5: %files
> * Macros
>   - %_sysconfdir/rc.d/init.d must be replaced with %_initrddir.

Done.

> C. rpmlint
>   Only checked for binary rpms (not checked for actually installed
>   rpms), but many rpmlint complaints... (attached)
>   SUMMARY:
> 
> * E: arch-dependent-file-in-usr-share
>   - arch dependent file must not be under %_datadir. A possible resolution
>     is to move arch dependent files to under %_libexecdir and make a symlink
>     against them.

Fixed.

> * E: binary-or-shlib-defines-rpath
>   - Remove strange rpath from binaries

Fixed.

> * W: devel-file-in-non-devel-package
>   - Would you explain why these files are in gridengine, not in
>     gridengine-devel package?

Moved.

> * E: executable-marked-as-config-file
>   - Executables must be not marked as %config file (even if they are
>     under %_sysconfdir)

Fixed.
 
> * E: missing-mandatory-lsb-keyword
> * W: no-reload-entry
> * E: no-status-entry
>   - Rewrite initrd script to make it more LSB compliant.

Working on these.  I do think it's time to just completely rewrite these scripts.

> * E: non-executable-script
>   - Scripts without executable permission should not have shebangs.

Fixed.

> * E: script-without-shebang
>   - Script with executable permission should have shebangs.

Fixed.
 
> * W: spurious-executable-perm
>   - source files in debuginfo rpm must have 0644 permission
>     You should fix this by changing permission of files under
>     $RPM_BUILD_DIR.

Fixed.

> W: summary-not-capitalized
>   - Summary must begin with captal letters.

Fixed.

> W: symlink-should-be-relative
>   - Change symlinks from absolute to relative for chroot issues and
>     so on.

Fixed.

> D. build.log
> * Fedora specific compilation flags
>   - On some parts, fedora specific compilation flags are not honored
>     correctly.
>     On i386:
> ----------------------------------------------------------------------------
>  14777	_________3_r_d_p_a_r_t_y__Q_M_A_K_E_______
>  14778	make  all-recursive
>  14779	make[1]: Entering directory
> `/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26'
>  14780	Making all in glob
>  14781	make[2]: Entering directory
> `/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26/glob'
>  14782	gcc -DHAVE_CONFIG_H -I. -I../../glob -I..     -g -O2 -c
> ../../glob/glob.c
>  14783	gcc -DHAVE_CONFIG_H -I. -I../../glob -I..     -g -O2 -c
> ../../glob/fnmatch.c
>  14784	rm -f libglob.a
>  14785	ar cru libglob.a glob.o fnmatch.o 
>  14786	ranlib libglob.a
>  14787	make[2]: Leaving directory
> `/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26/glob'
>  14788	make[2]: Entering directory
> `/builddir/build/BUILD/gridengine/source/3rdparty/qmake/LINUX86_26'
>  14789	gcc -DHAVE_CONFIG_H -I. -I.. -I. -DLIBDIR=\"/usr/local/lib\"
> -DINCLUDEDIR=\"/usr/local/include\"    -g -O2 -Wall -Wno-error -DLINUX 
> -c ../main.c
>  14790	gcc -DHAVE_CONFIG_H -I. -I.. -I. -DLIBDIR=\"/usr/local/lib\"
> -DINCLUDEDIR=\"/usr/local/include\"    -g -O2 -Wall -Wno-error -DLINUX 
> -c ../commands.c
> ...........
> ------------------------------------------------------------------------------

Fixed.

> F. etc
> * Clean up binaries under %_bindir
>   - Would you clean up unneeded binaries under %_bindir (if any)?
>     * Especially, qt-devel has %_libdir/qt-3.3/bin/qmake in $PATH
>       and "which qmake" always returns qt-devel qmake.
>       IMO %_bindir/qmake should be removed.
> 

qmake has been moved to %{_datadir}/gridengine/bin/%{sgearch}/.  Others I would
like to leave.

I'm building in koji here: http://koji.fedoraproject.org/koji/taskinfo?taskID=390203

Thanks for the review!  Sorry to have left so many issues...
Comment 24 Mamoru TASAKA 2008-02-02 07:35:15 EST
Created attachment 293788 [details]
A example spec file using %define afterwards

Well, I have not checked -3 yet, however:
(In reply to comment #23)
> (In reply to comment #20)
> > B. For spec file:
> > B-2: %prep
> > * Source file override
> > ---------------------------------------------------------------
> > cp source/dist/util/arch %SOURCE8
> > ---------------------------------------------------------------
> >   - Source file must not be overwritten.
> >	If you want to "define" sgearch, you can do like
> > ---------------------------------------------------------------
> > %install
> > sgearch=`sh source/dist/util/arch`
> > ---------------------------------------------------------------
> 
> The problem is I need %{sgearch} in the %files section as well.  Suggestions?


You can use %define afterwards. A example is attached.
Comment 25 Mamoru TASAKA 2008-02-02 12:55:41 EST
Well, for 6.1u3-3:

* uid
  - On my system the number "43" is already used by
    xfs (xorg-x11-xfs).
  - BTW do you have any reason to prefer fedora-usermgmt?

* Requires(post) etc
  - Please update Requires(post) etc on gridengine main
    package.

* Overwriting source
  - As I said above, this can be avoided.

* mandir
  - Usually section 3 man files explain functions or so and
    they should be in -devel package.

* License
  - I will propose the tag later after checking linkage
    again.
Comment 26 Orion Poplawski 2008-02-04 17:20:47 EST
(In reply to comment #25)
> Well, for 6.1u3-3:
> 
> * uid
>   - On my system the number "43" is already used by
>     xfs (xorg-x11-xfs).
>   - BTW do you have any reason to prefer fedora-usermgmt?

fedora-usermgmt creates IDs starting at a configurable base ID.  Because certain
files for gridengine really should be shared via NFS I want to try to have a
common ID across a site.

> * Requires(post) etc
>   - Please update Requires(post) etc on gridengine main
>     package.

Fixed.

> * Overwriting source
>   - As I said above, this can be avoided.

See below.
 
> * mandir
>   - Usually section 3 man files explain functions or so and
>     they should be in -devel package.

Fixed.

> * License
>   - I will propose the tag later after checking linkage
>     again.

Thanks!

(In reply to comment #24)
> Created an attachment (id=293788) [edit]
> A example spec file using %define afterwards
> 
> You can use %define afterwards. A example is attached.

Doesn't work for me.  Log snippet from mock:

+ rm -rf /var/tmp/foo-0-1.fc9-root-mockbuild
+ mkdir -p /var/tmp/foo-0-1.fc9-root-mockbuild/usr/lib/foo/

note that it doesn't make /var/tmp/foo-0-1.fc9-root-mockbuild/usr/lib/foo/i686

Comment 27 Orion Poplawski 2008-02-04 17:33:47 EST
Your example works if the build directory is already expanded when rpmbuild is
run, but not if it doesn't (as with mock).  However, I was able to get around by
using wildcards in the %files section.

* Mon Feb  4 2008 - Orion Poplawski <orion@cora.nwra.com> - 6.1u3-4
- Drop arch from source
- Fix Requires() for main package
- Move man3 to -devel

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u3-4.fc8.src.rpm
http://www.cora.nwra.com/~orion/fedora/gridengine.spec
Comment 29 Orion Poplawski 2008-02-05 12:33:00 EST
(In reply to comment #28)
> Returns 404 (not found)...

Sorry, should work now.
Comment 30 Mamoru TASAKA 2008-02-06 03:22:15 EST
Whole license:			SISSL

source/3rdparty/adoc/		GPL+ -> unused
source/3rdparty/fnmatch/	BSD with advertising -> unused
source/3rdparty/openssl/	OpenSSL	-> unused			
source/3rdparty/qidl/		copyright only -> unused

source/3rdparty/qmake/		GPL+ -> Installed as qmake
source/3rdparty/qmake/alloca.c	Public Domain? -> unused
source/3rdparty/qmake/amiga.c	GPLv2+ -> Installed as qmake
(and others)
			! Note
				qmake is not linked or used by other parts
				of gridengine

source/3rdparty/qmon/Xbae/	MIT
source/3rdparty/qmon/Xmt310/	BSD
source/3rdparty/qmon/iconlist/	MIT
source/3rdparty/qmon/ltree/	LGPL+
source/3rdparty/qmon/spinbox/	MIT
source/3rdparty/qmon/tab/	MIT

source/3rdparty/qtcsh/		BSD with advertising -> unused
source/3rdparty/qtcsh/ma.setp.c		MIT -> unused

source/3rdparty/sge_depend/	MIT
source/3rdparty/snprintf/	the Frontier Artistic License -> unused
source/3rdparty/strptime/	BSD with advertising -> unused

source/scripts/ldAix		MIT -> unused

==================================================================================

For -4:

* Licensing
  - Seeing "Multiple Licensing Scenarios" and 
    "Mixed Source Licensing Scenario" of 
     http://fedoraproject.org/wiki/Packaging/LicensingGuidelines,
     I propose the following spec file description.
     IMO it is better that some file to explain about licensing
     should be added into %doc (proposal text attached)

     Then the spec file description regarding to license should be:
-----------------------------------------------------------------------
Name:    gridengine
Version: 6.1u3
Release: 4%{?dist}
Summary: Grid Engine - Distributed Computing Management software
.......
Group:   Applications/System
# Only the file %{_libexecdir}/gridengine/bin/*/qmake is
# under GPLv2+, which is not used or linked by other parts
# of gridengine.
License: (BSD and LGPLv2+ and MIT and SISSL) and GPLv2+
.......
.......
%package devel
Summary: Gridengine development files
Group: Development/Libraries
License: BSD and LGPLv2+ and MIT and SISSL
Requires: %{name} = %{version}-%{release}
.......
.......
%files
.......
%{_libdir}/libjgdi.so
%{_libdir}/libjuti.so
# Only the file %{_libexecdir}/gridengine/bin/*/qmake is
# under GPLv2+
%{_libexecdir}/gridengine/
.......
-----------------------------------------------------------------------

* Services with enabled by default
  - The two service sgeexecd, sgemaster are enabled by default by
    only installing rpm packages, which is usually undesirable.
    See the explanation of
    $ rpmlint -I service-default-enabled.

* %post -p /sbin/ldconfig
  - When /sbin/ldconfig call is written *in one line* like above,
    "Requires(post): /sbin/ldconfig" is automatically added to
    the corresponding binary rpm.
Comment 31 Orion Poplawski 2008-02-07 18:54:12 EST
* Thu Feb  7 2008 - Orion Poplawski <orion@cora.nwra.com> - 6.1u3-5
- Rewrite initscripts
- Remove spurious Requires(post): /sbin/ldconfig
- Add License explanation file and fix License tags

http://www.cora.nwra.com/~orion/fedora/gridengine-6.1u3-5.fc8.src.rpm
http://www.cora.nwra.com/~orion/fedora/gridengine.spec

Comment 32 Mamoru TASAKA 2008-02-08 09:36:35 EST
For 6.1u3-5:

* License
  - Sorry, I should have written the proposal spec file more verbosely,
    however what I meant was that 
      all subpackages (except for main "gridengine" package) 
      should have the license tag:
      "BSD and LGPLv2+ and MIT and SISSL" 
      (i.e. the same license tag as -devel subpackage).
    Currently all subpackages (other than -devel subpackage) inherit
    the license tag of main package.

* service name
  - You seem to have changed the name of services, however the scriptlets
    are not updated.
-----------------------------------------------------------------
[root@localhost gridengine]# LANG=C rpm -ivh gridengine-6.1u3-5.fc9.i386.rpm
gridengine-execd-6.1u3-5.fc9.i386.rpm 
Preparing...                ########################################### [100%]
   1:gridengine             ########################################### [ 50%]
   2:gridengine-execd       ########################################### [100%]
error reading information on service sgeexecd: No such file or directory
error: %post(gridengine-execd-6.1u3-5.fc9.i386) scriptlet failed, exit status 1
-----------------------------------------------------------------
Comment 33 Orion Poplawski 2008-02-08 10:37:08 EST
Oops!

* Fri Feb  8 2008 - Orion Poplawski <orion@cora.nwra.com> - 6.1u3-6
- Fixup subpackage License tags
- Service name change in scriptlets

Updated spec should be all you need.
Comment 34 Mamoru TASAKA 2008-02-08 12:11:59 EST
Created attachment 294385 [details]
Updated license text

For 6.1u3-6:

* License:
  - Ah.. I checked debuginfo file and I noticed that qtcsh source
    codes are actually used (for qtcsh only).
    So I updated the license document. The spec file must be
    updated as:
----------------------------------------------------------------
Name:	 gridengine
Version: 6.1u3
Release: 6%{?dist}
Summary: Grid Engine - Distributed Computing Management software

Group:	 Applications/System
# Only the file %{_libexecdir}/gridengine/bin/*/qmake is
# under GPLv2+, which is not used or linked by other parts
# of gridengine.
# And the file %{_libexecdir}/gridengine/bin/*/qtcsh is
# under BSD with advertising, 
# which is not used or linked by other parts of gridengine.
License: (BSD and LGPLv2+ and MIT and SISSL) and GPLv2+ and BSD with
advertising
URL:	 http://gridengine.sunsource.net/
.........................
(The license of other subpackages need not updated)
.........................
%{_libdir}/libjuti.so
# Only the file %{_libexecdir}/gridengine/bin/*/qmake is
# under GPLv2+
# And only the file %{_libexecdir}/gridengine/bin/*/qtcsh is
# under BSD with advertising
%{_libexecdir}/gridengine/
----------------------------------------------------------------

License tag got very complicated :)

Other things are okay!!

-----------------------------------------------------------------
    This package (gridengine) is APPROVED by me
-----------------------------------------------------------------
Comment 35 Orion Poplawski 2008-02-08 12:34:48 EST
Updated the spec.  Thanks for the review!

New Package CVS Request
=======================
Package Name: gridengine
Short Description: Distributed Computing Management software
Owners: orion
Branches: F-8 F-7 EL-5
InitialCC: 
Cvsextras Commits: yes
Comment 36 Dennis Gilmore 2008-02-08 13:27:50 EST
CVS Done
Comment 37 Orion Poplawski 2008-02-08 17:31:30 EST
Checked in and built.  Added to comps.

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