Bug 431098 - Review Request: gambas2 - IDE based on a basic interpreter with object extensions
Review Request: gambas2 - IDE based on a basic interpreter with object extens...
Status: CLOSED RAWHIDE
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: 431633
Blocks:
  Show dependency treegraph
 
Reported: 2008-01-31 13:59 EST by Tom "spot" Callaway
Modified: 2008-03-24 13:59 EDT (History)
4 users (show)

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


Attachments (Terms of Use)
rpmlint for gambase (264.98 KB, text/plain)
2008-03-02 12:44 EST, Mamoru TASAKA
no flags Details

  None (edit)
Description Tom "spot" Callaway 2008-01-31 13:59:21 EST
Spec URL: http://www.auroralinux.org/people/spot/review/new/gambas2.spec
SRPM URL: http://www.auroralinux.org/people/spot/review/new/gambas2-2.0.0-2.20080128svn1043.fc9.src.rpm
Description: 
Gambas2 is a free development environment based on a Basic interpreter
with object extensions, like Visual Basic (but it is NOT a clone !).
With Gambas2, you can quickly design your program GUI, access MySQL or
PostgreSQL databases, pilot KDE applications with DCOP, translate your
program into many languages, create network applications easily, and so
on...

A couple of notes from the packager:

- The subpackaging is done a little... uniquely here, because of the nature of Gambas2. The IDE actually lets you generate RPMs for the code that you write, and it uses these subpackages for dependencies.

- The examples/ directory needs to be world-writeable, or the IDE examples functionality doesn't work at all. It is purposefully owned by "nobody" to minimize any possible security concerns.

- Network based components don't quite work right on x86_64 yet, but given that the previous version of Gambas didn't work at all on x86_64, this is a big step in the right direction. Upstream hopes to have this resolved by 2.1.

- Doesn't work on PPC, or any other big-endian arch.

- Only intended for F9 or higher targets (aka, this won't build right on F8 or older).
Comment 1 Mamoru TASAKA 2008-02-05 21:23:36 EST
koji says libffi-devel is not found...

http://koji.fedoraproject.org/koji/taskinfo?taskID=398016
Comment 2 Tom "spot" Callaway 2008-02-05 21:51:16 EST
Whoops. I forgot to submit that one first. :)

libffi is bugzilla 431633.
Comment 3 Mamoru TASAKA 2008-02-15 21:41:33 EST
Now libffi is imported, but it seems that this package needs
adjusting for new (?) libffi.
http://koji.fedoraproject.org/koji/taskinfo?taskID=431145

> - Only intended for F9 or higher targets (aka, this won't build right on F8 or
older).
In this case I would appreciate it if you would write the URL of
the result of koji scratch build against dist-f9 target.
Comment 4 Mamoru TASAKA 2008-02-27 03:35:00 EST
ping?

Also current version seems 2.2.1 .
Comment 5 Tom "spot" Callaway 2008-02-28 16:19:54 EST
New SRPM:
http://www.auroralinux.org/people/spot/review/new/gambas2-2.2.1-1.fc9.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/gambas2.spec

The scratch build is running now, if it succeeds, I will post the result, if it
fails, I'll fix up the SRPM so that it works and post the resulting success. :)
Comment 6 Tom "spot" Callaway 2008-02-29 11:40:56 EST
http://koji.fedoraproject.org/koji/taskinfo?taskID=478886

2.2.1-2 built. :) SRPM is in the link, I can put it in my webspace if needed.
Comment 7 Mamoru TASAKA 2008-03-02 12:44:30 EST
Created attachment 296517 [details]
rpmlint for gambase

For 2.2.1-2:

* rpmlint
  - First of all, would would shut up rpmlint warnings/errors
    as much as possible? (rpmlint results attached)

* Duplicate file entry
---------------------------------------------------------
[tasaka1@localhost gambas2]$ rpm -qlp *i386*rpm | sort | uniq -d
/usr/bin/gambas2
/usr/bin/gambas2.gambas
/usr/share/mime/packages
---------------------------------------------------------
  - Please resolve this.

