Bug 1047497 (OTcl) - Review Request: otcl - MIT Object Tcl
Summary: Review Request: otcl - MIT Object Tcl
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: OTcl
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FE-DEADREVIEW TCLCL ns2
TreeView+ depends on / blocked
 
Reported: 2013-12-31 11:35 UTC by Mosaab Alzoubi
Modified: 2021-02-11 13:59 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-02-11 13:59:39 UTC
Type: ---
Embargoed:
ppisar: fedora-review?


Attachments (Terms of Use)

Description Mosaab Alzoubi 2013-12-31 11:35:25 UTC
Spec URL: http://ojuba.org/oji/SPECS/otcl.spec
SRPM URL: http://ojuba.org/oji/SRPMS/otcl-1.14-1.oji.fc19.src.rpm
Description:
OTcl, short for MIT Object Tcl, is an extension to Tcl/Tk for object-oriented
programming. Some of OTcl's features as compared to alternatives are:
 - designed to be dynamically extensible, like Tcl, from the ground up.
 - builds on Tcl syntax and concepts rather than importing another language.
 - compact yet powerful object programming system.
 - fairly portable implementation (2000 lines of C, without core hacks).

Fedora Account System Username: moceap

Comment 1 Mosaab Alzoubi 2013-12-31 11:37:53 UTC
Koji build task:

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

Comment 3 Christopher Meng 2014-01-03 13:25:54 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated



Issues:
=======
- Development (unversioned) .so files in -devel subpackage, if present.
  Note: Unversioned so-files directly in %_libdir.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
- Static libraries in -static or -devel subpackage, providing -devel if
  present.
  Note: Package has .a files: otcl. Illegal package name: otcl. Does not
  provide -static: otcl.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 4 files have unknown license. Detailed output of
     licensecheck:

Unknown or generated
--------------------
otcl-1.14/otcl.c
otcl-1.14/otcl.h
otcl-1.14/otclAppInit.c
otcl-1.14/otkAppInit.c

---> Tell upstream.

