Author Topic: [FINETUNING] Learn E17 packaging discussion  (Read 2754 times)

Offline Texstar

  • Administrator
  • Super Villain
  • *****
  • Posts: 12525
Why does the official .spec use
./autogen.sh
while the included .spec file of the package does not have this line?

What is its purpose?

To generate the configure and make files so a package can be built. Usually used for software checked out of svn or git. Sometimes used for a package that isn't linking to the proper build libraries.


Thanks to everyone who donates. You keep the servers running.

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
That clears one more doubt. (This shall be added to the wiki.)
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline Agent Smith

  • PCLinuxOS Tester
  • Sr. Member
  • *******
  • Posts: 317
    • Brazilian PCLinuxOS Community
Re: [RENAMED] Learn E17 packaging discussion
« Reply #32 on: January 28, 2013, 06:36:56 PM »
Sling Shot!
Sure we can do it, pal.

It's just that I would need a computer without E-17 to accomplish this task.
Since I have some packages queued, awaiting processing, I won't be able to work on this E-17 until next month.
If you can wait a little, so I can find a new computer without E-17, set up the package environment and start to deal with things.
Ok ?

What do you say ?

Best regards,

 

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #33 on: January 28, 2013, 06:59:19 PM »
I am doing it in VirtualBox right now.
My idea is to build it in VB first, then try on real hardware.

I have no deadlines ;)
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #34 on: January 31, 2013, 08:22:16 AM »
Currently I have reached Evas which is the third package of the series. I am getting evas_xcb_outbuf.c:874:68: error: 'Outbuf_Region' has no member named 'xob' error while trying to build.
I asked in the #e channel and the reply was : you are trying to use xcb, or xlib ? try xlib instead? the xcb stuff isn't too mature
So I removed --enable-software-xcb from the standard PCLinuxOS .spec file and the build continued.
The current .spec stands like this :
Code: [Select]
%define realversion 1.7.5
%define version 20130104
%define major 1
%define libname %mklibname %{name} %major
%define libnamedev %mklibname %{name} -d

Name: evas
# The version number here is the official release date of tarball
Version: %{version}
Release: %mkrel 1
Summary: Enlightened canvas library
License: BSD
Group: Graphical desktop/Enlightenment
URL: http://www.enlightenment.org/
Source: %{name}-%{realversion}.tar.xz
BuildRoot: %{_tmppath}/%{name}-buildroot
Conflicts: %{mklibname evas1}-devel
# Common
BuildRequires: pth-devel
BuildRequires: chrpath
BuildRequires: freetype-devel
BuildRequires: X11-devel
BuildRequires: SDL-devel
BuildRequires: eet-devel >= 1.4.0
BuildRequires: cairo-devel
BuildRequires: png-devel
BuildRequires: jpeg-devel
BuildRequires: tiff-devel
BuildRequires: mesagl-devel
BuildRequires: ungif-devel
BuildRequires: xpm-devel
BuildRequires: xcb-devel
BuildRequires: pixman-devel
BuildRequires: xcb-util-devel
BuildRequires: librsvg-devel
BuildRequires: doxygen
BuildRequires: fribidi-devel
# Enlightenment BR
BuildRequires: eina-devel
BuildRequires: eet-devel

%description
Evas is a clean display canvas API for several target display systems
that can draw anti-aliased text, smooth super and sub-sampled scaled
images, alpha-blend objects much and more.

This package is part of the Enlightenment E17 desktop shell.

%package devel
Summary: Enlightened Canvas Library headers and development libraries
Group: Graphical desktop/Enlightenment
Requires: %{name} = %{version}
Provides: %{name}-devel = %{version}-%{release}

%description devel
Evas development headers and development libraries.

%prep
%setup -q -n %{name}-%{realversion}

