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...
roelof
Samurai
Samurai
Posts: 112
Joined: 06 Aug 2013, 15:32
Distribution: Porteus 2.1 Gnome
Location: Netherlands

Re: Cinnamon 2.x porting

Post#31 by roelof » 29 Oct 2013, 18:12

second question :

How can I do this in porteus :

Code: Select all

%install
install -m 0755 -d $RPM_BUILD_ROOT%{_datadir}/cinnamon/locale/ 
cp -Rp mo-export/* $RPM_BUILD_ROOT%{_datadir}/cinnamon/locale/
I tried to make a module of cinnamon-translations.

Roelof

User avatar
wread
Module Guard
Module Guard
Posts: 1108
Joined: 09 Jan 2011, 18:48
Distribution: Porteus v3.2.5-kde5-64 bits
Location: Santo Domingo
Contact:

Re: Cinnamon 2.x porting

Post#32 by wread » 29 Oct 2013, 22:50

@Roleof
That remains me of a film where the pilots were dead and an experienced pilot on earth had to train sombody on board of the plane to get it landed....

I bet brokenman has it up and running meanwhile...(It is not your project anymore, it is Jays and yours) 8)
Porteus is proud of the FASTEST KDE ever made.....(take akonadi, nepomuk and soprano out and you will have a decent OS).
The Porteus Community never sleeps!

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

Re: Cinnamon 2.x porting

Post#33 by roelof » 30 Oct 2013, 06:17

@wread

That is not my own project anymore it's no problem.
I''m not a totally inexperienced user for this work. I did this for a few other distro's.

The only thing I have to learn is what is the porteus way of doing this.
So how can I solve the above problem with install and do the developers of porteus find the error message a problem or not.

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#34 by roelof » 30 Oct 2013, 08:17

hello,

Another problem where I need advise how to it the porteus way.

Cinnamon does install the .pc files into /usr/lib/pkgconfig directory.
But according to the config.log Porteus uses one of these directories : PKG_CONFIG_PATH='/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib64/pkgconfig'

Is it the right way to make a patch s Cinnamon also uses one of these directories and if so, which can I use the best ?

Roelof

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

Re: Cinnamon 2.x porting

Post#35 by brokenman » 30 Oct 2013, 12:17

Yes porteus uses /usr/lib64/pkgconfig or /usr/lib/pkgconfig. If the build scripts are not using this path (they should include it) then a patch is necessary.
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#36 by roelof » 30 Oct 2013, 12:48

Oke, then I have to patch a lot of Cinnanon files so back to the beginning :(

Do I also have to make Slackbuilds files or can I place the modules when Cinnamon is ready on for example github.
And can you help me with how to install cinnamon-translations and say if the glib-schemas error message is a problem which need to be solved.

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#37 by roelof » 30 Oct 2013, 15:08

I made my first Slackbuild and it looks like this :

Code: Select all

#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012, 2013  Eric Hameleers, Eindhoven, Netherlands

# Slackware build script for gnome-common

# Written by rwobben@hotmail.com

# Based on http://slackbuilds.org/template.SlackBuild

PRGNAM=gnome-common	# replace with name of program
VERSION=${VERSION:-3.10.0}
BUILD=${BUILD:-1}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    arm*) export ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) export ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
PKG=$TMP/$PRGNAM-$VERSION
TMP=${TMP:-/tmp/$PKG}
OUTPUT=${OUTPUT:-/tmp}	# Drop the package in /tmp

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e # Exit on most errors
# If you prefer to do selective error checking with
#   command || exit 1
# then that's also acceptable.

echo " Downloading the package"
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
rm -rf /tmp/$PRGNAM-$VERSION
wget http://ftp.acc.umu.se/pub/GNOME/sources/gnome-common/3.10/$PRGNAM-$VERSION.tar.xz
tar xvf $PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

# Your application will probably need different configure flags;
# these are provided as an example only.
# Be sure to build only shared libraries unless there's some need for
# static.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
sh autogen.sh --prefix=/usr/

# Compile the application and install it into the $PKG directory
make
make install-strip DESTDIR=$TMP || make install DESTDIR=$TMP

# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
echo "Now we are stripping the package"
pushd $TMP
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null


# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contents of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
echo "Now we are making the module"
echo 
popd
dir2xzm $TMP $PKG.xzm
But it seems that the module making never works. The last output is "now we are stripping the package"

Can anyone tell me what I did wrong ?

Roelof

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

Re: Cinnamon 2.x porting

Post#38 by brokenman » 30 Oct 2013, 15:30

Firstly, a slackbuild should produce a slackware package. All slackbuilds make a package using: makepkg which creates some important files such as /var/log/packages/gnome-common*

You should create a slackware package (there is probably already a slackbuild written for this) then convert the package into a porteus module.

I see in your code that you: pushd $TMP and then try to create a module from the directory that you are in. You should exit the directory first.This may be your problem.

For the record I just spent 30 minutes compiling cinnamon in gnome-3.8 and mostly it goes well. A few packages missing but no major errors. I've already said it but I want to say it again ... compiling cinnamon against mate is a bad idea. What will you do when cinnamon requires a gnome dependency (like libgnomekbd) and this doesn't exist in mate because they have changed all the libraries to things like libmatekbd? You'll learn a lot about how to compile stuff but I think there are easier ways.
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#39 by roelof » 30 Oct 2013, 15:37

oke,

So I have to make a pbuild file then ?
If I made a pbuild how can I check if im on a i586 or a x86_64 machine ?
And can I change my mate into a gnome-enviroment without any problems by downloading the gnome-3.8 module and deactivate the mate desktop-module.
Are you building cinnamon-2.x or cinnamon 1.8.8.1 ?

Roelof

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

Re: Cinnamon 2.x porting

Post#40 by brokenman » 30 Oct 2013, 16:04

So I have to make a pbuild file then ?
As I said you should make a slackware package and then convert it into a porteus module. txz2xzm package.txz module.xzm
You can script this and call it a pBuild if you want.
If I made a pbuild how can I check if im on a i586 or a x86_64 machine ?

Code: Select all

[ `uname -m|grep 64` ]  && arch=x86_64 || arch=i486
And can I change my mate into a gnome-enviroment without any problems by downloading the gnome-3.8 module and deactivate the mate desktop-module.
No. There is no gnome-3.8 module. I've made an ISO which has core packages updated. You can get it here and then open the 'bundles' program and download the devpack. You will also need to recompile: fontconfig, cjs and some others as slackbuilds usually remove the .la files.

I compiled the latest git packages. It isn't running yet. cinnamon-settings-something complains about not having libgnomekbdui which I am working on. Everything else compiles.
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#41 by roelof » 30 Oct 2013, 16:58

pity,

I begin this to learn to become a good module maker so maybe later I could become the maintainer of Cinnamon.

Roelof

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

Re: Cinnamon 2.x porting

Post#42 by brokenman » 30 Oct 2013, 17:56

Carry on. You will certainly learn a lot about compiling by doing this. I am here to answer any questions you may have and try to help make it a little easier. You could probably compile this and get it working with mate, but it is not going to be 'a walk in the park' because of how mate changes the libraries, and that cinnamon on git probably requires later versions of some packages. You can always install those. For example I think you will need libgnomekbd because mate ships libmatekbd which cinnamon is not going to look for.
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#43 by roelof » 30 Oct 2013, 18:01

Oke,

I will carry on.
Can you answer then my questions about the errors with glib-schemas and how can I make a module about cinnamon-translations.

If I understand you right I have to make a slackbuild make it with makepkg and then convert it into a module ?
Does makepkg work on porteus ?

Roelof

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

Re: Cinnamon 2.x porting

Post#44 by brokenman » 30 Oct 2013, 20:08

Don't worry about the schema deprecated output just yet. You should focus on getting cinnamon running. This won't effect the functionality.
Don't worry about translations until you get cinnamon running. If it doesn't run, there is no use for translations.
If I understand you right I have to make a slackbuild make it with makepkg and then convert it into a module ?
Yes. Look in any existing slackbuild.
makepkg -l y -c n /tmp/mypackage-1.2.3-x86_64-1.txz

I recommend searching for and cloning phantomx slackbuilds. These will contain many of the required 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#45 by roelof » 30 Oct 2013, 21:04

Thanks for the tip.

Roelof

Post Reply