[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[!]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/debug/.build-id/b4(gcc-
     debuginfo, glibc-debuginfo), /usr/lib/debug/usr/bin(gcc-debuginfo,
     sqlite-debuginfo, glibc-debuginfo-common, ncurses-debuginfo, lnav-
     debuginfo, bzip2-debuginfo, pcre-debuginfo, openssl-debuginfo),
     /usr/lib/debug/.build-id(readline-debuginfo, sqlite-debuginfo, glibc-
     debuginfo-common, gcc-base-debuginfo, gcc-debuginfo, glibc-debuginfo,
     zlib-debuginfo, ncurses-debuginfo, lnav-debuginfo, bzip2-debuginfo, pcre-
     debuginfo, openssl-debuginfo), /usr/lib/debug/.dwz(readline-debuginfo,
     sqlite-debuginfo, zlib-debuginfo, ncurses-debuginfo, bzip2-debuginfo,
     pcre-debuginfo, openssl-debuginfo), /usr/lib/debug(readline-debuginfo,
     sqlite-debuginfo, glibc-debuginfo-common, gcc-base-debuginfo, gcc-
     debuginfo, glibc-debuginfo, zlib-debuginfo, ncurses-debuginfo, lnav-
     debuginfo, bzip2-debuginfo, filesystem, pcre-debuginfo, openssl-
     debuginfo), /usr/lib/debug/usr(gcc-debuginfo, sqlite-debuginfo, glibc-
     debuginfo-common, gcc-base-debuginfo, glibc-debuginfo, zlib-debuginfo,
     ncurses-debuginfo, lnav-debuginfo, bzip2-debuginfo, filesystem, pcre-
     debuginfo), /usr/lib/debug/.build-id/73(gcc-debuginfo),
     /usr/lib/debug/usr/lib(readline-debuginfo, sqlite-debuginfo, gcc-base-
     debuginfo, gcc-debuginfo, glibc-debuginfo, zlib-debuginfo, ncurses-
     debuginfo, bzip2-debuginfo, pcre-debuginfo, openssl-debuginfo),
     /usr/lib/debug/.build-id/eb(glibc-debuginfo)
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 296960 bytes in 9 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in otcl-devel
     , otcl-docs

---> Please add _isa in -devel sub.

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: otcl-1.14-2.fc21.i686.rpm
          otcl-devel-1.14-2.fc21.noarch.rpm
          otcl-docs-1.14-2.fc21.noarch.rpm
          otcl-1.14-2.fc21.src.rpm
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/.dwz/otcl-1.14-2.fc21.i386
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/bin/otclsh.debug
otcl.i686: E: statically-linked-binary /usr/lib/debug/usr/bin/otclsh.debug
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/bin/owish.debug
otcl.i686: E: statically-linked-binary /usr/lib/debug/usr/bin/owish.debug
otcl.i686: W: no-soname /usr/lib/libotcl.so
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: E: shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.dwz
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.dwz
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.build-id
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.build-id
otcl.i686: W: devel-file-in-non-devel-package /usr/lib/libotcl.a
otcl.i686: W: spurious-executable-perm /usr/lib/libotcl.a
otcl.i686: E: library-without-ldconfig-postin /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: E: library-without-ldconfig-postun /usr/lib/debug/usr/lib/libotcl.so.debug

---> debuginfo can't be found, Why did you mark -devel as noarch:

BuildArch: noarch???

otcl.i686: W: no-manual-page-for-binary otclsh
otcl.i686: W: no-manual-page-for-binary owish
otcl-devel.noarch: W: no-documentation
otcl.src: W: strange-permission otcl-src-1.14.tar.gz 0640L
otcl.src:73: W: mixed-use-of-spaces-and-tabs (spaces: line 73, tab: line 9)
4 packages and 0 specfiles checked; 5 errors, 16 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint otcl otcl-devel otcl-docs
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/.dwz/otcl-1.14-2.fc21.i386
otcl.i686: W: ldd-failed /usr/lib/debug/.dwz/otcl-1.14-2.fc21.i386
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/bin/otclsh.debug
otcl.i686: E: statically-linked-binary /usr/lib/debug/usr/bin/otclsh.debug
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/bin/owish.debug
otcl.i686: E: statically-linked-binary /usr/lib/debug/usr/bin/owish.debug
otcl.i686: W: no-soname /usr/lib/libotcl.so
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_AppendResult
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_UpVar2
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_DeleteHashTable
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_NewStringObj
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_GetString
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_StringMatch
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_SetVar2
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_GetCommandName
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_DeleteCommandFromToken
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_Free
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_InitHashTable
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_ResetResult
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so TclFreeObj
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_ProcObjCmd
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_Eval
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_GetVar2
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_FirstHashEntry
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_SplitList
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_NextHashEntry
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_DeleteCommand
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_SetResult
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_UnsetVar2
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_FindCommand
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_DeleteHashEntry
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_AddObjErrorInfo
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_CreateCommand
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_AppendElement
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_GetCommandInfo
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_VarEval
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_Alloc
otcl.i686: W: undefined-non-weak-symbol /usr/lib/libotcl.so Tcl_CreateNamespace
otcl.i686: W: unstripped-binary-or-object /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: E: shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.dwz
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.dwz
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.build-id
otcl.i686: W: hidden-file-or-dir /usr/lib/debug/.build-id
otcl.i686: W: devel-file-in-non-devel-package /usr/lib/libotcl.a
otcl.i686: W: spurious-executable-perm /usr/lib/libotcl.a
otcl.i686: E: library-without-ldconfig-postin /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: E: library-without-ldconfig-postun /usr/lib/debug/usr/lib/libotcl.so.debug
otcl.i686: W: no-manual-page-for-binary otclsh
otcl.i686: W: no-manual-page-for-binary owish
otcl-devel.noarch: W: no-documentation
3 packages and 0 specfiles checked; 5 errors, 46 warnings.
# echo 'rpmlint-done:'



Requires
--------
otcl (rpmlib, GLIBC filtered):
    libX11.so.6
    libc.so.6
    libdl.so.2
    libm.so.6
    libnsl.so.1
    libtcl8.5.so
    libtk8.5.so
    rtld(GNU_HASH)

otcl-devel (rpmlib, GLIBC filtered):
    otcl

otcl-docs (rpmlib, GLIBC filtered):
    otcl



Provides
--------
otcl:
    libotcl.so
    otcl
    otcl(x86-32)

otcl-devel:
    otcl-devel

otcl-docs:
    otcl-docs



Unversioned so-files
--------------------
otcl: /usr/lib/libotcl.so

Source checksums
----------------
http://downloads.sourceforge.net/project/otcl-tclcl/OTcl/1.14/otcl-src-1.14.tar.gz :
  CHECKSUM(SHA256) this package     : c644aed47ccd7e082ad47388dc8a2412a0eceacbe81d8574e560a797b782b969
  CHECKSUM(SHA256) upstream package : c644aed47ccd7e082ad47388dc8a2412a0eceacbe81d8574e560a797b782b969


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/bin/fedora-review -rvn otcl-1.14-2.oji.fc19.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: BATCH, EPEL5, EXARCH, DISTTAG

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

SPEC part:

1. Please avoid this kind of style, weird, no appropriate reason to leave it there:

%description docs
%common_desc

Please improve it, don't be lazy.

2. %configure --prefix=%_prefix

Please eval the %configure macro, default should cover the option.

3. Request a license from upstream.

4. Why keep .a files?

Comment 4 Mosaab Alzoubi 2014-01-07 04:50:23 UTC
1. Please avoid this kind of style, weird, no appropriate reason to leave it there:

>>> Did you mean to re-write the description for subpackages !!

3. Request a license from upstream.

>>> I'll

4. Why keep .a files?

>>> Make install doing that

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

- library included into -devel.
- General Tweaks.
- Fix versions of requires in -devel -docs.

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

Spec URL: http://ojuba.org/oji/SPECS/otcl.spec
SRPM URL: http://ojuba.org/oji/SRPMS/otcl-1.14-3.oji.fc19.src.rpm

Comment 5 Christopher Meng 2014-01-07 05:21:57 UTC
1. What's the difficulty of can't write description in the field but using a macro to accomplish?

2. -devel %description just contains one line is enough:

This package contains libraries and header files for
developing applications that use %{name}.

3. I don't understand why you hacked so many makefile rules there, the tweak is just nonsense if you use DESTDIR in %install. And what you've done will break the ld results in unversioned libs.

4. Please name doc subpackage as -doc but not -docs(followed by most of packages in Fedora), also entries below have mistakes:

%package docs
Summary: MIT Object Tcl document files
Group: Development/Languages
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch

%description docs
%common_desc

The package contains the document files for Otcl.

  -1. Summary: MIT Object Tcl document files

You'd better change it to:

     Summary:        Documentation files for %{name}

  -2. Group: Development/Languages

What? Shouldn't they be:

      Group:          Documentation ?

Or you can remove all group tag since Fedora doesn't need it anymore.

  -3. Requires: %{name}%{?_isa} = %{version}-%{release}

Well, this doc package is noarch, you shouldn't add %_isa macro here.

  -4. %description docs
%common_desc

Please change to sth like(you can improve the %{name} but no need to write down main package's description again here):

      %description    doc
This package contains documentation files for %{name}.

5. static libs should be removed per:

https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2

6. License file is not a problem, but others are.

Comment 6 Mosaab Alzoubi 2014-01-07 16:31:19 UTC
1. What's the difficulty of can't write description in the field but using a macro to accomplish?

>> Doing that to write desciption just one time :) .

3. I don't understand why you hacked so many makefile rules there, the tweak is just nonsense if you use DESTDIR in %install. And what you've done will break the ld results in unversioned libs.

>> Builtin install faild at building by packaging, So I do that manually.

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

- Fix description of all packages.
- Rename -docs to -doc
- Change summary and group of -doc.
- Fix version of -doc requires.
- Remove static lib.

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


Spec URL: http://ojuba.org/oji/SPECS/otcl.spec
SRPM URL: http://ojuba.org/oji/SRPMS/otcl-1.14-4.oji.fc19.src.rpm

Comment 7 Michael Schwendt 2014-02-11 17:11:39 UTC
Please take your time. Don't rush.

[...]

Taking a look at the -devel package:

$ rpmls -p otcl-devel-1.14-4.fc20.x86_64.rpm 
-rw-r--r--  /usr/include/otcl.h
-rwxr-xr-x  /usr/lib64/libotcl.so

1) What happens if a programs compiles with otcl.h and links with libotcl.so?

