WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: fluxbox - update request  (Read 22224 times)

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11635
Re: fluxbox - update request
« Reply #15 on: February 08, 2013, 11:58:02 AM »
Hi netnomad
Then you are free to either update it yourself, or ask  for a volunteer to do it.

Offline netnomad

  • Hero Member
  • *****
  • Posts: 1026
Re: fluxbox - update request
« Reply #16 on: February 08, 2013, 05:49:58 PM »
hi rich,

i downloaded the source of fluxbox 1.3.3, but i need to know more basics to build this windows manager for tiny core.

after loading compiletc and starting compilation with:
tc@box:~/tmp/fluxbox-1.3.3$ ./configure --prefix=/usr/local
i get the error message:
configure: error: Fluxbox requires the X Window System libraries and headers.
what set of packages need to be loaded for the compilation?
do i need to load different packages for XVESA and XORG?

fluxbox offers configure with the
options `--x-includes=DIR' and `--x-libraries=DIR' to specify
their locations!?

i use XVESA, but what should i do to make the extension also compatible with XORG?

would you give me some hints?

« Last Edit: February 08, 2013, 06:18:56 PM by netnomad »

aus9

  • Guest
Re: fluxbox - update request
« Reply #17 on: February 08, 2013, 06:41:11 PM »
netnomad
I am a simple coder, a quick and dirty build, not tested etc, compiles the stable release and does not include the files in the existing
tcz of /etc/skel

You probably want to change those skel files in any case.

I will cheat and add them later.

Once I have most things squared away, lets say within 2 days, I propose to give you the files so you can test as I have no skills with fluxbox and once you see my simple build script, I am sure you will be the maintainer etc. Because the info file says so

catcha later

below is subject to edit and again I have yet to test it all....but in case you are impatient here is the prelim build for you play with
EDIT build version 2

Code: [Select]
#!/bin/sh

# place a copy of existing fluxbox.tcz into /tmp please
# and rename it as below
########################################################
mv /tmp/fluxbox.tcz /tmp/old.tcz

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export LDFLAGS="-Wl,-O1"

tce-load -i compiletc wget submitqc4 bash
tce-load -i libxft-dev libxft Xorg-7.6-dev
tce-load -i fribidi  libxcb-dev  wxgtk-dev
tce-load -i libiconv-dev coreutils

# start
#######
cd /tmp
/usr/local/bin/wget -nc http://sourceforge.net/projects/fluxbox/files/fluxbox/1.3.3/fluxbox-1.3.3.tar.gz
tar xvf fluxbox-1.3.3.tar.gz
cd fluxbox-1.3.3
./configure --prefix=/usr/local --disable-nls
make -j3
make DESTDIR=/tmp/fluxbox install

# too large authors use AUTHORS for info link
# needs license = COPYING

# doc
#######
cd /tmp
mkdir -p fluxbox-doc/usr/local/share/doc/fluxbox-doc

mv fluxbox/usr/local/share/man fluxbox-doc/usr/local/share
cp -f fluxbox-1.3.3/AUTHORS fluxbox-doc/usr/local/share/doc/fluxbox-doc
cp -f fluxbox-1.3.3/COPYING fluxbox-doc/usr/local/share/doc/fluxbox-doc

mksquashfs fluxbox-doc fluxbox-doc.tcz
md5sum fluxbox-doc.tcz > fluxbox-doc.tcz.md5.txt
cd fluxbox-doc
find usr -not -type d > fluxbox-doc.tcz.list
mv -f fluxbox-doc.tcz.list /tmp

# main
#######
cd /tmp
mkdir -p fluxbox/usr/local/share/doc/fluxbox
cp -f fluxbox-1.3.3/AUTHORS fluxbox/usr/local/share/doc/fluxbox
cp -f fluxbox-1.3.3/COPYING fluxbox/usr/local/share/doc/fluxbox

### I need old.tcz unpacked
unsquashfs old.tcz
cp -a squashfs-root/etc/ fluxbox/
mv fluxbox/usr/local/bin/fluxbox-generate_menu fluxbox/usr/local/bin/fluxbox-generate_menu-original
cp -f squashfs-root/usr/local/bin/fluxbox-generate_menu fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_initmenu fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_makemenu fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_menu_common fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_ondemand fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_restart fluxbox/usr/local/bin/
cp -f squashfs-root/usr/local/bin/fluxbox_rmitem fluxbox/usr/local/bin/

/bin/cp -f squashfs-root/usr/local/share/fluxbox/menu fluxbox/usr/local/share/fluxbox/
cp squashfs-root/usr/local/share/fluxbox/menu_template  fluxbox/usr/local/share/fluxbox/
cp squashfs-root/usr/local/share/fluxbox/tce.menu fluxbox/usr/local/share/fluxbox/

cp -a squashfs-root/usr/local/tce.installed/ fluxbox/usr/local/
sudo chown -R root:staff fluxbox/usr/local/tce.installed
sudo chmod -R 775 fluxbox/usr/local/tce.installed