%build
# Commented-out line below was probably needed for building from svn and not from tarball
#./autogen.sh
%configure2_5x --enable-image-loader-gif \
  --disable-valgrind \
  --enable-image-loader-png \
  --enable-image-loader-jpeg \
  --enable-image-loader-eet \
  --enable-font-loader-eet \
  --enable-image-loader-edb \
  --enable-image-loader-tiff \
  --enable-image-loader-xpm \
  --enable-image-loader-svg \
  --enable-cpu-mmx \
  --disable-cpu-sse \
  --enable-cpu-c \
  --enable-scale-sample \
  --enable-scale-smooth \
  --enable-convert-yuv \
  --enable-small-dither-mask \
  --enable-fontconfig \
  --enable-software-xlib \
  --enable-software-16-x11 \
  --enable-software-sdl \
  --enable-fb \
  --enable-buffer \
  --enable-gl-x11 \
  --disable-gl-glew \
  --enable-xrender-x11 \
  --enable-xrender-xcb \
  --enable-liblinebreak \
  --enable-pthreads \
  --disable-static

%make

%install
rm -rf %buildroot
%makeinstall_std

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%{_bindir}/evas_cserve2_*
%doc AUTHORS COPYING README
%{_libdir}/*.so.%{major}*
%{_libdir}/%name/modules/engines/*/*/*.so
%{_libdir}/%name/modules/loaders/*/*/*.so
%{_libdir}/%name/modules/savers/*/*/*.so
%{_libdir}/dummy_slave
%{_libdir}/%name/cserve2/loaders/*/*/*.la
%{_libdir}/%name/cserve2/loaders/*/linux-gnu-i586-%{realversion}/*.so
%{_libdir}/evas_cserve2*
%{_datadir}/evas/examples/*
%{_datadir}/evas/checkme

%files devel
%defattr(-,root,root)
%{_libdir}/libevas.la
%{_libdir}/libevas.so
%{_libdir}/%name/modules/savers/*/*/*.*a
%{_libdir}/%name/modules/loaders/*/*/*.*a
%{_libdir}/%name/modules/engines/*/*/*.*a
%{_includedir}/evas-1/*.h
%{_libdir}/pkgconfig/*


%changelog
* Tue Jan 29 2013 Sling Shot <sling-shot at lycos.com>
- 1.7.5 release

* Mon May 30 2011 Texstar <texstar at gmail.com> 20110530-1pclos2011
- update

* Sat Feb 26 2011 Texstar <texstar at gmail.com> 20110129-1pclos2011
- update

* Sat Dec 25 2010 Texstar <texstar at gmail.com> 20101225-1pclos2010
- update svn

* Wed Dec 15 2010 Texstar <texstar at gmail.com> 20101215-1pclos2010
- update svn 55246
« Last Edit: January 31, 2013, 08:24:35 AM by sling-shot »
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #35 on: February 25, 2013, 05:45:24 AM »
OK. I have stumbled my way across the E17 1.7.5 release packages and completed those listed on the download page. (There seem to be some packages in development which have been omitted from this release)

I have installed all the packages built by me.
How to make PCLinuxOS use Enlightenment now? I think I should add an entry to the sessions list of log-in screen but I am not able to figure out how to do it.

I will upload all the .spec files to my DropBox and post links here or on the first post.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline Agent Smith

  • PCLinuxOS Tester
  • Sr. Member
  • *******
  • Posts: 317
    • Brazilian PCLinuxOS Community
Re: [RENAMED] Learn E17 packaging discussion
« Reply #36 on: February 25, 2013, 05:49:26 AM »
In the GDM login menu, the session button, should appear an E-17 section now...

Ok ???

Regards,


Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #37 on: February 25, 2013, 05:55:49 AM »
I use KDM and it does not appear. Only the default 4 choices are there.
I am at work now. Will post the .specs once I reach home. I have tried to copy the stuff I felt relevant from older "e" .spec of Texstar.

I must have missed something important.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline ghostbunny

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1169
Re: [RENAMED] Learn E17 packaging discussion
« Reply #38 on: February 25, 2013, 06:03:24 AM »
got to /usr/share/xsessions there have to be a file <number>-e17.desktop or something like this.

copy this file to /usr/share/apps/kdm/sessions

open the file as root and replace the line

Code: [Select]
Type=Application
by

Code: [Select]
Type=XSession
then it should be visible in kdm.
The full life is a big mess

PS:
I'm German. Sorry because of possible mistakes in my written messages xD


Offline Agent Smith

  • PCLinuxOS Tester
  • Sr. Member
  • *******
  • Posts: 317
    • Brazilian PCLinuxOS Community
Re: [RENAMED] Learn E17 packaging discussion
« Reply #39 on: February 25, 2013, 06:49:33 AM »
Hummmm... I guess it won't go. KDM doesn't play all that well with non KDE DE's (at least in PCLOS).
Install GDM and it should go.
But try the tip from GB above.
I could never make another DE start on PCLOS, other than KDE, with KDM.

Best regards,


Offline ghostbunny

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1169
Re: [RENAMED] Learn E17 packaging discussion
« Reply #40 on: February 25, 2013, 07:09:03 AM »
Sorry sling-shot i gave you a wrong info. the file to copy is in /etc/X11/dm/Sessions


Hummmm... I guess it won't go. KDM doesn't play all that well with non KDE DE's (at least in PCLOS).
Install GDM and it should go.
But try the tip from GB above.
I could never make another DE start on PCLOS, other than KDE, with KDM.

Best regards,

This has something todo with one of the last kde updates. i think it was 4.6.x to 4.8.x. in pclos the sessions are stored in /etc/X11/dm/Sessions
gdm and other displaymanagers grep the info from there kdm doesn't since the update. it now want's all sessions in /usr/share/apps/kdm/sessions. this causes problems when you want to launch e.g. e17 with kdm. some testers reported that a reinstall of kdm generates files so that the other DE can be loaded but who want's to reinstall?
The full life is a big mess

PS:
I'm German. Sorry because of possible mistakes in my written messages xD


Offline pags

  • Hero Member
  • *****
  • Posts: 2519
  • Keep it clean.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #41 on: February 25, 2013, 09:59:00 AM »
I only have the one (KDM) installed, and only the one location exists:
Code: [Select]
[jpaglia@paglia-e6500 ~]$ ls /usr/share/apps/kdm/sessions/ -lh
total 36K
-rw-r--r-- 1 root root 110 Jan 30 21:43 01KDE.desktop
-rw-r--r-- 1 root root 114 Jan 30 21:43 04LXDE.desktop
-rw-r--r-- 1 root root 118 Jan 30 21:43 07IceWM.desktop
-rw-r--r-- 1 root root 120 Jan 30 21:43 15XBMC.desktop
-rw-r--r-- 1 root root 105 Jan 30 21:43 23E17.desktop
-rw-r--r-- 1 root root 126 Jan 30 21:43 25Openbox.desktop
-rw-r--r-- 1 root root 145 Jan 30 21:43 27Openbox-KDE.desktop
-rw-r--r-- 1 root root 153 Jan 30 21:43 28Openbox-Gnome.desktop
-rw-r--r-- 1 root root 118 Jan 30 21:43 29drak3d.desktop
[jpaglia@paglia-e6500 ~]$

Seems to have my non-KDE DE's OK...
???

Could one be setup as a symlink to the other (after ensuring the content in synchronized)?

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [RENAMED] Learn E17 packaging discussion
« Reply #42 on: February 26, 2013, 10:21:30 AM »
I do not have /etc/X11/dm/Sessions but I have /etc/X11/dm.d and it has both KDM and E17 files.
/usr/share/apps/kdm/sessions has 01KDE.desktop

This is the .spec file used to create Enlightenment package:
Code: [Select]
%define realversion 0.17.1
%define version 20130104
%define major 1
%define libname %mklibname %{name} %major
%define libnamedev %mklibname %{name} -d

Name: enlightenment
# The version number here is the official release date of tarball
Version: %{version}
Release: %mkrel 2
Summary: The Enlightenment window manager
License: BSD
Group: Graphical desktop/Enlightenment
URL: http://www.enlightenment.org/
Source: %{name}-%{realversion}.tar.xz
Source4: goe
#BuildRequires: efl-devel >= 1.7.4, edje-devel, edje-bin
#BuildRequires: eeze-devel
#Requires: efl >= 1.7.4
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
BuildRequires: eina-devel eet-devel evas-devel ecore-devel eio-devel embryo-devel edje-devel
BuildRequires: efreet-devel e_dbus-devel eeze-devel emotion-devel ethumb-devel elementary-devel
Requires: eina eet evas ecore eio embryo edje
Requires: efreet e_dbus eeze emotion ethumb elementary

%description
Enlightenment is a window manager.

This package is part of the Enlightenment DR17 desktop shell.

%package devel
Summary: Headers and development libraries from %{name}
Group: Graphical desktop/Enlightenment
Requires: %{name} = %{version}-%{release}
Requires: eina-devel eet-devel evas-devel ecore-devel eio-devel embryo-devel edje-devel
Requires: efreet-devel e_dbus-devel eeze-devel emotion-devel ethumb-devel elementary-devel
Provides: lib%{name}-devel = %{version}-%{release}
Provides: %{name}-devel = %{version}-%{release}

%description devel
Development headers for Enlightenment.

%prep
%setup -q -n %{name}-%{realversion}

# Commented-out line below was probably needed for building from svn and not from tarball
#./autogen.sh
%configure2_5x --disable-static

%make

%install
rm -rf $RPM_BUILD_ROOT
%makeinstall_std
#fake e-config
touch %buildroot/%{_bindir}/enlightenment-config
%multiarch_binaries %buildroot/%{_bindir}/enlightenment-config
%find_lang enlightenment

# display manager entry
mkdir -p %buildroot/%{_sysconfdir}/X11/wmsession.d
cat << EOF > $RPM_BUILD_ROOT/%{_sysconfdir}/X11/wmsession.d/23E17
NAME=E17
ICON=
EXEC=/usr/bin/goe
SCRIPT:
exec /usr/bin/goe
EOF

install -m 0755 %SOURCE4 %buildroot/%_bindir/goe

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-, root, root)
%doc AUTHORS COPYING README
%dir %{_sysconfdir}/enlightenment
%config(noreplace) %{_sysconfdir}/enlightenment/*
%config(noreplace) %{_sysconfdir}/xdg/menus/enlightenment.menu
%{_bindir}/enlightenment
%{_bindir}/enlightenment_*
#%{_bindir}/eap_to_desktop
%{_libdir}/%{name}
%{_datadir}/%{name}
%{_datadir}/locale/*
%{_datadir}/xsessions/%{name}.desktop
%{_datadir}/applications/enlightenment_filemanager.desktop
#added from previos pclinuxos e .spec
%config %_sysconfdir/X11/wmsession.d/23E17
#added from previos pclinuxos e .spec
%_bindir/goe


%files devel
%defattr(-, root, root)
%{_includedir}/enlightenment
%{_libdir}/pkgconfig/*.pc
%{_bindir}/enlightenment-config
#added from previos pclinuxos e .spec
%multiarch %{multiarch_bindir}/enlightenment-config

%changelog
* Sun Feb 24 2013 Sling Shot <sling-shot at lycos.com>
- 1.7.5 release
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1730
  • Satyameva Jayate | Truth Alone Triumphs.
Re: [SUCCESS] Learn E17 packaging discussion
« Reply #43 on: February 26, 2013, 10:51:38 AM »


Guys! Thanks! I finally saw that elusive Enlightenment. I am in the know now if you know what I know :)

I added a 23E17.desktop to /usr/share/apps/kdm/sessions and got into E17 desktop.

Will post a few screenshots in a bit.  There are many things wrong I guess and that segfault mentioned by ghostbunny happens at first and can continue if I ignore and click on continue. Logout does not work due to segfault and comes back to the desktop. Poweroff works.

I do not understand anything about the panel, settings etc. etc. and hope AgentSmith could guide there.

Now the difficult process of fine tuning this thing to PCLinuxOS standards.... That .... is  .... probably going to take an year ;)
« Last Edit: February 26, 2013, 11:01:56 AM by sling-shot »
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline ghostbunny

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1169
Re: [SUCCESS] Learn E17 packaging discussion
« Reply #44 on: February 26, 2013, 12:00:06 PM »
could you provide links to the srpms?
The full life is a big mess

PS:
I'm German. Sorry because of possible mistakes in my written messages xD