Bug 448337
| Summary: | Review Request: enlightenment - a next generation desktop shell | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Pavel Shevchuk <stlwrt> |
| Component: | Package Review | Assignee: | Mamoru TASAKA <mtasaka> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | fedora-package-review, mtasaka, notting, pahan, rdieter |
| Target Milestone: | --- | Flags: | mtasaka:
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-09-01 22:43:58 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: | |||
|
Description
Pavel Shevchuk
2008-05-26 00:24:06 UTC
Have you considered enabling additional functionality, such as using pam, gettext, curl, openssl, SDL, libXcursor, libXdamage, libXcomposite, etc? Please see the following spec file as an example: SPEC: http://optics.csufresno.edu/fedora/extras/9/SPECS/enlightenment.spec There is a lot of functionality that you have disabled by default, but would be easy to include, and I believe should be. Comments? I guess i have everything enabled already. Locale change works, curl and openssl are enabled in ecore, sdl packend need is questionable (but i may enable it in future), cursors get themed, composite radiobutton is available, screen lock works. For 0.16.999.043-1:
! Question
- Would you explain what .edj files are? Can this be freely
(re)distributable?
* Multiple issues on -devel subpackage
** Requires
- efeet-devel is also needed for Requires of -devel subpackage
(see e.h)
** pkgconfig file
--------------------------------------------------------------
$ pkg-config --libs enlightenment
/usr/lib/enlightenment/modules
--------------------------------------------------------------
- This is perhaps wrong (pkg-config --libs foo should usually
return -Ldir -lfoo -baa .....)
** "config.h" inclusion
- From %_includedir/%name/e.h:
--------------------------------------------------------------
4 #ifndef E_H
5 #define E_H
6
7 #include "config.h"
8
--------------------------------------------------------------
but 1. config.h is not installed and 2. config.h must not be
needed for installed header files.
* %prep
- Perhaps the following is simpler:
---------------------------------------------------------------
%setup -q
# strip out bundled vera font, it doesn't support national glyphs
rm -r data/fonts
sed -i \
-e '\|CONFIG_FILES="\$CONFIG_FILES data/fonts/Makefile"|d' \
-e 's|data/fonts/Makefile||' \
configure ; chmod +x configure
sed -i -e 's|fonts||' data/Makefile.in
sed -i -e '\|\.ttf|d' data/{init,themes}/default.edc
---------------------------------------------------------------
* Duplicate files
- Please check if the following files are really needed.
They are also installed as %doc.
---------------------------------------------------------------
/usr/share/enlightenment/AUTHORS
/usr/share/enlightenment/COPYING
---------------------------------------------------------------
* Directory ownership issue
- Please make it sure that all directories created when installing
this package are correctly owned by this package.
Example:
---------------------------------------------------------------
[tasaka1@localhost ~]$ rpm -qf /usr/lib/enlightenment/preload/e_precache.so
enlightenment-0.16.999.043-1.fc10.i386
[tasaka1@localhost ~]$ rpm -qf /usr/lib/enlightenment/preload/
file /usr/lib/enlightenment/preload is not owned by any package
[tasaka1@localhost ~]$ rpm -qf /usr/lib/enlightenment/
file /usr/lib/enlightenment is not owned by any package
---------------------------------------------------------------
* setuid files
- Please explain why two binaries must have setuid bits.
Also please consider if pam mechanism or so can replace this.
ping? Pong. Sorry, i'm very busy at work now. I will fix pkg this weekend. * Sat Jul 26 2008 Pavel "Stalwart" Shevchuk <stlwrt> - 0.16.999.043-2 - Added missing efreet-devel require to enlightenment-devel - Removed broken enlightenment_sys - Removed more improperly placed docs - Fixed directory ownership Spec: http://rpm.scwlab.com/e-for-rawhide/2/enlightenment.spec SRPM: http://rpm.scwlab.com/e-for-rawhide/2/ enlightenment-0.16.999.043-2.fc10.src.rpm RPMs for rawhide-x86_64: http://rpm.scwlab.com/e-for-rawhide/2/ >Would you explain what .edj files are? Can this be freely (re)distributable? .edj are enlightened skins, which consist of images and some bytecode. They're generated from stuff in source tarball which has same license as C code >efeet-devel is also needed for Requires of -devel subpackage (see e.h) fixed >pkgconfig file is like this upstream and it somehow works when building additional modules, will report to developers >"config.h" inclusion no idea, will also be reported >%prep - Perhaps the following is simpler thanks, replaced my lame code with yours proper >Duplicate files fixed >Directory ownership issue fixed >Please explain why two binaries must have setuid bits. cpufreq module changes governors directly, not depending on bulky power management daemons like gnome/kde removed enlightenment_sys bits which don't seem to work (deprecated?) Sorry for late reply..
For -2:
* Directory ownership issue
- %{_includedir}/%{name}/ is not yet owned by any packages.
* pkgconfig issue
- For now would you fix enlightenment.pc.in like following?
-------------------------------------------------------
.....
Version: @VERSION@
Libs: -L$libdir
Libs.private:
.....
-------------------------------------------------------
* config.h inclusion
- This issue must be fixed.
A quick workaround is to include config.h as unique and arch-dependent
name and modify e.h so that e.h includes such arch-dependent header file.
ref:
https://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#myautoconf.h_files_with_a_size_in_them
Also see %_includedir/openssl/opensslconf.h in openssl-devel.
So a example of quick workaround follows:
1. Modify e.h (in the source tarball it is src/bin/e.h) as:
--------------------------------------------------------
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#ifndef E_H
#define E_H
#include "e_config_arch.h"
#define USE_IPC
#if 0
.........
--------------------------------------------------------
2. Prepare e_config_arch.h (as %SOURCE? , say %SOURCE1) as
--------------------------------------------------------
#ifndef E_CONFIG_ARCH_H
#define E_CONFIG_ARCH_H
#if defined(__i386__)
#include "e_config-i386.h"
#elif defined(__ia64__)
#include "e_config-ia64.h"
#elif defined(__powerpc64__)
#include "e_config-ppc64.h"
#elif defined(__powerpc__)
#include "e_config-ppc.h"
#elif defined(__s390x__)
#include "e_config-s390x.h"
#elif defined(__s390__)
#include "e_config-s390.h"
#elif defined(__sparc__) && defined(__arch64__)
#include "e_config-sparc64.h"
#elif defined(__sparc__)
#include "e_config-sparc.h"
#elif defined(__x86_64__)
#include "e_config-x86_64.h"
#else
#error "This enlightment header files do not work your architecture?"
#endif
#endif
--------------------------------------------------------
3. Then:
--------------------------------------------------------
%prep
%setup -q
%patch.....
install %SOURCE1 src/bin/
.....
.....
%build
%configure --disable-static
cp -p config.h e_config-%{_arch}.h
make %{?_smp_mflags}
%install
....
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
......
install -cpm 644 %SOURCE0 e_config-%{_arch}.h %{_includedir}/%{name}/
%files
......
--------------------------------------------------------
* multilib conflict
- And some reviewers say that shell scripts in foo-devel package should
not differ between different architectures (see:
https://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks )
Would you _consider_ to fix %name-config.in (in src tarball) like below?
! Note this is _optional_ and _not mandatory_
---------------------------------------------------------
#!/bin/sh
prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
libdir=/usr/lib
if [ -z $ARCH ] ; then ARCH=$(uname -m) ; fi
case $ARCH in
x86_64 | ia64 | s390 )
libdir=/usr/lib64
;;
esac
usage="\
.....
.....
--libs)
libdirs="-L${libdir}"
echo $libdirs
;;
......
(and same below)
---------------------------------------------------------
ping? Will fix on this weekend ping again? ping again? Sorry for huge delay =( * Sat Aug 30 2008 Pavel "Stalwart" Shevchuk <stlwrt> - 0.16.999.043-3 - One more directory ownership fix - Backported enlightenment.pc.in from trunk - Strip unneeded config.h include from e.h Spec: http://rpm.scwlab.com/fedora/e17/9/i386/enlightenment-0.16.999.043-3/enlightenment.spec SRPM: http://rpm.scwlab.com/fedora/e17/9/i386/enlightenment-0.16.999.043-3/enlightenment-0.16.999.043-3.fc9.src.rpm YUM repository for f9, i386 and x86_64: [scwlab-f-e17] name=Stalwart Fedora - E17 baseurl=http://rpm.scwlab.com/fedora/e17/$releasever/$basearch gpgcheck=0 enabled=1 ------- I hacked up patch for config.h just to realize that config.h isn't actually needed to build stuff that depends on e17. =( So i just strip config.h out of e.h now. I'm not sure deriving from upstream enlightenment-config is really needed, so i didn't in -3. If you insist, i could do -4 Okay.
-----------------------------------------------------------------------
This package (enlightenment) is APPROVED by mtasaka
-----------------------------------------------------------------------
New Package CVS Request ======================= Package Name: enlightenment Short Description: A next generation desktop shell Owners: stalwart Branches: F-8 F-9 InitialCC: Cvsextras Commits: yes cvs done. Kudos to Kevin, arigatos to Mamoru. E17 is now in rawhide ;) |