Bug 431098 - Review Request: gambas2 - IDE based on a basic interpreter with object extensions
Summary: Review Request: gambas2 - IDE based on a basic interpreter with object extens...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 431633
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-31 18:59 UTC by Tom "spot" Callaway
Modified: 2008-03-24 17:59 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-03-24 17:59:05 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
tcallawa: fedora-cvs+


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

Description Tom "spot" Callaway 2008-01-31 18:59:21 UTC
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-06 02:23:36 UTC
koji says libffi-devel is not found...

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

Comment 2 Tom "spot" Callaway 2008-02-06 02:51:16 UTC
Whoops. I forgot to submit that one first. :)

libffi is bugzilla 431633.

Comment 3 Mamoru TASAKA 2008-02-16 02:41:33 UTC
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 08:35:00 UTC
ping?

Also current version seems 2.2.1 .

Comment 5 Tom "spot" Callaway 2008-02-28 21:19:54 UTC
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 16:40:56 UTC
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 17:44:30 UTC
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 19:38:50 UTC
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 14:57:34 UTC
Well, would you check the rpmlint result (attached in comment 7)?

Comment 10 Tom "spot" Callaway 2008-03-15 20:22:54 UTC
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 20:40:55 UTC
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 21:38:05 UTC
-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 15:36:00 UTC
Well, it seems that 2.3.0 is already released....

Comment 14 Mamoru TASAKA 2008-03-18 16:46:32 UTC
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 17:07:29 UTC
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 17:58:55 UTC
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 17:26:27 UTC
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 17:34:18 UTC
One more thing:

Source0:        http://download.sourceforge.net/gambas/..
Please use http://downloads.sourceforge.net/....

Comment 19 Tom "spot" Callaway 2008-03-24 15:46:16 UTC
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 16:00:23 UTC
cvs done.

Comment 21 Tom "spot" Callaway 2008-03-24 17:59:05 UTC
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.