2) What happens if one wants to load this shared lib into Tcl?

3) /usr/include/otcl.h wants to include tcl.h, so currently there are missing dependencies.

[...]

$ rpm -qpR otcl-doc-1.14-4.fc20.noarch.rpm |grep -v ^rpm
otcl = 1.14-4.fc20

$ rpmls -p otcl-doc-1.14-4.fc20.noarch.rpm 
drwxr-xr-x  /usr/share/doc/otcl-doc
-rw-r--r--  /usr/share/doc/otcl-doc/autoload.html
-rw-r--r--  /usr/share/doc/otcl-doc/capi.html
-rw-r--r--  /usr/share/doc/otcl-doc/class.html
-rw-r--r--  /usr/share/doc/otcl-doc/object.html
-rw-r--r--  /usr/share/doc/otcl-doc/otcl-paper.ps.gz
-rw-r--r--  /usr/share/doc/otcl-doc/tutorial.html

Obviously, this -doc package does not need to depend on the base package, since the included HTML and PS files can be displayed with any capable viewer.

Comment 8 Michael Schwendt 2014-02-11 17:25:53 UTC
As another request, please ensure that the dependent review request bug 1047702 always builds with the offered otcl packages. Currently it doesn't.

Comment 9 Mosaab Alzoubi 2014-02-11 17:33:34 UTC
- Add tcl-devel as -devel require.
- Release -doc from base require.

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

