Cinnamon 2.x porting

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
Post Reply
roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Cinnamon 2.x porting

Post#1 by roelof » 25 Oct 2013, 15:54

As my personal project I would try to port Cinnamon 2.0 to Porteus.

Before I begin I have a few questions.

1) Is there a manual or tutorial for making modules from source ?

2) How can I the best deal with packages which depends on each other when I build that part myself.
Schould I use configure options to make it work and does that work without it.
I know that many packages of Cinnamon work with .pc files.


Regards,

Roelof

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#2 by roelof » 25 Oct 2013, 17:08

I found this page :

But I ran into my first problem.
I downloaded the tar.gz in my home dir so it resides into homedir/downloads.
There I unpacked it and did sh autogen.sh
And there I saw this message :

Code: Select all

sh autogen.sh
You need to install the gnome-common module and make
sure the gnome-autogen.sh script is in your $PATH.
So I did find gnome-common-3.10 with PPM and activated it.
But still this error message schows up.

How to solve this ?

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#3 by brokenman » 25 Oct 2013, 21:54

Cinnamon will probably require the entire gnome base. This is the first of MANY errors you will meet while compiling.

http://ftp.acc.umu.se/pub/GNOME/sources/gnome-common/

You probably need to downgrade your gnome-common package. In which environment are you compiling cinnamon? I can upload a working gnome-3.8 porteus (it has some of the core packages updated) and you can begin compiling on top of that. This is probably the best way to start. The ISO is about 280Mb without the development module which you download separately. I started to work on getting cinnamon to run and got bored very quickly.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#4 by roelof » 26 Oct 2013, 08:15

Hello,

I have already a gnome-common module made by ppm so I cannot see the point to download the source.
And gnome-common is a build requirement and not a runtime requirement.

But one thing I do not understand. I have a module called gnome-common. I activated it and still the gnome-autogen.sh file cannot be found
I used find / -name "gnome-autogen.sh" and nothing showed up. Does modules not install files on the file system ?

Roelof

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#5 by roelof » 26 Oct 2013, 15:48

Hello,

I succeed in making gnome-common work.
I now can find the file in my tmp directory.
But still cjs cannot find it there.

Is it now wise to to use a configure argument to make it workable.
Or must I make a module of every part and acticvate it on my real system.

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#6 by brokenman » 26 Oct 2013, 18:42

I have already a gnome-common module made by ppm so I cannot see the point to download the source.
Your call.
I now can find the file in my tmp directory. But still cjs cannot find it there.
No program will look in your /tmp folder for a required library. It needs to reside in the correct file path. Compiling from source using: make install would do this.
Is it now wise to to use a configure argument to make it workable.
Not required. If the files are in the correct place the configure script will find them.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#7 by roelof » 26 Oct 2013, 18:52

Oke,

So I have to do :

make destinstall so I will be a part of the cinnamon module.
And I have to do make install so the next part can find it.

Do i understand this right ?

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#8 by brokenman » 26 Oct 2013, 20:31

If you downloaded the porteus module then activating it should mount it into the Porteus file system and you're good to go. If it isn't recognized then it is the wrong version.

If you want to compile gnome-common from source and use it ONLY as a compile time library then do this:

1) Unpack the source
2) Change into the source directory
3) configure using: ./configure --prefix=/usr (or ./autogen.sh --prefix=/usr)
4) build the package using: make
5) If you receive no errors then install it: make install

If you want to create a basic porteus module for future use then:
mkdir /tmp/module
./configure --prefix=/usr
make
make DESTDIR=/tmp/module install
dir2xzm /tmp/module /tmp/gnome-common.xzm


If you are not familiar with compiling packages from source, applying patches and sometimes editing source code after long internet searches, then you have a tough road ahead of you. As stated earlier cinnamon will require the entire gnome base to operate.

Can you pass me the link for where you are getting your cinnamon stuff? It may be easier to simply convert an existing distros packages.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#9 by roelof » 26 Oct 2013, 21:01

Oke.

Thanks for the info.

I get my sources right from the Linuxmint github page.
I like to use the orginal sources.

I will try the module path because there are more packages that have dependencies for packages I build.
If I build the module the way you and the manual says can I use PPM to activate it or can I only do this manually.

I know I have a long way ahead. I tried this earlier for Foresight Linux which has Gnome 2.x running.

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#10 by brokenman » 26 Oct 2013, 21:32

If I build the module the way you and the manual says can I use PPM to activate it or can I only do this manually.
Manually. PPM will only work with packages it downloads/creates.

I am uploading gnome-3.8 porteus as we speak. It may be easier for you to compile on this base. I'll let you know when it is ready.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#11 by roelof » 26 Oct 2013, 21:38

Thanks,

Do I need to download this version or can I somehow change to this version of porteus-mate edition.
In the near future will there be a gnome 3.10 version.

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#12 by brokenman » 26 Oct 2013, 22:35

Do I need to download this version or can I somehow change to this version of porteus-mate edition.
I am uploading gnome-3.8. Mate is based on gnome-2. They are two different animals. Unless the version of cinnamon you are compiling has already removed gnome-3.8 as a dependency (it is planned) then you will just give yourself a headache trying to compile it for mate. As I said, cinnamon (as far as I know) will require the ENTIRE gnome-3.x base to operate.
In the near future will there be a gnome 3.10 version.
I'll be staying with the stable release, and following the dropline release schedule (albeit a little slower). This means in the future there may be a 3.10 version. The mainline Porteus version is my priority so this version of gnome-3.8 will not get as much attention.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#13 by roelof » 27 Oct 2013, 08:01

Hello,

I made my first module but I see something wierd.
When I look into the module I see this :

Code: Select all

tmp
/tmp/bin
/tmp/bin/gnome-autogen.sh
/tmp/bin/gnome-doc-common
/tmp/share
/tmp/share/aclocal
/tmp/share/aclocal/gnome-code-coverage.m4
/tmp/share/aclocal/gnome-common.m4
/tmp/share/aclocal/gnome-compiler-flags.m4
/tmp/share/gnome-common
/tmp/share/gnome-common/data
/tmp/share/gnome-common/data/omf.make
/tmp/share/gnome-common/data/xmldocs.make
Why does Porteus made a tmp directory into my work dir which is /tmp/gnome-common/

Roelof

User avatar
brokenman
Site Admin
Site Admin
Posts: 5436
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Cinnamon 2.x porting

Post#14 by brokenman » 27 Oct 2013, 11:55

Why does Porteus made a tmp directory into my work dir which is /tmp/gnome-common/
I would need to know how you made the module. I don't think porteus made the tmp directory. When you do dir2xzm you specify the base directory.

dir2xzm /tmp/gnome-common /tmp/my-new-module.xzm


The directory gnome-common will not appear in the module.
How do i become super user?
Wear your underpants on the outside and put on a cape.

roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#15 by roelof » 27 Oct 2013, 12:17

I did these steps :

Code: Select all

PKG=Cinnamon-2.0.0
TMP=/tmp/$PKG
mkdir $PKG
tar xf gnome-common-3.10.0.tar.xz
sh autogen.sh
./configure --prefix=/tmp
make
make install-strip DESTDIR=$TMP || make install DESTDIR=$TMP
pushd $TMP
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/nul
dir2xzm $TMP $PKG.xzm
Like the tutorial "building a module from source" mentioned.
Roelof

Post Reply