Bug 210464 - Review Request: anjuta - A very capable IDE
Review Request: anjuta - A very capable IDE
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Package Reviews List
:
: 189685 (view as bug list)
Depends On:
Blocks: FE-ACCEPT
  Show dependency treegraph
 
Reported: 2006-10-12 07:33 EDT by Paul F. Johnson
Modified: 2008-02-15 04:27 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-10-18 16:45:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Paul F. Johnson 2006-10-12 07:33:25 EDT
Spec URL: http://nodoid.homelinux.org/fedora/anjuta-2.0.2-5.src.rpm
SRPM URL: http://nodoid.homelinux.org/fedora/anjuta2.spec
Description: 

This is the current release of the anjuta IDE. It has a lot of changes from the now depricated 1.2.4a branch and seems a lot more stable.

Anjuta-1.2.4a is already in extras (maintained by me).

This version builds happily in and out of mock. rpmlint does throw up some complaints of devel parts being in the non-devel package and some files being empty. These are deliberately there as they are used as blank forms/pre-produced code when you start anjuta-2 and begin a new project.

The only other error is that anjuta2.spec is not a valid filename for a spec file. As anjuta-1.2.4a is still in FC5 (and will be until I'm happy with the stability of anjuta-2), I need to be able to differentiate between the two and this seems the most logical.
Comment 1 Mamoru TASAKA 2006-10-13 13:33:13 EDT
Well, are you going to close bug 189685 ?
Comment 2 Paul F. Johnson 2006-10-13 15:07:51 EDT
*** Bug 189685 has been marked as a duplicate of this bug. ***
Comment 3 Mamoru TASAKA 2006-10-13 18:56:56 EDT
Well,

* from your comment you want to leave anjuta-1.2.4a as it is until
  anjuta-2 gets more stable. Then the (package) name and the name of spec
  file should be changed to "anjuta2" as Qt Fedora Extras maintainers
  do so (they uses "qt4"). Otherwise, releasing anjuta-2 (this package)
  will sweep out anjuta-1.2.4a from repository.

* I have not yet checked it, however, you should make it possible that
  we can install anjuta-1.2.4a and anjuta2-2.0.2 BOTH without any conflict.
Comment 4 Paul F. Johnson 2006-10-14 03:14:40 EDT
No. 

I want 2.0.2 in Rawhide only until it's stability is proven - that said, it's on
3 machines here and has only crashed once in 4 months. It will replace 1.2.4a
once uploaded.

The plan is to have it in core 5 and 6 within 6 months.
Comment 5 Mamoru TASAKA 2006-10-14 07:20:24 EDT
(In reply to comment #4)
> I want 2.0.2 in Rawhide only until it's stability is proven - that said, it's on
> 3 machines here and has only crashed once in 4 months. It will replace 1.2.4a
> once uploaded.
Then I think there is no reason that the spec file should have the name
"anjuta2.spec", as far as you think of this package as a normal upgrade
of anjuta-1.2.4a.

Well, I have not checked this precisely, however:
1. rpmlint is not silent.

W: anjuta devel-file-in-non-devel-package /usr/share/anjuta/project/gtk/src/main.c
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/anjuta-plugin/src/plugin.h
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/anjuta-plugin/src/plugin.c
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/xlib-dock/src/main.c
E: anjuta zero-length /usr/share/anjuta/project/cpp/AUTHORS
W: anjuta devel-file-in-non-devel-package /usr/share/anjuta/project/xlib/src/main.c
E: anjuta zero-length /usr/share/anjuta/project/terminal/po/ChangeLog
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/gtk/src/callbacks.h
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/gtk/src/callbacks.c
E: anjuta zero-length /usr/share/anjuta/project/cpp/po/ChangeLog
E: anjuta zero-length /usr/share/anjuta/project/cpp/NEWS
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/terminal/src/main.c
E: anjuta zero-length /usr/share/anjuta/project/terminal/NEWS
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/gnome/src/callbacks.c
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/gnome/src/callbacks.h
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/xlib-dock/src/wmgeneral.h
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/xlib-dock/src/wmgeneral.c
W: anjuta devel-file-in-non-devel-package /usr/share/anjuta/project/gnome/src/main.c
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/mkfile/src/main.c
E: anjuta zero-length /usr/share/anjuta/project/mkfile/po/ChangeLog
E: anjuta zero-length /usr/share/anjuta/project/terminal/README
W: anjuta devel-file-in-non-devel-package
/usr/share/anjuta/project/xlib-dock/src/pixmaps.h
E: anjuta zero-length /usr/share/anjuta/project/cpp/README
E: anjuta zero-length /usr/share/anjuta/project/cpp/ChangeLog
E: anjuta zero-length /usr/share/anjuta/project/terminal/ChangeLog
E: anjuta zero-length /usr/share/anjuta/project/terminal/AUTHORS
W: anjuta devel-file-in-non-devel-package /usr/share/anjuta/indent_test.c
E: anjuta invalid-spec-name anjuta2.spec
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/StyleContext.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/LexLisp.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/LexRuby.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/LexCrontab.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/LexAda.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/XPM.cxx
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/StyleContext.h
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/XPM.h
E: anjuta-debuginfo script-without-shebang
/usr/src/debug/anjuta-2.0.2/scintilla/LexEiffel.cxx

1-A Please explain why some "usually-in-devel" files should be in main package.
1-B The errors of "zero-length" files cannot be acceptable. Remove all these
     files (when the files become non-empty, add the files _THEN_ ).
1-C "script-without-shebang" in debuginfo rpm: permissions are incorrect.
     Fix these.
1-D invalid-spec-name: I think the name of spec file should be "anjuta.spec".

2. Clean up BuildRequires and Requires. I can see many redundant 
   (Build)Requires.
3. Please explain bliefly why Requires you added are needed.
4. Don't use %{buildroot} and ${RPM_BUILD_ROOT} both. Please use only one.
5. Also use "|| : " method to update-mime-database and redirect the result to
   /dev/null.
6. A package including pkgconfig configration file should require 
   "pkgconfig". Also, libanjuta-1.0.pc includes:
   Requires: libgnomeui-2.0 libglade-2.0. This means that -devel package should
   libgnomeui-devel and libglade2-devel.

(again note: I have not checked this package fully yet)
Comment 6 Paul F. Johnson 2006-10-14 08:12:08 EDT
1. Anjuta has a wizard which gives you small, but fully functioning applications
when you select them. The files rpmlint has picked up are those - they are not
devel files, but are part of the package. This is one of those occasions where
rpmlint is being over-cautious. If I remove the zero byte files then Anjuta
doesn't like it and the packages created are missing the files.

I also can't use anjuta.spec as that is the name used for anjuta-1.2.4a which is
still in core. When both core and devel are in sync, then I'll rename the spec file.

2. Odd...
3. If you don't have them, when anjuta-2 is run bits fall apart. This was
recently seen with monodevelop where I needed to add another package as a
requires as well as having the devel.
4. Good catch
5. Fair point - I'm probably being over cautious
6. Not a problem.

Should all be happier on the next run
Comment 7 Mamoru TASAKA 2006-10-14 08:37:34 EDT
(In reply to comment #6) 
> 2. Odd...
What do you mean by this? I meant that for example,
* you wrote "glib2-devel", however, this is required by gtk2-devel so
  writing "glib2-devel" is not necessary. (And gtk2-devel is required by
   libglade2-devel.....)
  Write the "minimal" Requires and BuildRequires so that users can check
  the dependency as easily as possible.

* I strongly doubt that writing "gtk2, ORBit2, gnome-vfs2....." to Requires is
  needed because libraries' dependency pulls them. Especially, why
  "glib"?

> 6. Not a problem.
* What do you mean? Adding "pkgconfig libgnomeui-devel libglade2-devel" is
  necessary as you can see in "Requires" section of
  http://fedoraproject.org/wiki/Packaging/Guidelines .
  Dependency for -devel package cannot be automatically checked by rpmbuild.
Comment 8 Paul F. Johnson 2006-10-14 16:41:32 EDT
6. I'm very well aware of the packaging guidelines. When I say something is not
a problem it is actually just the way I say "very trivial to fix".

2. I think I've weeded most of them out now :-)

Spec URL: http://nodoid.homelinux.org/fedora/anjuta-2.0.2-6.src.rpm
SRPM URL: http://nodoid.homelinux.org/fedora/anjuta2.spec

The only thing rpmlint objects to is the devel and empty files in the main
package, but there is nothing I can really do about them as they're supposed to
be in there
Comment 9 Mamoru TASAKA 2006-10-15 13:15:40 EDT
Well, about BuildRequires: 
I wonder why you want to list many redundant lists. Among your
BuildRequires list:

glib2-devel              <- required by gtk2-devel
gtk2-devel               <- required by libglade2-devel
ORBit2-devel             <- required by libbonoboui-devel
libglade2-devel          <- required by libgnomeui-devel
libgnome-devel           <- required by libbonoboui-devel
libgnomeui-devel         <- required by devhelp-devel
libgnomeprint22-devel    <- required by libgnomeprintui22-devel
libgnomeprintui22-devel
gnome-vfs2-devel         <- required by libgnome-devel
libbonobo-devel          <- required by libgnome-devel
libbonoboui-devel        <- required by libgnomeui-devel
vte-devel
libxml2-devel            <- required by libgnomeui-devel
pango-devel              <- required by gtk2-devel
pcre-devel
devhelp-devel
anjuta-gdl-devel
gnome-build-devel
graphviz-devel
neon-devel
scrollkeeper
perl(XML::Parser)
autogen-devel            = This should be "autogen". autogen-devel seems
unnecessary.
gettext-devel            = This should be "gettext". gettext-devel seems
unnecessary.
gtksourceview-devel      <- 
pkgconfig                <- required by glib2-devel

All the BuildRequires followed by "<- requied by ..." are not necessary
because other BuildRequires also require them.

Also, mockbuild fails.

make[3]: Entering directory `/builddir/build/BUILD/anjuta-2.0.2/tagmanager'
if /usr/bin/libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -I./include   -O0 -g
-Wall -Wmissing-prototypes -Wmissing-declarations -Wparentheses -Wpointer-arith
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables -MT args.lo -MD -MP -MF ".deps/args.Tpo" -c -o
args.lo args.c; \
        then mv -f ".deps/args.Tpo" ".deps/args.Plo"; else rm -f
".deps/args.Tpo"; exit 1; fi
/bin/sh: /usr/bin/libtool: No such file or directory
make[3]: *** [args.lo] Error 1
make[3]: Leaving directory `/builddir/build/BUILD/anjuta-2.0.2/tagmanager'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/builddir/build/BUILD/anjuta-2.0.2/tagmanager'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/builddir/build/BUILD/anjuta-2.0.2'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.12427 (%build)

Add "libtool" to BuildRequires.

Then:

1. From http://fedoraproject.org/wiki/Packaging/Guidelines :

* Changelogs
  - By the way, why does this package have EPOCH 1?

* Requires
  - Requires(post): scrollkeeper
    Requires(postun): scrollkeeper
    These are for -docs subpackage, not for main.
  - Requires for -devel
    libglade-devel should be "libglade2-devel".

* BuildRequires
  - Described above.
  - By the way, why does this package disable subversion support?
    (I don't know well about this package).

* Encodings
  - Some files are encoded in unwilling charsets.
  * At least change the encodings of following files to UTF-8.
    /usr/share/doc/anjuta/THANKS ISO-8859-1 in anjuta

* Timestamps
  - These packages many header files, HTML documents, image files and etc.
    These files are originally in source tarball and not modified during
    building these packages.
    For this case, keeping timestamps is highly recommended to show when
    these files are created. Keep the timestamps of these files.

2. From http://fedoraproject.org/wiki/Packaging/ReviewGuidelines :
   = Nothing.
Comment 10 Mamoru TASAKA 2006-10-15 13:36:21 EDT
(In reply to comment #9)
> BuildRequires list:

> gtksourceview-devel      <- 
This BuildRequires is necessary.

> * Timestamps
>   -  Keep the timestamps of these files.

I usually use "make DESTDIR=%{buildroot} INSTALL"install -c -p" install
and this works for this package, too.
Comment 11 Mamoru TASAKA 2006-10-15 13:38:32 EDT
Oops.. I meant 
make DESTDIR=%{buildroot} INSTALL="install -c -p" install
Comment 12 Paul F. Johnson 2006-10-15 16:30:02 EDT
* Changelogs
  - By the way, why does this package have EPOCH 1?

The original version of anjuta has the epoch set as 1. No idea why. If I remove
it, then anjuta-2 won't be picked up as an updated version.

- By the way, why does this package disable subversion support?

Recommended upstream as it's currently broken

* Encodings
  - Some files are encoded in unwilling charsets.
  * At least change the encodings of following files to UTF-8.
    /usr/share/doc/anjuta/THANKS ISO-8859-1 in anjuta

rpmlint is not picking these up at all on either my test rig or my build boxes.

I've also added and remove the bits you've asked for and will upload as soon as
it's ready and built in mock
Comment 14 Mamoru TASAKA 2006-10-16 09:53:35 EDT
From spec file:

- fixed encodings
Well, is this true? It seems that the encoding of /usr/share/doc/anjuta/THANKS
is not fixed.

(In reply to comment #12)
> * Encodings
>   - Some files are encoded in unwilling charsets.
>   * At least change the encodings of following files to UTF-8.
>     /usr/share/doc/anjuta/THANKS ISO-8859-1 in anjuta
> 
> rpmlint is not picking these up at all on either my test rig or my build boxes.
I always check encoding problem by, for example,
   file `rpm -ql anjuta`

From spec file:
make DESTDIR=%{buildroot} INSTAL="install -c -p" install
Ah.. this should be
make DESTDIR=%{buildroot} INSTALL="install -c -p" install

From spec file:
BuildRequires: autogen-devel, gettext-devel
As said above, this should be "autogen, gettext", not -devel package.
The binaries "/usr/bin/gettext" and "/usr/bin/autogen" are in
main package and for rebuilding anjuta, -devel packages are not
necessary.
Comment 15 Paul F. Johnson 2006-10-17 18:17:28 EDT
BR autogen-devel and gettext-devel are both needed to satisfy the configure
script. If gettext-devel is not there, anjuta2 completely fails to build.

I've fixed the other bits you've mentioned here.

Spec URL: http://nodoid.homelinux.org/fedora/anjuta-2.0.2-8.src.rpm
SRPM URL: http://nodoid.homelinux.org/fedora/anjuta2.spec
Comment 16 Mamoru TASAKA 2006-10-18 11:01:16 EDT
Well,
Requires(post): ldconfig
Requires(postun): ldconfig
is unneeded as glibc has this, however, if you want to keep writing this,
please change to:

Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

---------------------------------------------------------------------------------
  This package (anjuta) is APPROVED by me.

Comment 17 Paul F. Johnson 2006-10-18 16:45:11 EDT
Fixed and imported :-)
Comment 18 Christian Iseli 2007-01-02 19:21:17 EST
Changed summary for tracking purposes.
Comment 19 Dominik 'Rathann' Mierzejewski 2008-02-15 04:27:52 EST
I'd like to request EL-5 branch. I have some users who'd like to use it.

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