* Compilation flags
---------------------------------------------------------
  5700	make[4]: Entering directory
`/builddir/build/BUILD/gambas2-2.2.1/main/gbx'
  5701	/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I.. -I../share    -I../libltdl  -I/usr/lib/libffi-3.0.1/include   -DGBX_INFO
-O2 -g -pipe -Wall  -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -pipe -Wall
-Wno-unused-value -fvisibility=hidden -g -Os -O0  -MT gb_la-gbx_c_class.lo -MD
-MP -MF .deps/gb_la-gbx_c_class.Tpo -c -o gb_la-gbx_c_class.lo `test -f
'gbx_c_class.c' || echo './'`gbx_c_class.c
---------------------------------------------------------
  - -O2 option is finally replaced by -O0.

---------------------------------------------------------
  6430	make[4]: Entering directory
`/builddir/build/BUILD/gambas2-2.2.1/gb.db.sqlite3/src'
  6431	/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
-I..	-pipe -Wall -fno-exceptions -Wno-unused-value -fvisibility=hidden -g
-Os -fno-omit-frame-pointer  -MT main.lo -MD -MP -MF .deps/main.Tpo -c -o
main.lo main.cpp
  ( and many lines below this line )
----------------------------------------------------------
  - Here Fedora specific compilation flags are ignored.

* Timestamps
  - I guess for this package
----------------------------------------------------------
make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" install
----------------------------------------------------------
    works to keep timestamps on installed files.

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

* Directory ownership issue
  - From my directory ownership check,
----------------------------------------------------------
Owned by			      directory
shared-mime-info-0.23-3.fc9	      /usr/share/mime/packages
gambas2-runtime-2.2.1-2.fc9
gambas2-script-2.2.1-2.fc9
----------------------------------------------------------

* Macros
  - Use macros correctly. For example, /usr/bin must be %{_bindir}.

* Scriptlet
  - Calling update-desktop-database is not needed because
    fedora-gambas2.desktop does not contain any MimeType key.
Comment 8 Tom "spot" Callaway 2008-03-10 15:38:50 EDT
Sorry it took so long to get back to this. All of the issues mentioned above
should be resolved in -3:

New SRPM:
http://www.auroralinux.org/people/spot/review/new/gambas2-2.2.1-3.fc9.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/gambas2.spec
Comment 9 Mamoru TASAKA 2008-03-12 10:57:34 EDT
Well, would you check the rpmlint result (attached in comment 7)?
Comment 10 Tom "spot" Callaway 2008-03-15 16:22:54 EDT
OK, so here is -4:

New SRPM:
http://www.auroralinux.org/people/spot/review/new/gambas2-2.2.1-4.fc9.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/gambas2.spec

With -4, here is the explanation for the remaining rpmlint errors:

W: no-documentation
E: only-non-binary-in-usr-lib

The gambas2 subpackages don't have any documentation, and due to the nature of
gambas2, has "non-binaries" in /usr/lib. Some of the subpackages actually have
.so files here, so they don't trigger the second error.

gambas2-ide.x86_64: E: world-writable
/usr/share/gambas2/examples/Drawing/Sensor/.lang 0777
gambas2-ide.x86_64: E: non-standard-dir-perm
/usr/share/gambas2/examples/Drawing/Sensor/.lang 0777
gambas2-ide.x86_64: W: hidden-file-or-dir
/usr/share/gambas2/examples/Drawing/Sensor/.lang

Inside the gambas2-ide subpackage are all of the "example" programs. The gambas2
IDE interface actually displays these examples, and offers to load them into the
IDE. In order for them to actually work, several directories need to be world
writable (0777). Also, several important files (important to gambas2, not to me)
are named with a . at the beginning, so they trigger the "hidden" warning.

All of these are reasonably safe to ignore, I've minimized the directories and
files that are 777, none of the example code is set 777.
Comment 11 Mamoru TASAKA 2008-03-15 16:40:55 EDT
Well, actually I was just trying to rebuild -3 again (not -4)
however it failed.