Spec URL: http://ojuba.org/oji/SPECS/otcl.spec
SRPM URL: http://ojuba.org/oji/SRPMS/otcl-1.14-5.fc20.src.rpm

Comment 10 Michael Schwendt 2014-02-11 17:39:24 UTC
Perhaps we misunderstand eachother.

What I've tried to point out in comment 7 is that the packaging is broken (at least highly questionable). Think about the two questions in that comment. I'm not a Tcl expert, but as a hint: Placing a runtime shared lib in a -devel package is wrong.

Let's not follow packaging guidelines blindly, but aim at packaging this thing correctly.

Comment 11 Mosaab Alzoubi 2014-02-12 14:48:18 UTC
In my First try to package Otcl, I put lib into base package. But I review Tcl and Tk packages. Both these packages similar to Otcl and Tclcl, they packaged in this method. So I did like them.

To my self I prefer packed lib into libotcl package, but headers is so small so it isn't differ.

Regards.

Comment 12 Michael Schwendt 2014-02-12 17:44:18 UTC
So, if both tcl and tk packages do include their shared libs in the base package, why don't you do that also with otcl?

[...]

And tclcl (in bug 1047702) still doesn't build:

…
checking for init.tcl... /usr/share/tcl8.5
checking for http.tcl... /usr/share/tcl8.5/http1.0
checking Tcl http.tcl library... yes
checking for tclsh8.5.14... no
checking for tclsh8.5... /bin/tclsh8.5
checking for tk.h... -I/usr/include
checking for libtk8.5... -L/usr/lib64 -ltk8.5
checking for tk.tcl... /usr/share/tk8.5
checking for otcl.h... -I/usr/include
checking for libotcl1.14... no
configure: error: Installation of otcl seems incomplete or can't be found automatically.
Please correct the problem by telling configure where otcl is
using the argument --with-otcl=/path/to/package
(perhaps after installing it),
or the package is not required, disable it with --with-otcl=no.