mksquashfs fluxbox fluxbox.tcz
md5sum fluxbox.tcz > fluxbox.tcz.md5.txt
cd fluxbox
find usr -not -type d > fluxbox.tcz.list
mv -f fluxbox.tcz.list /tmp

######### finish
cd /tmp
sudo submitqc4
« Last Edit: February 09, 2013, 02:44:13 AM by aus9 »

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: fluxbox - update request
« Reply #18 on: February 08, 2013, 09:09:23 PM »
gunzip fluxbox-1.3.3.tar.gz
tar xvf fluxbox-1.3.3.tar
Invoking gunzip is redundant ;)
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11635
Re: fluxbox - update request
« Reply #19 on: February 08, 2013, 09:11:48 PM »
Hi netnomad
Just a guess on my part, but since  Xorg-7.6-lib.tcz  is a dependency of many/most GUI programs as well as Xorg-7.5,
I think you may need  Xorg-7.6-dev.tcz

aus9

  • Guest
Re: fluxbox - update request
« Reply #20 on: February 09, 2013, 12:00:42 AM »
tinypoodle

good stuff! Changed to
Code: [Select]
tar xvf fluxbox-1.3.3.tar.gz

Rich
EDIT
looks like I will use  Xorg-7.6-dev in lieu of libx11-xcb afterall as it adds some nice X features, more later

I won't edit above script until I have tested more.....it was quick and its dirty
« Last Edit: February 09, 2013, 12:39:24 AM by aus9 »

aus9

  • Guest
Re: fluxbox - update request
« Reply #21 on: February 09, 2013, 02:49:59 AM »
netnomad

I have editted build script but about to send you a link so you can (if you choose) download some tcz stuff to test out.

My first test was with a wm already loaded
I should have exitted to prompt and deletecd .Xauthority but will test later

anyhow cos I did not, initially startfluxbox failed as X was already running....giggles
but when I did startx
flux started
then I ran the refresh command and tested changing themes

no other tests done as I know zip

good luck

hmmm now if you want to adopt it let me be explicit
the old tcz has scripts provided by roberts
---so you may like to check with him on their suitability....I made no edits just blind copying

I have editted the build script above for others to have a laugh at.....we need a laugh sometimes as I am idiot

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: fluxbox - update request
« Reply #22 on: February 09, 2013, 09:12:17 AM »
netnomad

sorry I was late to the party, but maybe my build script for fluxbox-1.3.3  will help you.  I used it already so I know it does work.  For your safety I've commented out the command to automatically remove any previous builds using this script in the /tmp location, in it's place i've added a manual option   ;)

if you run this script all required dependencies will be downloaded and loaded for this session, fluxbox will be compiled, stripped and installed to /tmp/fluxbox-1.3.3/stage directory.  All you'll need is to copy this script and the source tar ball to the /TMP directory and run it.   When built (takes less then a minute on my mac mini) you'll need to also copy the menu scripts and tce-installed files from the old fluxbox extension.  etc etc..   check the wiki  then build your extension. ;)

good luck

Code: [Select]
#!/bin/sh

set -o nounset
set -o errexit

# tarball version
# http://fluxbox.org/download/

SRC=""
SRC=/tmp/fluxbox-1.3.4

echo -e "\n\nFetching build dependencies..."
tce-load -wil compiletc Xorg-7.6-dev Xorg-7.6-lib Xlibs libxft-dev fontconfig-dev freetype_base-dev pixman-dev eglibc_apps eglibc_gconv \
eglibc_base-dev linux-headers-3.0.21-tinycore imake libiconv-dev libtool-dev fribidi automake autoconf libxcb-dev pkg-config
sleep 3

# Uncomment this if you're brave!  or clean up previous builds manually
#[ -d $SRC ] && find $SRC/ -type d -print0 | xargs -0 -r sudo rm -rvf

if [ -d $SRC ]; then
echo -e "\n\nPrevious build directory found, discard before continuing..."
sleep 10
exit 1
fi
if [ ! -f $SRC.tar.gz ]; then
echo -e "\n\nfluxbox.tar.gz not found, copy src tar ball to /tmp before continuing..."
sleep 10
exit 1
fi

echo -e "\n\nunpacking src..."
mkdir -p $SRC
[ -d $SRC ] && tar xvzf $SRC.tar.gz -C /tmp

echo -e "\n\nSetting file ownership..."
[ -d $SRC ] && sudo chown tc.staff -R $SRC

echo -e "\n\nExport compiler flags..."
export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe"
export LDFLAGS="-Wl,-O1"

cd $SRC

echo -e "\n\nRuning configure..."
./configure --prefix=/usr/local --enable-xinerama --enable-randr --enable-shape \
--enable-imlib2 --enable-xft --enable-xmb --enable-xpm --enable-ewmh --enable-nls --enable-fribidi | tee configure_results.txt

echo -e "\n\nRunning make + install..."
make -j3 | tee make_results.txt
sudo make install-strip DESTDIR=$(pwd)/stage

echo -e "\n done\n"

exit 2