http://koji.fedoraproject.org/koji/taskinfo?taskID=518041

It seems adjusting this package to new poppler is needed.
Comment 12 Tom "spot" Callaway 2008-03-15 17:38:05 EDT
-5 has a patch for the new poppler:

New SRPM:
http://www.auroralinux.org/people/spot/review/new/gambas2-2.2.1-5.fc9.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/gambas2.spec
Comment 13 Mamoru TASAKA 2008-03-18 11:36:00 EDT
Well, it seems that 2.3.0 is already released....
Comment 14 Mamoru TASAKA 2008-03-18 12:46:32 EDT
For license issue:
Please check the following:
-------------------------------------------------------------------------------
GPLv2_or_QPL/gb.image/src/qcolor.cpp
GPLv2_or_QPL/gb.image/src/qcolor.h
GPLv2_or_QPL/gb.image/src/qimage.h
GPLv2_or_QPL/gb.image/src/qpoint.cpp
GPLv2_or_QPL/gb.image/src/qpoint.h
GPLv2_or_QPL/gb.image/src/qrect.cpp
GPLv2_or_QPL/gb.image/src/qrect.h
GPLv2_or_QPL/gb.image/src/qsize.cpp
GPLv2_or_QPL/gb.image/src/qsize.h
GPLv2_or_QPL/gb.qt/src/qtxembed.cpp
GPLv2_or_QPL/gb.qt/src/qtxembed.h
GPLv2plus/examples/examples/Database/PictureDatabase/ModuleDatabase.module
GPLv2plus/examples/examples/Games/RobotFindsKitten/COPYING
GPLv2plus/examples/examples/Games/RobotFindsKitten/readme.txt
GPLv2plus/examples/examples/OpenGL/GambasGears/Module1.module
GPLv2plus/examples/examples/Printing/Printing/ModulePrintTwoImages.module
GPLv2plus/examples/examples/Printing/Printing/ModulePrintTwoImgWordWrap.module
GPLv2plus/help/help/tree/jsTree.css
GPLv2plus/help/help/tree/jsTree.js
GPLv2plus/help/help/tree/tree.html
------------------------------------------------------------------------------
Comment 15 Mamoru TASAKA 2008-03-18 13:07:29 EDT
The rest issues for 2.2.1-5:

* Requires(post/postun): desktop-file-utils
  - What is this? (there is no gambas2 i386 rpm)

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

* /sbin/ldconfig call for gambas-runtime
  - Is this needed? It seems no libraries are installed under
    ld default paths.
Comment 16 Tom "spot" Callaway 2008-03-20 13:58:55 EDT
2.4.1-1 should resolve the license issues, as well as the issues in Comment #15:

New SRPM:
http://www.auroralinux.org/people/spot/review/new/gambas2-2.4.1-1.fc9.src.rpm
New SPEC: http://www.auroralinux.org/people/spot/review/new/gambas2.spec
Comment 17 Mamoru TASAKA 2008-03-21 13:26:27 EDT
Okay.

One thing:
-------------------------------------------------------------------
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
-------------------------------------------------------------------
Current packaging guidelines does not require this.
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#mimeinfo

-------------------------------------------------------------------
    This package (gambas2) is APPROVED by me
-------------------------------------------------------------------
Comment 18 Mamoru TASAKA 2008-03-21 13:34:18 EDT
One more thing:

Source0:        http://download.sourceforge.net/gambas/..
Please use http://downloads.sourceforge.net/....
Comment 19 Tom "spot" Callaway 2008-03-24 11:46:16 EDT
New Package CVS Request
=======================
Package Name: gambas2
Short Description: IDE based on a basic interpreter with object extensions
Owners: spot
Branches: devel
InitialCC: 
Cvsextras Commits: yes
Comment 20 Tom "spot" Callaway 2008-03-24 12:00:23 EDT
cvs done.
Comment 21 Tom "spot" Callaway 2008-03-24 13:59:05 EDT
Built in rawhide, thanks for the thorough review.

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