Bug 442266
| Summary: | Review Request: embryo - Easy to use library for running compiled PAWN programs | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Pavel Shevchuk <stlwrt> |
| Component: | Package Review | Assignee: | Patrice Dumas <pertusus> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | rawhide | CC: | fedora-package-review, notting, pertusus |
| Target Milestone: | --- | Flags: | pertusus:
fedora-review+
kevin: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2008-05-06 17:37:38 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 442437 | ||
|
Description
Pavel Shevchuk
2008-04-13 17:00:48 UTC
Woops, forgot to include: i386 and x86_64 RPMs built in mock: http://rpm.scwlab.com/embryo-goes-rawhide/ Improved spec. New spec: http://rpm.scwlab.com/embryo-goes-rawhide/embryo.spec New SRPM: http://rpm.scwlab.com/embryo-goes-rawhide/ embryo-0.9.1.042-2.fc9.src.rpm * Sat Apr 19 2008 Pavel "Stalwart" Shevchuk <stlwrt> - 0.9.1.042-2 - Fixed timestamp of source tarball - Preserve timestamps of installed files - Added html docs - Added missing dependencies for embryo-devel - Added workaround for bug in embryo.pc. Proper fix is commited upstream Fixed doxygen multilib issue. New spec: http://rpm.scwlab.com/embryo-goes-rawhide/embryo.spec New SRPM: http://rpm.scwlab.com/fedora/e/9/embryo-0.9.1.042-3.x86_64/ embryo-0.9.1.042-3.fc9.src.rpm Built RPMs: http://rpm.scwlab.com/fedora/e/9/ an incidental backtrace of embryo_cc -i $ gdb --args embryo_cc -i GNU gdb Fedora (6.8-1.fc9) Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"... (gdb) run Starting program: /usr/bin/embryo_cc -i Program received signal SIGSEGV, Segmentation fault. 0x0804ff26 in sc_compile (argc=2, argv=0xbfd15af4) at embryo_cc_sc1.c:631 631 if (!strcmp (argv[i], "-i") && *argv[i + 1]) (gdb) bt #0 0x0804ff26 in sc_compile (argc=2, argv=0xbfd15af4) at embryo_cc_sc1.c:631 #1 0x08050b83 in main (argc=2, argv=0xbfd15af4, env=Cannot access memory at address 0x35 ) at embryo_cc_sc1.c:149 It seems to me that embryo_cc and the /usr/share/embryo/include/default.inc file should be separated from the shared library. It seems to me that it would be better in the devel package, and even better in a separate package. Either call it embryo and have the shared libs in embryo-libs, or put the shared libs in embryo and cann the package containing embryo_cc along embryo_cc or embryo-cc. I would prefer to have share libs in a -libs subpackage. Embryo is for scripting existing applications, similar to LUA, and embryo scripts are usually distributed as source code. It's not the case of C compiler, such scripts are compiled and ran by regular users. [stalwart@delta ~]$ rpm -ql lua.x86_64 | grep bin /usr/bin/lua /usr/bin/luac LUA ships compiler in one package with libs. * Mon May 05 2008 Pavel "Stalwart" Shevchuk <stlwrt> - 0.9.1.042-4 - Added workaround for segfault on incorrect arguments to embryo_cc New spec: http://rpm.scwlab.com/embryo-goes-rawhide/embryo.spec New SRPM: http://rpm.scwlab.com/fedora/e/9/embryo-0.9.1.042-4.fc9.x86_64/ embryo-0.9.1.042-4.fc9.src.rpm Built RPMs: http://rpm.scwlab.com/fedora/e/9/ (In reply to comment #6) > Embryo is for scripting existing applications, similar to LUA, and embryo > scripts are usually distributed as source code. It's not the case of C > compiler, such scripts are compiled and ran by regular users. > LUA ships compiler in one package with libs. Indeed, but in the case of embryo, it seems to be much more common to use directly the libs. And e17 packages depending on embryo only use the libs, so it seems to me that putting the interpreter in its own pacage (with name embryo) would be better, in order not to install the interpretr if not needed. Moreover the interpreter (in contrast with the one embedded in the libs) seems to be less well maintained (reading the README). Also, unless I am missing something the %description is mostly for the -libs package, the interpreter has still not been that much modified. Now regarding the segfault, in my opinion it is much better to do a patch (and submit it upstream). A sed substitution will silently fail and in general is less readable. In the end it depends on the packager, but in my opinion the change in argv should be a patch, while the 2 other sed substitutions are right. As a side note, this segfault is also an indication that the interpretor is not widely used. lib executes code only in form of bytecode, and embryo_cc is the only way to convert human-readable code to bytecode. I still insist on having embryo_cc in default package. Argument parser patch was upstreamed few minutes ago. I will remove sed expression when new snapshot or 1.0.0 of embryo will be released (e17 project leader said it's in RC stage already) Ok, I just noticed that embryo_cc is used in one of the edje programs, so looks like you are right. Also rereading the library doc, it is clearly stated there. I'll review formally now. * rpmlint is silent * follow packaging guidelines * pseudo MIT license included * match upstream d6f08bb2eb9c5c466eef7c1951d3f6ba embryo-0.9.1.042.tar.bz2 * %files section right * library correctly packaged APPROVED 2 things I overlooked, though: * The BuildRequires are better at the beginning * A Requires for pkgconfig missing for -devel. * I suggest usind the sed line to keep a footer like in other e* libraries New Package CVS Request ======================= Package Name: embryo Short Description: Easy to use library for running compiled PAWN programs Owners: stalwart Branches: F-8 F-9 InitialCC: Cvsextras Commits: yes cvs done. Koji finished building package. Thanks to everyone! |