+ added more build dependencies  & cleaned up a little
« Last Edit: February 12, 2013, 03:18:41 AM by coreplayer2 »

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11635
Re: fluxbox - update request
« Reply #23 on: February 09, 2013, 09:43:51 AM »
I don't know which options are enabled or disabled by default, so you might want to run:
Code: [Select]
fluxbox --infoand compare the results against:
http://forum.tinycorelinux.net/index.php/topic,12043.msg84093.html#msg84093

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: fluxbox - update request
« Reply #24 on: February 09, 2013, 11:41:50 AM »
I am thinking to factor out the custom TC scripts to a separate extension so as to facilitate the building of base window managers.
10+ Years Contributing to Linux Open Source Projects.

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: fluxbox - update request
« Reply #25 on: February 09, 2013, 03:41:30 PM »
fluxbox-1.3.3 default configure options    (which means some of my configure options are unnecessary, no issue though aiui)

Code: [Select]
Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-remember       include Remembering attributes (default=yes)
  --enable-regexp         regular expression support (default=yes)
  --enable-slit           include code for the Slit (default=yes)
  --enable-toolbar        include Toolbar (default=yes)
  --enable-ewmh           enable support for Extended Window Manager Hints
                          (default=yes)
  --enable-debug          include verbose debugging code (default=no)
  --enable-test           build programs used in testing fluxbox (default=no)
  --enable-nls            include native language support (default=no)
  --enable-timedcache     use new timed pixmap cache (default=yes)
  --enable-xft            Xft (antialias) support (default=yes)
  --enable-xrender        XRENDER (transparent) support (default=yes)
  --enable-xpm            XPM (pixmap themes) support (default=yes)
  --enable-imlib2         IMLIB2 (pixmap themes) support (default=yes)
  --enable-xmb            XMB (multibyte font, utf-8) support (default=yes)
  --enable-xinerama       XINERAMA extension support (default=yes)
  --enable-shape          XSHAPE extension support (default=yes)
  --enable-randr          XRANDR extension support (default=no)
  --enable-fribidi        FRIBIDI support (default=yes)


aus9

  • Guest
Re: fluxbox - update request
« Reply #26 on: February 09, 2013, 06:11:06 PM »
well I am glad other people are here, all being better coders than me
1) The copied tce.installed used does not account for users who backup /etc

2) here was my fluxbox info output
Code: [Select]
Fluxbox version: 1.3.3
Compiled: Feb  9 2013 15:18:40
Compiler: GCC
Compiler version: 4.6.1

Defaults:
    menu: /usr/local/share/fluxbox/menu
   style: /usr/local/share/fluxbox/styles/bloe
    keys: /usr/local/share/fluxbox/keys
    init: /usr/local/share/fluxbox/init

Compiled options (- => disabled):
-BIDI
-DEBUG
EWMH
IMLIB2
-NLS
REMEMBER
RENDER
SHAPE
SLIT
TOOLBAR
RANDR1.2
XFT
XINERAMA
XMB
XPM

my eyesight says one extra feature?

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: fluxbox - update request
« Reply #27 on: February 09, 2013, 06:36:33 PM »
one extra feature?   you mean -BIDI  ?

I'm not sure but it seems unnecessary without -nls   ??

aus9

  • Guest
Re: fluxbox - update request
« Reply #28 on: February 09, 2013, 07:41:13 PM »
bidi is disabled, I counted the positives
but never mind as OP is unlikely to use my build in any case

aus9

  • Guest
Re: fluxbox - update request
« Reply #29 on: February 09, 2013, 08:13:22 PM »
coreplayer2

just discovered how to enable NLS, if you are interested

I was missing gencat in the configure output and glibc_apps seems to be missing build dep
Code: [Select]
fluxbox version 1.3.3 configured successfully.

Features:
XFT IMLIB2 XINERAMA SHAPE RANDR

Using:
'/usr/local' for installation.
'$(prefix)/share/fluxbox/menu' for location menu file.
'$(prefix)/share/fluxbox/styles/bloe' by default style.
'$(prefix)/share/fluxbox/keys' for location keys file.
'$(prefix)/share/fluxbox/init' for location init file.
'$(prefix)/share/fluxbox/nls' for nls files.
'g++' for C++ compiler.

Building with:
'-march=i486 -mtune=i686 -Os -pipe   -I/usr/local/include -I/usr/include/freetype2   ' for C++ compiler flags.
'-lXrandr -lXext -lXinerama -L/usr/lib -lImlib2 -lfreetype -lz -L/usr/X11R6/lib -lX11 -lXext -ldl -lm -lXpm -lXrender -L/usr/local/lib -lXft -lXrender -lfreetype -lX11 -lfontconfig    -lX11  -liconv -liconv -lrt ' for linker flags.

Now build fluxbox with 'make'

fribidi is a build depend but still not compiling in

newer info output FWIW
Quote
EWMH
IMLIB2
NLS
REMEMBER
RENDER
SHAPE
SLIT
TOOLBAR
RANDR1.2
XFT
XINERAMA
XMB
XPM
« Last Edit: February 09, 2013, 08:22:22 PM by aus9 »