Comment 13 Mosaab Alzoubi 2014-02-12 17:51:31 UTC
> So, if both tcl and tk packages do include their shared libs in the base package, why don't you do that also with otcl?

No they include it in -devel part.

> And tclcl (in bug 1047702) still doesn't build:

It works !

checking for tk.tcl... /usr/share/tk8.5
checking for otcl.h... -I/usr/include
checking for libotcl1.14... -L/usr/lib -lotcl
checking for X11 header files
checking for X11 library archive
checking for XOpenDisplay in -lX11... yes
checking for XShmAttach in -lXext... yes
checking for zlib.h... -I/usr/include
checking for libz1.1.3... -L/usr/lib -lz
No explicit static compilation flag; setting V_STATIC to ""
checking for dlopen in -ldl... yes
checking system version (for system-dependent libraries)... Linux-3.12.10-300.fc20.i686
checking for unistd.h... (cached) yes
checking for a BSD-compatible install... /usr/bin/install

Comment 14 Michael Schwendt 2014-02-12 18:41:16 UTC
> No they include it in -devel part.

No, they don't. libtcl8.5.so is part of package "tcl", libtk8.5.so is part of package "tk".


> It works !

> checking for libotcl1.14... -L/usr/lib -lotcl

Note that /usr/lib is not x86_64, so this will need to be examined further to figure out which is broken for x86_64. otcl or tclcl?

Comment 15 Christopher Meng 2014-02-13 09:17:33 UTC
A koji scratch is needed:

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

Comment 16 Mosaab Alzoubi 2014-10-03 11:49:14 UTC
- Compatible with Fedora 21.
- Improving lib locations.

Spec: http://ojuba.org/test/otcl.spec
Srpm: http://ojuba.org/test/otcl-1.14-6.oj35.src.rpm

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

Comment 17 Mosaab Alzoubi 2014-10-05 00:09:58 UTC
- Tweaks

Spec: http://ojuba.org/test/otcl.spec
Srpm: http://ojuba.org/test/otcl-1.14-7.oj35.src.rpm

Comment 18 Mosaab Alzoubi 2014-10-31 09:49:43 UTC
This review has now been assigned for over 10 months with no action.  Will you be able to start the review in the next 2 days?  If not, please release it.

Comment 19 Zbigniew Jędrzejewski-Szmek 2015-03-10 02:31:35 UTC
Christopher,

now that you're back, will you take back this review?

Comment 20 Zbigniew Jędrzejewski-Szmek 2015-04-06 17:51:25 UTC
I'll pick up the review.

Unfortunately it still does not build in rawhide / amd64:
...
gcc -shared -o libotcl.so otcl.o
/usr/bin/ld: otcl.o: relocation R_X86_64_PC32 against symbol `OTclAsObject' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:102: recipe for target 'libotcl.so' failed
make: *** [libotcl.so] Error 1

It builds and runs fine on i386 though.

Regarding the license: there's a standard MIT license in file headers. So for simplicity you can use License: MIT.

I think the packaging is OK, apart from the build issue.

Comment 21 Paul Dufresne 2020-04-07 18:52:45 UTC
(In reply to Mosaab Alzoubi from comment #17)
> - Tweaks
> 
> Spec: http://ojuba.org/test/otcl.spec
> Srpm: http://ojuba.org/test/otcl-1.14-7.oj35.src.rpm

These links to a page in arabic, and they don't seems to point to the spec file.


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