[HOWTO] Create a Razor-Qt DE + build/install 3rd party apps

Post your tutorials and howtos here.
User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

[HOWTO] Create a Razor-Qt DE + build/install 3rd party apps

Postby hushpuppy » 14 Dec 2013 12:23

Introduction.

This howto is intended to describe how to install lightdm, openbox, razor-qt, and to build and install third party Qt applications. It is based on a SolydX install with much of the bloat and some unreliable apps already removed. The following have previously been purged: oxygen-icon-theme, oxygencursors, firefox, thunderbird, debian-plymouth-manager, plymouth, amongst others.

The goal is to create a razor-qt desktop, with the intention of upgrading to Lxde-qt (Lxqt), and purging as much of Xfce and dependent gnome packages as possible, to create a lightweight, efficient environment.

It will be split into individual posts describing each part of the process. Please be patient: my timezone is GMT, and I post slowly. Only a minimal amount of knowledge about using a terminal, apt, dpkg, synaptic, dh_make, and a suitable text editor is required.

Preparation.

It may well be worth having a handy copy of the Debian New Maintainers' Guide, dated Dec 22 2013. If in doubt, the Debian guide is authoritative, except where it isn't, in which case the Debian docs it links to are.

As always, if you're uncertain about how this may affect your system, make a backup first. Almost everything will be done in a root shell. Be aware that careless commands can wreck your system. This process works for me, and cannot be guaranteed to work for everyone. Although I've been using UNIX and various flavors of GNU/Linux for more than twenty years, much of this is new to me, I will make mistakes, and there will be better, more efficient ways to tackle this project. Posts will be edited, and a changelog maintained to reflect any improvements.

The first thing to do is start a terminal window such as xfce4-terminal. At the prompt, start a root session:

Code: Select all

$ sudo -s
double click the terminal tab and give it a title: INSTALL. Create a new tab, start a root session, and give it a title: HELP. Create a new tab, give it a title: MISC. The INSTALL tab will be used for all the installation/building commands; the HELP tab will be used for looking up things; the MISC tab can be used for things that really do not require root privileges. If you want, create a HOWTO tab to document your own progress.

At the end of the session, we can use

Code: Select all

history -w ~/.razor-install-history; history -w ~/.razor-help-history, history -w ~/.razor-misc-history
to save the history of each respective tab, and then

Code: Select all

history -r ~/.razor-[title]-history
to restore the history at a later time.

Choose a directory to work in with plenty of free disk space. I have an external /share/user where I can create a new directory and cd to it. In the INSTALL tab:

Code: Select all

# mkdir /share/user/QT
# cd [esc].
where [esc] is the escape key. [esc]. is a shortcut for the last item in the previous command. Now, we should be ready to begin.

Changelog.
2013.12.15: Added Arch Linux qt package list to resources list.
2013.12.15: Rebuilt razorqt from source. Requires a new bugfix post to document changes.
2013.12.16: Razor 0.6 has been announced as the upcoming final version of Razor-qt.
2013.12.17: Fixed duplicated links in and rearranged the resources list - thanks zerozero.
2013.12.18: Because of Canonicals' CLA, consider using sddm instead of LightDM
2013.12.21: link to new debian maintainers' guide added to OP (this time with submit, not just preview :sigh:)

Next part: Installing LightDM.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Installing LightDM

Postby hushpuppy » 14 Dec 2013 14:08

Installing LightDM.

LightDM is a simple display manager. It is usually the first thing you see when the boot process has finished, but can be bypassed. For something simple, it's configuration can be complicated.

In MISC:

Code: Select all

$ apt show lightdm
Package: lightdm
New: yes
State: not installed
Automatically installed: no
Version: 1.6.3-1
Priority: optional
Section: x11
Maintainer: Debian Xfce Maintainers <pkg-xfce-devel@lists.alioth.debian.org>
Architecture: i386
Uncompressed Size: 1,211 k
Depends: libc6 (>= 2.4), libgcrypt11 (>= 1.4.5), libglib2.0-0 (>= 2.35.9),
         libpam0g (>= 0.99.7.1), libxcb1, libxdmcp6, debconf (>= 0.5) |
         debconf-2.0, lightdm-gtk-greeter | lightdm-greeter, dbus, consolekit,
         adduser
Recommends: xserver-xorg
Suggests: accountsservice, upower
Provides: x-display-manager
Description: simple display manager
 An X display manager that: 
 * Has a lightweight codebase 
 * Is standards compliant (PAM, ConsoleKit, etc) 
 * Has a well defined interface between the server and user interface 
 * Fully themeable 
 * Cross-desktop (greeters can be written in any toolkit)
Homepage: https://launchpad.net/lightdm
The important thing to note is the Depends: lightdm-gtk-greeter | lightdm-greeter. There are at least two other greeters that can be used: lightdm-kde-greeter or razorqt-lightdm-greeter. I would consider this a bug that should be reported. Later, we will install razorqt-lightdm-greeter and eventually purge lightdm-gtk-greeter if necessary. Also, note that razorqt-lightdm-greeter doesn't follow the naming convention of the other greeters, another bug that should be reported.

I have wdm installed, so I'm going to replace that with LightDM in the INSTALL tab:

Code: Select all

# apt-get install lightdm | tee log.lightdm
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  liblightdm-gobject-1-0 lightdm-gtk-greeter
Recommended packages:
  desktop-base gnome-themes-standard
The following NEW packages will be installed:
  liblightdm-gobject-1-0 lightdm lightdm-gtk-greeter
0 upgraded, 3 newly installed, 0 to remove and 195 not upgraded.
Need to get 202 kB of archives.
After this operation, 1,541 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.solydxk.com/production/ testing/main liblightdm-gobject-1-0 i386 1.6.3-1 [38.7 kB]
Get:2 http://debian.solydxk.com/production/ testing/main lightdm-gtk-greeter i386 1.6.1-4 [46.7 kB]
Get:3 http://debian.solydxk.com/production/ testing/main lightdm i386 1.6.3-1 [117 kB]
Preconfiguring packages ...
Fetched 202 kB in 10s (19.4 kB/s)
Selecting previously unselected package liblightdm-gobject-1-0.
(Reading database ... 145468 files and directories currently installed.)
Unpacking liblightdm-gobject-1-0 (from .../liblightdm-gobject-1-0_1.6.3-1_i386.deb) ...
Selecting previously unselected package lightdm-gtk-greeter.
Unpacking lightdm-gtk-greeter (from .../lightdm-gtk-greeter_1.6.1-4_i386.deb) ...
Selecting previously unselected package lightdm.
Unpacking lightdm (from .../lightdm_1.6.3-1_i386.deb) ...
Processing triggers for man-db ...
Setting up liblightdm-gobject-1-0 (1.6.3-1) ...
Setting up lightdm-gtk-greeter (1.6.1-4) ...
update-alternatives: warning: /etc/alternatives/lightdm-greeter is dangling; it will be updated with best choice
update-alternatives: using /usr/share/xgreeters/lightdm-gtk-greeter.desktop to provide /usr/share/xgreeters/lightdm-greeter.desktop (lightdm-greeter) in auto mode
Setting up lightdm (1.6.3-1) ...
Adding group `lightdm' (GID 121) ...
Done.
Adding system user `lightdm' (UID 111) ...
Adding new user `lightdm' (UID 111) with group `lightdm' ...
Creating home directory `/var/lib/lightdm' ...
usermod: no changes
usermod: no changes
usermod: no changes
[ ok ] Reloading system message bus config...done.
Processing triggers for libc-bin ...
localepurge: Disk space freed in /usr/share/locale: 628 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 628 KiB
Note that because lightdm-gtk-greeter is the first optional greeter, it gets installed by default. We're also logging everything. In this case, the output of apt-get is piped through tee to stdout and log.lightdm so that we can review things later.

As part of the configuration, we're automatically asked to choose which display manager we want to use by default:

Code: Select all

                                                            Configuring lightdm                                                              
A display manager is a program that provides graphical login capabilities for the X Window System.

Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which display manager should run by default.

Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure the display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display manager.                                                                                                                                                          

Default display manager:                                                                                                                     
                                                                                                                                                                                                                 lightdm                                                                      
                 wdm                                                                          
                                                                                                                                                                                        
                                                                   <Ok> 
So we choose lightdm.

We could also choose to install lightdm-manager. In MISC:

Code: Select all

$ apt show lightdm-manager
Package: lightdm-manager
New: yes
State: not installed
Version: 0.6.0
Priority: optional
Section: admin
Maintainer: Schoelje <schoelje@solydxk.com>
Architecture: all
Uncompressed Size: 324 k
Depends: python3, python3-gi, python3-apt, gir1.2-gtk-3.0, lightdm-gtk-greeter |
         lightdm-kde-greeter
Description: Manager for LightDM.
 
Homepage: http://solydxk.com/
This doesn't configure much of LightDM, only allowing to choose which users can auto-login, whether users should be hidden, and which theme to use. It also doesn't support Razor-qt, and depends on python3, so we're going to pass on this. Of course, later we could choose to help Schoelje and add support for Razor.

At this point, we could check that LightDM works, but I already know that my Elantech touchpad won't work, so I need to edit in INSTALL:

Code: Select all

# vi /usr/share/X11/xorg.conf.d/50-synaptics.conf

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
so I add the following to the end of the file:

Code: Select all

#Sample /etc/X11/xorg.conf.d/10-synaptics.conf
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchDevicePath "/dev/input/event*"
        MatchIsTouchpad "true"
        Option  "SHMConfig"           "true"
        Option  "TapButton1"          "1"
        Option  "TapButton2"          "3"
        Option  "TapButton3"          "2"
        Option  "ClickFinger1"        "1"
        Option  "ClickFinger2"        "1"
        Option  "ClickFinger3"        "1"
EndSection
and then copy it

Code: Select all

cp -p [esc]. /etc/X11/xorg.conf.d
Now I can save all histories as described above and log out. We should see the lightdm-gtk-greeter. As everything defaults to Xfce, we can just enter username and password, and we're back.

To carry on where we left off, we restart xfce4-terminal, recreate the tabs, and use

Code: Select all

history -r ~/.razor-[title]-history
to reload the histories for each tab, and cd to /share/user/QT.

LightDM is installed and working, but we'll have to come back to it again when we install razorqt.

Next part: Installing OpenBox.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Installing Openbox.

Postby hushpuppy » 14 Dec 2013 15:29

Installing Openbox.

This is the simplest step, but first let's look at other window managers in MISC:

Code: Select all

$ apt show kde-window-manager
Package: kde-window-manager
State: not installed
Version: 4:4.10.5-3
Priority: optional
Section: x11
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Architecture: i386
Uncompressed Size: 9,137 k
Depends: kde-runtime (> 4:4.10), kde-style-oxygen (= 4:4.10.5-3), libc6 (>=
         2.4), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libice6 (>=
         1:1.0.0), libkactivities6 (>= 4:4.10), libkcmutils4 (>= 4:4.4.95),
         libkdeclarative5 (>= 4:4.7.0), libkdecorations4abi1 (= 4:4.10.5-3),
         libkdecore5 (>= 4:4.4.0), libkdeui5 (>= 4:4.7.0), libkio5 (>= 4:4.4.0),
         libknewstuff3-4 (>= 4:4.4.0), libkwineffects1abi4 (= 4:4.10.5-3),
         libkwinglutils1abi1 (= 4:4.10.5-3), libkworkspace4abi2 (= 4:4.10.5-3),
         libplasma3 (>= 4:4.4.95), libqt4-dbus (>= 4:4.6.1), libqt4-declarative
         (>= 4:4.7.0~rc1), libqt4-script (>= 4:4.6.1), libqtcore4 (>= 4:4.8.0),
         libqtgui4 (>= 4:4.8.0), libsm6, libstdc++6 (>= 4.1.1), libx11-6,
         libx11-xcb1, libxcb-damage0, libxcb-xfixes0, libxcb1, libxcomposite1
         (>= 1:0.3-1), libxcursor1 (> 1.1.2), libxext6, libxfixes3 (>= 1:4.0.1),
         libxrandr2 (>= 2:1.2.0), libxrender1, libxxf86vm1
Breaks: kde-style-bespin (< 0.r1552-1+), kde-style-skulpture, kde-workspace-data
        (< 4:4.8.4-0r5), kdeartwork-theme-window (< 4:4.9.5),
        kdebase-workspace-data (< 4:4.7.2), kwin-style-crystal (< 2.2.1),
        kwin-style-dekorator, kwin-style-qtcurve (< 1.8.14-2+)
Replaces: kde-workspace-data (< 4:4.8.4-0r5), kdebase-workspace-data (< 4:4.7.2)
Provides: x-window-manager
Description: K window manager (KWin)
 This package contains KWin, the KDE window manager, featuring
 hardware-accelerated compositing effects. 
 
 This package is part of the KDE base workspace module.
Homepage: http://www.kde.org/
kwin would give us all the bells and whistles we could ever want at the cost of all those KDE dependences.

Code: Select all

$ apt show xfwm4
Package: xfwm4
State: installed
Automatically installed: no
Version: 4.10.1-2
Priority: optional
Section: xfce
Maintainer: Debian Xfce Maintainers <pkg-xfce-devel@lists.alioth.debian.org>
Architecture: i386
Uncompressed Size: 2,171 k
Depends: libc6 (>= 2.4), libdbus-glib-1-2 (>= 0.78), libgdk-pixbuf2.0-0 (>=
         2.22.0), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.24.0),
         libpango-1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.7),
         libwnck22 (>= 2.30.0-3), libx11-6, libxcomposite1 (>= 1:0.3-1),
         libxdamage1 (>= 1:1.1), libxext6, libxfce4ui-1-0 (>= 4.9.0),
         libxfce4util6 (>= 4.9.0), libxfconf-0-2 (>= 4.6.0), libxfixes3,
         libxrandr2, libxrender1
Recommends: xfwm4-themes, librsvg2-common
Suggests: xfce4
Provides: x-window-manager
Description: window manager of the Xfce project
 This package contains xfwm4 which is the window manager for Xfce4.  It is
 designed to run with the rest of Xfce4 but makes a capable window manager for
 GNOME or KDE. 
 
 Install xfwm4 if you want a small, resource saving window manager which
 complies to the standards defined at http://www.freedesktop.org/. Without xfce4
 installed this only gives you a window manager not the full environment.
Homepage: http://www.xfce.org/
xfwm4 is light-weight, but is more suitable for gnome than qt.

Code: Select all

$ apt show openbox
Package: openbox
State: not installed
Version: 3.5.0-8
Priority: optional
Section: x11
Maintainer: Mateusz Łukasik <mati75@linuxmint.pl>
Architecture: i386
Uncompressed Size: 1,337 k
Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.35.9), libice6 (>= 1:1.0.0),
         libobrender27 (>= 3.5.0), libobt0 (>= 3.5.0), libsm6,
         libstartup-notification0 (>= 0.7), libx11-6, libxext6, libxinerama1,
         libxml2 (>= 2.7.4), libxrandr2, libxrender1, python-xdg
Recommends: openbox-themes, obconf
Suggests: menu, ttf-dejavu, python, libxml2-dev
Breaks: menu (< 2.1.12)
Provides: x-session-manager, x-window-manager
Description: standards-compliant, fast, light-weight, extensible window manager
 Openbox works with your applications, and makes your desktop easier to manage.
 This is because the approach to its development was the opposite of what seems
 to be the general case for window managers. Openbox was written first to comply
 with standards and to work properly. Only when that was in place did the team
 turn to the visual interface. 
 
 Openbox is fully functional as a stand-alone working environment, or can be
 used as a drop-in replacement for the default window manager in the GNOME or
 KDE desktop environments. 
 
 Openbox 3 is a completely new breed of window manager. It is not based upon any
 existing code base, although the visual appearance has been based upon that of
 Blackbox. Openbox 2 was based on the Blackbox 0.65.0 codebase. 
 
 Some of the things to look for in Openbox are: 
 
 * ICCCM and EWMH compliance! 
 * Very fast 
 * Chainable key bindings 
 * Customizable mouse actions 
 * Window resistance 
 * Multi-head Xinerama support! 
 * Pipe menus
Homepage: http://www.openbox.org
Openbox recommends openbox-themes and obconf:

Code: Select all

apt show openbox-themes
Package: openbox-themes
State: not installed
Version: 1.0.2
Priority: optional
Section: x11
Maintainer: Chess Griffin <chess@chessgriffin.com>
Architecture: all
Uncompressed Size: 6,279 k
Depends: openbox (>= 3.0)
Description: Themes for the Openbox window manager
 This package contains various themes for the Openbox window manager.

Code: Select all

$ apt show obconf
Package: obconf
State: not installed
Version: 1:2.0.3+20110805+debian-1
Priority: optional
Section: x11
Maintainer: Debian LXDE Maintainers <lxde-debian@lists.lxde.org>
Architecture: i386
Uncompressed Size: 817 k
Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libcairo2 (>= 1.2.4),
         libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgdk-pixbuf2.0-0
         (>= 2.22.0), libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.24.0),
         libgtk2.0-0 (>= 2.24.0), libice6 (>= 1:1.0.0), libimlib2, libobt0,
         libpango1.0-0 (>= 1.18.0), libsm6, libstartup-notification0 (>= 0.2),
         libx11-6, libxft2 (> 2.1.1), libxml2 (>= 2.7.4)
Recommends: openbox
Description: preferences manager for Openbox window manager
 ObConf is a small graphical utility which configures the window manager
 Openbox' preferences and configuration settings on the fly. 
 
 If you are an Openbox user, you may want this package.
Homepage: http://www.openbox.org/wiki/ObConf:About
I'd much prefer it if obconf was renamed openbox-conf for consistency. Anyway, we'll install all three at once in INSTALL:

Code: Select all

# apt-get install openbox openbox-themes obconf | tee log.openbox
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  libobrender27 libobt0
Suggested packages:
  menu ttf-dejavu python libxml2-dev
The following NEW packages will be installed:
  libobrender27 libobt0 obconf openbox openbox-themes
0 upgraded, 5 newly installed, 0 to remove and 189 not upgraded.
Need to get 855 kB of archives.
After this operation, 8,745 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.solydxk.com/production/ testing/main libobt0 i386 3.5.0-8 [66.1 kB]
Get:2 http://debian.solydxk.com/production/ testing/main libobrender27 i386 3.5.0-8 [77.5 kB]
Get:3 http://debian.solydxk.com/production/ testing/main obconf i386 1:2.0.3+20110805+debian-1 [149 kB]
Get:4 http://debian.solydxk.com/production/ testing/main openbox i386 3.5.0-8 [327 kB]
Get:5 http://debian.solydxk.com/production/ testing/main openbox-themes all 1.0.2 [235 kB]
Fetched 855 kB in 8s (107 kB/s)
Selecting previously unselected package libobt0.
(Reading database ... 143862 files and directories currently installed.)
Unpacking libobt0 (from .../libobt0_3.5.0-8_i386.deb) ...
Selecting previously unselected package libobrender27.
Unpacking libobrender27 (from .../libobrender27_3.5.0-8_i386.deb) ...
Selecting previously unselected package obconf.
Unpacking obconf (from .../obconf_1%3a2.0.3+20110805+debian-1_i386.deb) ...
Selecting previously unselected package openbox.
Unpacking openbox (from .../openbox_3.5.0-8_i386.deb) ...
Selecting previously unselected package openbox-themes.
Unpacking openbox-themes (from .../openbox-themes_1.0.2_all.deb) ...
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for mime-support ...
Processing triggers for menu ...
Processing triggers for man-db ...
Processing triggers for shared-mime-info ...
Setting up libobt0 (3.5.0-8) ...
Setting up libobrender27 (3.5.0-8) ...
Setting up obconf (1:2.0.3+20110805+debian-1) ...
Setting up openbox (3.5.0-8) ...
Processing triggers for menu ...
Setting up openbox-themes (1.0.2) ...
Processing triggers for libc-bin ...
localepurge: Disk space freed in /usr/share/locale: 584 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 584 KiB
That's it. Openbox is installed, and we can switch to it immediately in INSTALL:

Code: Select all

# openbox --replace &
[1] 8414
pc QT # Openbox-Warning: Openbox is configured for 4 desktops, but the current session has 7.  Overriding the Openbox configuration.
Now, we can make it look better by choosing a theme with Menu > Settings > Openbox Configuration Manager. And to make Openbox the default, in INSTALL:

Code: Select all

# update-alternatives --config x-window-manager
There are 2 choices for the alternative x-window-manager (providing /usr/bin/x-window-manager).

  Selection    Path              Priority   Status
------------------------------------------------------------
  0            /usr/bin/openbox   90        auto mode
  1            /usr/bin/openbox   90        manual mode
* 2            /usr/bin/xfwm4     60        manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/openbox to provide /usr/bin/x-window-manager (x-window-manager) in manual mode
We could also start an openbox-session, but we'll keep the current xfce4 session

Code: Select all

# update-alternatives --config x-session-manager
There are 2 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).

  Selection    Path                      Priority   Status
------------------------------------------------------------
  0            /usr/bin/openbox-session   40        auto mode
  1            /usr/bin/openbox-session   40        manual mode
* 2            /usr/bin/xfce4-session     40        manual mode

Press enter to keep the current choice[*], or type selection number:
Now, we can get on to the main reason for doing all this:

Next part: Installing Razor-qt
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Installing Razor-qt

Postby hushpuppy » 14 Dec 2013 17:49

Installing Razor-qt

This really couldn't be easier. Let's have a look at the meta package:

Code: Select all

$ apt show razorqt
Package: razorqt
New: yes
State: not installed
Version: 0.5.2-2
Priority: optional
Section: metapackages
Maintainer: Manuel A. Fernandez Montecelo <mafm@debian.org>
Architecture: all
Uncompressed Size: 42.0 k
Depends: razorqt-appswitcher (>= 0.5.2-2), razorqt-autosuspend (>= 0.5.2-2),
         razorqt-config (>= 0.5.2-2), razorqt-confupdate (>= 0.5.2-2),
         razorqt-desktop (>= 0.5.2-2), razorqt-globalkeyshortcuts (>= 0.5.2-2),
         razorqt-notificationd (>= 0.5.2-2), razorqt-openssh-askpass (>=
         0.5.2-2), razorqt-panel (>= 0.5.2-2), razorqt-policykit-agent (>=
         0.5.2-2), razorqt-power (>= 0.5.2-2), razorqt-runner (>= 0.5.2-2),
         razorqt-session (>= 0.5.2-2), openbox | kde-window-manager |
         x-window-manager
Recommends: x-display-manager, openbox
Description: Lightweight desktop environment, all components
 Razor-qt is an advanced, easy-to-use, and fast desktop environment based on Qt
 technologies.  It has been tailored for users who value simplicity, speed, and
 an intuitive interface.  Unlike most desktop environments, Razor-qt also works
 fine with less powerful machines. 
 
 While still a new project, Razor-qt already contains the key DE components
 (components can be used separately, not all of them need to be used at once): 
 
 * Panel 
 * Desktop 
 * Application launcher 
 * Settings center 
 * Sessions 
   
 Razor-qt works with various WMs.  Most of Razor developers use Openbox, but
 other modern WMs can be used, such as fwwm2 to kwin. 
 
 This metapackage provides all the components of Razor-qt.
Homepage: http://razor-qt.org/
So, let's see what happens:

Code: Select all

# apt-get install razorqt | tee log.razorqt
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  libqtxdg0 librazorqt0 qt4-qtconfig razorqt-appswitcher razorqt-autosuspend
  razorqt-config razorqt-confupdate razorqt-data razorqt-desktop
  razorqt-globalkeyshortcuts razorqt-notificationd razorqt-openssh-askpass
  razorqt-panel razorqt-policykit-agent razorqt-power razorqt-runner
  razorqt-session
Recommended packages:
  menu-xdg
The following NEW packages will be installed:
  libqtxdg0 librazorqt0 qt4-qtconfig razorqt razorqt-appswitcher
  razorqt-autosuspend razorqt-config razorqt-confupdate razorqt-data
  razorqt-desktop razorqt-globalkeyshortcuts razorqt-notificationd
  razorqt-openssh-askpass razorqt-panel razorqt-policykit-agent razorqt-power
  razorqt-runner razorqt-session
0 upgraded, 18 newly installed, 0 to remove and 189 not upgraded.
Need to get 12.2 MB of archives.
After this operation, 18.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.solydxk.com/production/ testing/main libqtxdg0 i386 0.5.2-2 [182 kB]
Get:2 http://debian.solydxk.com/production/ testing/main librazorqt0 i386 0.5.2-2 [273 kB]
Get:3 http://debian.solydxk.com/production/ testing/main qt4-qtconfig i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [133 kB]
Get:4 http://debian.solydxk.com/production/ testing/main razorqt-data all 0.5.2-2 [9,663 kB]
Get:5 http://debian.solydxk.com/production/ testing/main razorqt-appswitcher i386 0.5.2-2 [31.1 kB]
Get:6 http://debian.solydxk.com/production/ testing/main razorqt-autosuspend i386 0.5.2-2 [74.9 kB]
Get:7 http://debian.solydxk.com/production/ testing/main razorqt-config i386 0.5.2-2 [359 kB]
Get:8 http://debian.solydxk.com/production/ testing/main razorqt-confupdate i386 0.5.2-2 [62.5 kB]
Get:9 http://debian.solydxk.com/production/ testing/main razorqt-desktop i386 0.5.2-2 [326 kB]
Get:10 http://debian.solydxk.com/production/ testing/main razorqt-globalkeyshortcuts i386 0.5.2-2 [22.0 kB]
Get:11 http://debian.solydxk.com/production/ testing/main razorqt-notificationd i386 0.5.2-2 [75.7 kB]
Get:12 http://debian.solydxk.com/production/ testing/main razorqt-openssh-askpass i386 0.5.2-2 [22.3 kB]
Get:13 http://debian.solydxk.com/production/ testing/main razorqt-panel i386 0.5.2-2 [542 kB]
Get:14 http://debian.solydxk.com/production/ testing/main razorqt-policykit-agent i386 0.5.2-2 [32.1 kB]
Get:15 http://debian.solydxk.com/production/ testing/main razorqt-power i386 0.5.2-2 [29.8 kB]
Get:16 http://debian.solydxk.com/production/ testing/main razorqt-runner i386 0.5.2-2 [259 kB]
Get:17 http://debian.solydxk.com/production/ testing/main razorqt-session i386 0.5.2-2 [140 kB]
Get:18 http://debian.solydxk.com/production/ testing/main razorqt all 0.5.2-2 [7,892 B]
Fetched 12.2 MB in 9min 1s (22.6 kB/s)
Selecting previously unselected package libqtxdg0:i386.
(Reading database ... 145523 files and directories currently installed.)
Unpacking libqtxdg0:i386 (from .../libqtxdg0_0.5.2-2_i386.deb) ...
Selecting previously unselected package librazorqt0:i386.
Unpacking librazorqt0:i386 (from .../librazorqt0_0.5.2-2_i386.deb) ...
Selecting previously unselected package qt4-qtconfig.
Unpacking qt4-qtconfig (from .../qt4-qtconfig_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package razorqt-data.
Unpacking razorqt-data (from .../razorqt-data_0.5.2-2_all.deb) ...
Selecting previously unselected package razorqt-appswitcher.
Unpacking razorqt-appswitcher (from .../razorqt-appswitcher_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-autosuspend.
Unpacking razorqt-autosuspend (from .../razorqt-autosuspend_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-config.
Unpacking razorqt-config (from .../razorqt-config_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-confupdate.
Unpacking razorqt-confupdate (from .../razorqt-confupdate_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-desktop.
Unpacking razorqt-desktop (from .../razorqt-desktop_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-globalkeyshortcuts.
Unpacking razorqt-globalkeyshortcuts (from .../razorqt-globalkeyshortcuts_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-notificationd.
Unpacking razorqt-notificationd (from .../razorqt-notificationd_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-openssh-askpass.
Unpacking razorqt-openssh-askpass (from .../razorqt-openssh-askpass_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-panel.
Unpacking razorqt-panel (from .../razorqt-panel_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-policykit-agent.
Unpacking razorqt-policykit-agent (from .../razorqt-policykit-agent_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-power.
Unpacking razorqt-power (from .../razorqt-power_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-runner.
Unpacking razorqt-runner (from .../razorqt-runner_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt-session.
Unpacking razorqt-session (from .../razorqt-session_0.5.2-2_i386.deb) ...
Selecting previously unselected package razorqt.
Unpacking razorqt (from .../razorqt_0.5.2-2_all.deb) ...
Processing triggers for menu ...
Processing triggers for man-db ...
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for mime-support ...
Processing triggers for hicolor-icon-theme ...
Setting up libqtxdg0:i386 (0.5.2-2) ...
Setting up librazorqt0:i386 (0.5.2-2) ...
Setting up qt4-qtconfig (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up razorqt-data (0.5.2-2) ...
Setting up razorqt-appswitcher (0.5.2-2) ...
Setting up razorqt-autosuspend (0.5.2-2) ...
Setting up razorqt-config (0.5.2-2) ...
Setting up razorqt-confupdate (0.5.2-2) ...
Setting up razorqt-desktop (0.5.2-2) ...
Setting up razorqt-globalkeyshortcuts (0.5.2-2) ...
Setting up razorqt-notificationd (0.5.2-2) ...
Setting up razorqt-openssh-askpass (0.5.2-2) ...
Setting up razorqt-panel (0.5.2-2) ...
Setting up razorqt-policykit-agent (0.5.2-2) ...
Setting up razorqt-power (0.5.2-2) ...
Setting up razorqt-runner (0.5.2-2) ...
Setting up razorqt-session (0.5.2-2) ...
Setting up razorqt (0.5.2-2) ...
Processing triggers for libc-bin ...
Processing triggers for menu ...
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB
So far, so good. Let's have another look at some alternatives:

Code: Select all

$ update-alternatives --display lightdm-greeter
lightdm-greeter - auto mode
  link currently points to /usr/share/xgreeters/lightdm-gtk-greeter.desktop
/usr/share/xgreeters/lightdm-gtk-greeter.desktop - priority 60
Current 'best' version is '/usr/share/xgreeters/lightdm-gtk-greeter.desktop'.
Where's razorqt-lightdm-greeter

Code: Select all

$ apt show razorqt-lightdm-greeter | grep State
State: not installed
Bug or intentional? Anyway, easy enough to install:

Code: Select all

# apt-get install razorqt-lightdm-greeter | tee log.razorqt.greeter
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  liblightdm-qt-2-0
The following NEW packages will be installed:
  liblightdm-qt-2-0 razorqt-lightdm-greeter
0 upgraded, 2 newly installed, 0 to remove and 189 not upgraded.
Need to get 67.6 kB of archives.
After this operation, 255 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.solydxk.com/production/ testing/main liblightdm-qt-2-0 i386 1.6.3-1 [38.2 kB]
Get:2 http://debian.solydxk.com/production/ testing/main razorqt-lightdm-greeter i386 0.5.2-2 [29.3 kB]
Fetched 67.6 kB in 2s (30.3 kB/s)
Selecting previously unselected package liblightdm-qt-2-0.
(Reading database ... 147091 files and directories currently installed.)
Unpacking liblightdm-qt-2-0 (from .../liblightdm-qt-2-0_1.6.3-1_i386.deb) ...
Selecting previously unselected package razorqt-lightdm-greeter.
Unpacking razorqt-lightdm-greeter (from .../razorqt-lightdm-greeter_0.5.2-2_i386.deb) ...
Processing triggers for man-db ...
Setting up liblightdm-qt-2-0 (1.6.3-1) ...
Setting up razorqt-lightdm-greeter (0.5.2-2) ...
Processing triggers for libc-bin ...
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB
Unfortunately:

Code: Select all

$ update-alternatives --display lightdm-greeter
lightdm-greeter - auto mode
  link currently points to /usr/share/xgreeters/lightdm-gtk-greeter.desktop
/usr/share/xgreeters/lightdm-gtk-greeter.desktop - priority 60
Current 'best' version is '/usr/share/xgreeters/lightdm-gtk-greeter.desktop'.
So we need to set this up manually:

Code: Select all

# update-alternatives --install '/usr/share/xgreeters/lightdm-greeter.desktop' lightdm-greeter '/usr/share/xgreeters/lightdm-razor-greeter.desktop' 60
# update-alternatives --config lightdm-greeter
There are 2 choices for the alternative lightdm-greeter (providing /usr/share/xgreeters/lightdm-greeter.desktop).

  Selection    Path                                                Priority   Status
------------------------------------------------------------
* 0            /usr/share/xgreeters/lightdm-gtk-greeter.desktop     60        auto mode
  1            /usr/share/xgreeters/lightdm-gtk-greeter.desktop     60        manual mode
  2            /usr/share/xgreeters/lightdm-razor-greeter.desktop   60        manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/share/xgreeters/lightdm-razor-greeter.desktop to provide /usr/share/xgreeters/lightdm-greeter.desktop (lightdm-greeter) in manual mode
Now, at this point we should be able to log out, see the lightdm-razor-greeter, and log into a Razor-qt desktop. So, the first thing we do is append the current history to the ones we saved earlier:

Code: Select all

history -a ~/.razor-[title]-history
log out, and by all means try out razor, but to do anything useful will mean returning to Xfce.

Next part: Installing 3rd-party apps
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Installing 3rd-party apps

Postby hushpuppy » 14 Dec 2013 20:31

Installing 3rd-party apps

The debian repositories are missing some essential 3rd-party apps. The most obvious are qterminal and qtfm. Here, we will set up everything needed to get the sources, build the packages, and install them.

The easiest (only) way I know to get the build dependences is to cheat:

Code: Select all

# cat /etc/apt/sources.list
deb http://packages.solydxk.com/production/ solydxk main upstream import
deb http://community.solydxk.com/production/ solydxk main
deb http://debian.solydxk.com/production testing main contrib non-free
deb http://debian.solydxk.com/production/multimedia testing main non-free
deb http://debian.solydxk.com/security testing/updates main contrib non-free
deb-src http://packages.solydxk.com/production/ solydxk main upstream import
deb-src http://community.solydxk.com/production/ solydxk main
deb-src http://debian.solydxk.com/production testing main contrib non-free
deb-src http://debian.solydxk.com/production/multimedia testing main non-free
deb-src http://debian.solydxk.com/security testing/updates main contrib non-free
We will temporarily add siduction to the end of /etc/apt/sources.list, and update

Code: Select all

# echo 'deb http://packages.siduction.org/extra unstable main contrib non-free' >> /etc/apt/sources.list
# apt-get update
Now we can get the build dependences, but we don't install them:

Code: Select all

# apt-get build-dep qterminal qtermwidget qtfm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  build-essential diffstat g++ g++-4.8 libpthread-stubs0-dev libqt4-declarative libqt4-dev libqt4-dev-bin libqt4-help libqt4-qt3support
  libqt4-scripttools libqt4-test libqt4-xmlpatterns libqtermwidget0 libstdc++-4.8-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev
  qt4-dev-tools qt4-linguist-tools qt4-qmake qtermwidget-data qtermwidget-dev quilt x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  xorg-sgml-doctools xtrans-dev
0 upgraded, 30 newly installed, 0 to remove and 193 not upgraded.
Need to get 23.3 MB of archives.
After this operation, 84.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
Copy the list of packages into a text file and remove the three qtermwidget dependences:

Code: Select all

# vi build-dep.txt

build-essential diffstat g++ g++-4.8 libpthread-stubs0-dev libqt4-declarative libqt4-dev libqt4-dev-bin libqt4-help libqt4-qt3support
  libqt4-scripttools libqt4-test libqt4-xmlpatterns libstdc++-4.8-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev
  qt4-dev-tools qt4-linguist-tools qt4-qmake quilt x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  xorg-sgml-doctools xtrans-dev
I use vi, but you can use your favorite text editor to save the file. Remove the siduction line from /etc/apt/sources.list, and update:

Code: Select all

# vi /etc/apt/sources.list

deb http://packages.solydxk.com/production/ solydxk main upstream import
deb http://community.solydxk.com/production/ solydxk main
deb http://debian.solydxk.com/production testing main contrib non-free
deb http://debian.solydxk.com/production/multimedia testing main non-free
deb http://debian.solydxk.com/security testing/updates main contrib non-free
deb-src http://packages.solydxk.com/production/ solydxk main upstream import
deb-src http://community.solydxk.com/production/ solydxk main
deb-src http://debian.solydxk.com/production testing main contrib non-free
deb-src http://debian.solydxk.com/production/multimedia testing main non-free
deb-src http://debian.solydxk.com/security testing/updates main contrib non-free

# apt-get update
Now we can install the packages:

Code: Select all

# apt-get install $(cat build-dep.txt) | tee log.build-dep
Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
  libqt4-declarative-folderlistmodel libqt4-declarative-gestures
  libqt4-declarative-particles libqt4-declarative-shaders qt4-qmlviewer
  firebird-dev libmysqlclient-dev libpq-dev libsqlite0-dev libsqlite3-dev
  qt4-doc unixodbc-dev libstdc++-4.8-doc libxcb-doc qt4-doc-html graphviz
Recommended packages:
  libqt4-opengl-dev libqtwebkit-dev libx11-doc qt4-designer less
The following NEW packages will be installed:
  build-essential diffstat g++ g++-4.8 libpthread-stubs0-dev
  libqt4-declarative libqt4-dev libqt4-dev-bin libqt4-help libqt4-qt3support
  libqt4-scripttools libqt4-test libqt4-xmlpatterns libstdc++-4.8-dev
  libx11-dev libxau-dev libxcb1-dev libxdmcp-dev qt4-dev-tools
  qt4-linguist-tools qt4-qmake quilt x11proto-core-dev x11proto-input-dev
  x11proto-kb-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 27 newly installed, 0 to remove and 189 not upgraded.
Need to get 23.1 MB of archives.
After this operation, 84.3 MB of additional disk space will be used.
Get:1 http://debian.solydxk.com/production/ testing/main libqt4-xmlpatterns i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [1,060 kB]
Get:2 http://debian.solydxk.com/production/ testing/main libqt4-declarative i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [1,116 kB]
Get:3 http://debian.solydxk.com/production/ testing/main libqt4-help i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [242 kB]
Get:4 http://debian.solydxk.com/production/ testing/main libqt4-qt3support i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [1,077 kB]
Get:5 http://debian.solydxk.com/production/ testing/main libqt4-scripttools i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [263 kB]
Get:6 http://debian.solydxk.com/production/ testing/main libqt4-test i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [97.8 kB]
Get:7 http://debian.solydxk.com/production/ testing/main libstdc++-4.8-dev i386 4.8.2-1 [1,054 kB]
Get:8 http://debian.solydxk.com/production/ testing/main g++-4.8 i386 4.8.2-1 [7,024 kB]
Get:9 http://debian.solydxk.com/production/ testing/main g++ i386 4:4.8.1-3 [1,368 B]
Get:10 http://debian.solydxk.com/production/ testing/main build-essential i386 11.6 [7,342 B]
Get:11 http://debian.solydxk.com/production/ testing/main diffstat i386 1.57-1 [28.7 kB]
Get:12 http://debian.solydxk.com/production/ testing/main libpthread-stubs0-dev i386 0.3-4 [3,838 B]
Get:13 http://debian.solydxk.com/production/ testing/main libqt4-dev-bin i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [1,635 kB]
Get:14 http://debian.solydxk.com/production/ testing/main qt4-linguist-tools i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [861 kB]
Get:15 http://debian.solydxk.com/production/ testing/main qt4-qmake i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [1,246 kB]
Get:16 http://debian.solydxk.com/production/ testing/main libqt4-dev i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [881 kB]
Get:17 http://debian.solydxk.com/production/ testing/main xorg-sgml-doctools all 1:1.11-1 [21.9 kB]
Get:18 http://debian.solydxk.com/production/ testing/main x11proto-core-dev all 7.0.24-1 [779 kB]
Get:19 http://debian.solydxk.com/production/ testing/main libxau-dev i386 1:1.0.8-1 [24.6 kB]
Get:20 http://debian.solydxk.com/production/ testing/main libxdmcp-dev i386 1:1.1.1-1 [42.1 kB]
Get:21 http://debian.solydxk.com/production/ testing/main x11proto-input-dev all 2.3-1 [177 kB]
Get:22 http://debian.solydxk.com/production/ testing/main x11proto-kb-dev all 1.0.6-2 [269 kB]
Get:23 http://debian.solydxk.com/production/ testing/main xtrans-dev all 1.2.7-1 [112 kB]
Get:24 http://debian.solydxk.com/production/ testing/main libxcb1-dev i386 1.9.1-3.1 [80.1 kB]
Get:25 http://debian.solydxk.com/production/ testing/main libx11-dev i386 2:1.6.2-1 [782 kB]
Get:26 http://debian.solydxk.com/production/ testing/main qt4-dev-tools i386 4:4.8.5+git121-g2a9ea11+dfsg1-2 [3,877 kB]
Get:27 http://debian.solydxk.com/production/ testing/main quilt all 0.60-10 [343 kB]
Fetched 23.1 MB in 25min 35s (15.0 kB/s)
Selecting previously unselected package libqt4-xmlpatterns:i386.
(Reading database ... 147139 files and directories currently installed.)
Unpacking libqt4-xmlpatterns:i386 (from .../libqt4-xmlpatterns_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-declarative:i386.
Unpacking libqt4-declarative:i386 (from .../libqt4-declarative_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-help:i386.
Unpacking libqt4-help:i386 (from .../libqt4-help_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-qt3support:i386.
Unpacking libqt4-qt3support:i386 (from .../libqt4-qt3support_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-scripttools:i386.
Unpacking libqt4-scripttools:i386 (from .../libqt4-scripttools_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-test:i386.
Unpacking libqt4-test:i386 (from .../libqt4-test_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libstdc++-4.8-dev:i386.
Unpacking libstdc++-4.8-dev:i386 (from .../libstdc++-4.8-dev_4.8.2-1_i386.deb) ...
Selecting previously unselected package g++-4.8.
Unpacking g++-4.8 (from .../g++-4.8_4.8.2-1_i386.deb) ...
Selecting previously unselected package g++.
Unpacking g++ (from .../g++_4%3a4.8.1-3_i386.deb) ...
Selecting previously unselected package build-essential.
Unpacking build-essential (from .../build-essential_11.6_i386.deb) ...
Selecting previously unselected package diffstat.
Unpacking diffstat (from .../diffstat_1.57-1_i386.deb) ...
Selecting previously unselected package libpthread-stubs0-dev:i386.
Unpacking libpthread-stubs0-dev:i386 (from .../libpthread-stubs0-dev_0.3-4_i386.deb) ...
Selecting previously unselected package libqt4-dev-bin.
Unpacking libqt4-dev-bin (from .../libqt4-dev-bin_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package qt4-linguist-tools.
Unpacking qt4-linguist-tools (from .../qt4-linguist-tools_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package qt4-qmake.
Unpacking qt4-qmake (from .../qt4-qmake_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package libqt4-dev.
Unpacking libqt4-dev (from .../libqt4-dev_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package xorg-sgml-doctools.
Unpacking xorg-sgml-doctools (from .../xorg-sgml-doctools_1%3a1.11-1_all.deb) ...
Selecting previously unselected package x11proto-core-dev.
Unpacking x11proto-core-dev (from .../x11proto-core-dev_7.0.24-1_all.deb) ...
Selecting previously unselected package libxau-dev:i386.
Unpacking libxau-dev:i386 (from .../libxau-dev_1%3a1.0.8-1_i386.deb) ...
Selecting previously unselected package libxdmcp-dev:i386.
Unpacking libxdmcp-dev:i386 (from .../libxdmcp-dev_1%3a1.1.1-1_i386.deb) ...
Selecting previously unselected package x11proto-input-dev.
Unpacking x11proto-input-dev (from .../x11proto-input-dev_2.3-1_all.deb) ...
Selecting previously unselected package x11proto-kb-dev.
Unpacking x11proto-kb-dev (from .../x11proto-kb-dev_1.0.6-2_all.deb) ...
Selecting previously unselected package xtrans-dev.
Unpacking xtrans-dev (from .../xtrans-dev_1.2.7-1_all.deb) ...
Selecting previously unselected package libxcb1-dev:i386.
Unpacking libxcb1-dev:i386 (from .../libxcb1-dev_1.9.1-3.1_i386.deb) ...
Selecting previously unselected package libx11-dev:i386.
Unpacking libx11-dev:i386 (from .../libx11-dev_2%3a1.6.2-1_i386.deb) ...
Selecting previously unselected package qt4-dev-tools.
Unpacking qt4-dev-tools (from .../qt4-dev-tools_4%3a4.8.5+git121-g2a9ea11+dfsg1-2_i386.deb) ...
Selecting previously unselected package quilt.
Unpacking quilt (from .../archives/quilt_0.60-10_all.deb) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for mime-support ...
Setting up libqt4-xmlpatterns:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-declarative:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-help:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-qt3support:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-scripttools:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-test:i386 (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libstdc++-4.8-dev:i386 (4.8.2-1) ...
Setting up g++-4.8 (4.8.2-1) ...
Setting up g++ (4:4.8.1-3) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (11.6) ...
Setting up diffstat (1.57-1) ...
Setting up libpthread-stubs0-dev:i386 (0.3-4) ...
Setting up libqt4-dev-bin (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up qt4-linguist-tools (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up qt4-qmake (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up libqt4-dev (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Setting up x11proto-core-dev (7.0.24-1) ...
Setting up libxau-dev:i386 (1:1.0.8-1) ...
Setting up libxdmcp-dev:i386 (1:1.1.1-1) ...
Setting up x11proto-input-dev (2.3-1) ...
Setting up x11proto-kb-dev (1.0.6-2) ...
Setting up xtrans-dev (1.2.7-1) ...
Setting up libxcb1-dev:i386 (1.9.1-3.1) ...
Setting up libx11-dev:i386 (2:1.6.2-1) ...
Setting up qt4-dev-tools (4:4.8.5+git121-g2a9ea11+dfsg1-2) ...
Setting up quilt (0.60-10) ...
Processing triggers for libc-bin ...
Processing triggers for menu ...
localepurge: Disk space freed in /usr/share/locale: 152 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 152 KiB
Finally, we need some apps to access git repositories, and some build utilities:

Code: Select all

# apt-get install dh-make dh-python git  git-man dpkg-dev debhelper | tee log.git.make
Reading package lists...
Building dependency tree...
Reading state information...
dh-python is already the newest version.
dh-python set to manually installed.
dpkg-dev is already the newest version.
Suggested packages:
  gettext-base git-daemon-run git-daemon-sysvinit git-doc git-el git-email
  git-gui gitk gitweb git-arch git-bzr git-cvs git-svn
Recommended packages:
  patch less rsync
The following NEW packages will be installed:
  dh-make git git-man
The following packages will be upgraded:
  debhelper
1 upgraded, 3 newly installed, 0 to remove and 186 not upgraded.
Need to get 4,831 kB of archives.
After this operation, 20.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.solydxk.com/production/ testing/main debhelper all 9.20131110 [687 kB]
Get:2 http://debian.solydxk.com/production/ testing/main dh-make all 0.63 [41.3 kB]
Get:3 http://debian.solydxk.com/production/ testing/main git-man all 1:1.8.4.3-1 [1,214 kB]
Get:4 http://debian.solydxk.com/production/ testing/main git i386 1:1.8.4.3-1 [2,889 kB]
Reading changelogs...
Fetched 4,831 kB in 5min 32s (14.5 kB/s)
Selecting previously unselected package debhelper.
(Reading database ... 151171 files and directories currently installed.)
Preparing to replace debhelper 9.20130921 (using .../debhelper_9.20131110_all.deb) ...
Unpacking replacement debhelper ...
Selecting previously unselected package dh-make.
Unpacking dh-make (from .../archives/dh-make_0.63_all.deb) ...
Selecting previously unselected package git-man.
Unpacking git-man (from .../git-man_1%3a1.8.4.3-1_all.deb) ...
Selecting previously unselected package git.
Unpacking git (from .../git_1%3a1.8.4.3-1_i386.deb) ...
Processing triggers for man-db ...
Setting up debhelper (9.20131110) ...
Setting up dh-make (0.63) ...
Setting up git-man (1:1.8.4.3-1) ...
Setting up git (1:1.8.4.3-1) ...
localepurge: Disk space freed in /usr/share/locale: 1208 KiB
localepurge: Disk space freed in /usr/share/man: 728 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 1936 KiB
This should have given us everything we need to download and build what we want. Not all dependences will be caught, but we now can continue on to:

Next part: Downloading Sources and Building Packages.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Downloading Sources and Building Packages.

Postby hushpuppy » 14 Dec 2013 21:45

Downloading Sources and Building Packages.

Before starting, it is well worth reading zerozero's packaging howto. There are also plenty of manual pages that describe the debian packaging system

Code: Select all

$ man deb[tab][tab]
deb                     deb-symbols             debconf-escape
deb-control             deb-systemd-helper      debconf-gettextize
deb-extra-override      deb-systemd-invoke      debconf-set-selections
deb-old                 deb-triggers            debconf-show
deb-origin              deb-version             debconf-updatepo
deb-override            deb3                    debhelper
deb-shlibs              debconf                 deborphan
deb-split               debconf-apt-progress    debugedit
deb-src-control         debconf-communicate     debugfs
deb-substvars           debconf-copydb 
Remember, we are going to build everything in a clean directory, in my case /share/user/QT. Create a new top-level directory and cd into it:

Code: Select all

# mkdir BUILD
# cd [esc].
First, we have to make qtermwidget:

Code: Select all

BUILD # mkdir qtermwidget
BUILD # cd qtermwidget
qtermwidget # git clone 'https://github.com/qterminal/qtermwidget.git'
Cloning into 'qtermwidget'...
remote: Counting objects: 679, done.
remote: Compressing objects: 100% (255/255), done.
remote: Total 679 (delta 455), reused 637 (delta 423)
Receiving objects: 100% (679/679), 503.71 KiB | 27.00 KiB/s, done.
Resolving deltas: 100% (455/455), done.
Checking connectivity... done
qtermwidget # mv qtermwidget qtermwidget-0.4.0
qtermwidget # cd qtermwidget-0.4.0
We use dh_make to create the control files:

Code: Select all

qtermwidget-0.4.0 # dh_make --createorig

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
 [s/i/m/l/k/n] s

Maintainer name  : root
Email-Address    : root@mint 
Date             : Sat, 14 Dec 2013 20:59:17 +0000
Package Name     : qtermwidget
Version          : 0.4.0
License          : blank
Type of Package  : Single
Hit <enter> to confirm: 
Done. Please edit the files in the debian/ subdirectory now. qtermwidget
uses a configure script, so you probably don't have to edit the Makefiles.
We edit the debian control file

Code: Select all

# vi debian/control

Source: qtermwidget
Section: unknown
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0), cmake
Standards-Version: 3.9.4
Homepage: <insert the upstream URL, if relevant>
#Vcs-Git: git://git.debian.org/collab-maint/qtermwidget.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/qtermwidget.git;a=summary

Package: qtermwidget
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>

Code: Select all

Source: qtermwidget
Section: Razor-qt
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0), cmake
Standards-Version: 3.9.4
Homepage: https://github.com/qterminal/qtermwidget
#Vcs-Git: git://git.debian.org/collab-maint/qtermwidget.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/qtermwidget.git;a=summary

Package: qtermwidget
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: QTermWidget
 QTermWidget is an opensource project originally based on KDE4 Konsole
 application, but it took its own direction later.
 .
 The main goal of this project is to provide unicode-enabled, embeddable
 Qt widget for using as a built-in console (or terminal emulation widget).
Note, the indentation and format is required.

It is only necessary to note the start and end of the build process:

Code: Select all

# dpkg-buildpackage | tee ../../../log.build.qtermwidget
dpkg-buildpackage: source package qtermwidget
dpkg-buildpackage: source version 0.4.0-1
dpkg-buildpackage: source changed by root <root@mint>
 dpkg-source --before-build qtermwidget-0.4.0
dpkg-buildpackage: host architecture i386
 debian/rules clean
dh clean 
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b qtermwidget-0.4.0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building qtermwidget using existing ./qtermwidget_0.4.0.orig.tar.xz
dpkg-source: info: building qtermwidget in qtermwidget_0.4.0-1.debian.tar.gz
dpkg-source: info: building qtermwidget in qtermwidget_0.4.0-1.dsc
 debian/rules build
dh build 
   dh_testdir
   dh_auto_configure
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- 
-- LIB_SUFFIX variable is not defined. It will be autodetected now.
-- You can set it manually with -DLIB_SUFFIX=<value> (64 for example)
-- 
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.6") 
-- Share dire: /usr/share
-- Keyboard layouts will be installed in: /usr/share/qtermwidget/kb-layouts/
CMake Warning (dev) at lib/CMakeLists.txt:107 (add_definitions):
  Policy CMP0005 is not set: Preprocessor definition values are now escaped
  automatically.  Run "cmake --help-policy CMP0005" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Color schemes will be insatlled in: /usr/share/qtermwidget/color-schemes/
CMake Warning (dev) at lib/CMakeLists.txt:111 (add_definitions):
  Policy CMP0005 is not set: Preprocessor definition values are now escaped
  automatically.  Run "cmake --help-policy CMP0005" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for updwtmpx
-- Looking for updwtmpx - found
-- Building Qt designer plugin
-- Configuring done
-- Generating done
.
.
.
   dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/qtermwidget/usr/lib/qt4/plugins/designer/libqtermwidgetplugin.so was not linked against libQtDesigner.so.4 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/qtermwidget/usr/lib/qt4/plugins/designer/libqtermwidgetplugin.so was not linked against libQtDesignerComponents.so.4 (it uses none of the library's symbols)
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
   dh_md5sums
   dh_builddeb
dpkg-deb: building package `qtermwidget' in `../qtermwidget_0.4.0-1_i386.deb'.
 dpkg-genchanges  >../qtermwidget_0.4.0-1_i386.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build qtermwidget-0.4.0
dpkg-buildpackage: full upload (original source is included)
And finally we can install the package:

Code: Select all

qtermwidget-0.4.0 # dpkg -i ../qtermwidget_0.4.0-1_i386.deb 
Selecting previously unselected package qtermwidget.
(Reading database ... 152032 files and directories currently installed.)
Unpacking qtermwidget (from .../qtermwidget_0.4.0-1_i386.deb) ...
Setting up qtermwidget (0.4.0-1) ...
Processing triggers for libc-bin ...
That's it.

Code: Select all

$ apt show qtermwidget
Package: qtermwidget
New: yes
State: installed
Automatically installed: no
Version: 0.4.0-1
Priority: optional
Section: Razor-qt
Maintainer: root <root@mint>
Architecture: i386
Uncompressed Size: 705 k
Depends: libc6 (>= 2.15), libgcc1 (>= 1:4.1.1), libqt4-designer (>= 4:4.5.3),
         libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.6.1), libstdc++6 (>=
         4.1.1)
Description: QTermWidget
 QTermWidget is an opensource project originally based on KDE4 Konsole
 application, but it took its own direction later. 
 
 The main goal of this project is to provide unicode-enabled, embeddable Qt
 widget for using as a built-in console (or terminal emulation widget).
Homepage: https://github.com/qterminal/qtermwidget
The dependences have been set automagically, and the new section will appear automatically in synaptic.

Next part: Building and Installing qterminal (tomorrow, but it should be simple to follow this approach to try it now.)
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
zerozero
Posts: 5373
Joined: 10 Feb 2013 23:37
Location: West Midlands, England
Contact:

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby zerozero » 15 Dec 2013 01:11

this is impressive :geek:
waiting for the next posts!
bliss of ignorance

User avatar
fleabus
Posts: 1227
Joined: 16 Sep 2013 04:24
Location: Winchester, VA USA

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby fleabus » 15 Dec 2013 01:55

Been following these as you've posted them.
Really glad you decided to post this here at SXK. :ugeek:
I also eagerly await your next.

-- Dave

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Building and Installing qterminal

Postby hushpuppy » 15 Dec 2013 09:29

Building and Installing qterminal

For this part of the project we have the following structure: QT / BUILD / [package] / [package]-[version] / debian / control. Working up through the tree, we can see at a glance what we are building, all the packages and archives will be at the same level, and so are all the control files. This will make it easier at a later time to automate some of the processes. And looking carefully at the output from dpkg-buildpackage, we can see:

Code: Select all

dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/qtermwidget/usr/lib/qt4/plugins/designer/libqtermwidgetplugin.so was not
linked against libQtDesigner.so.4 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/qtermwidget/usr/lib/qt4/plugins/designer/libqtermwidgetplugin.so was not
linked against libQtDesignerComponents.so.4 (it uses none of the library's
symbols)
is not in the log file. We can look at that later, but need to make a note of it now.

With qtermwidget installed, we can now build qterminal:

Code: Select all

BUILD # mkdir qterminal
BUILD # cd qterminal
qterminal # git clone 'https://github.com/qterminal/qterminal.git'
Cloning into 'qterminal'...
remote: Counting objects: 747, done.
remote: Compressing objects: 100% (325/325), done.
remote: Total 747 (delta 473), reused 676 (delta 407)
Receiving objects: 100% (747/747), 241.40 KiB | 247.00 KiB/s, done.
Resolving deltas: 100% (473/473), done.
Checking connectivity... done
qterminal # mv qterminal qterminal-0.4.0
qterminal # cd qterminal-0.4.0
qterminal-0.4.0 # dh_make --createorig

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
 [s/i/m/l/k/n] s

Maintainer name  : root
Email-Address    : root@mint 
Date             : Sun, 15 Dec 2013 08:39:54 +0000
Package Name     : qterminal
Version          : 0.4.0
License          : blank
Type of Package  : Single
Hit <enter> to confirm: 
Done. Please edit the files in the debian/ subdirectory now. qterminal
uses a configure script, so you probably don't have to edit the Makefiles.
qterminal-0.4.0 # vi debian/control

Source: qterminal
Section: Razor-qt
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0), cmake
Standards-Version: 3.9.4
Homepage: https://github.com/qterminal/
#Vcs-Git: git://git.debian.org/collab-maint/qterminal.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/qterminal.git;a=summary

Package: qterminal
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: qterminal
 Qt based multi-tab terminal emulator.
This time we are also going to pipe standard error through tee to our log file as we build the package:

Code: Select all

# dpkg-buildpackage |& tee ../../../log.build.qterminal
dpkg-buildpackage: source package qterminal
dpkg-buildpackage: source version 0.4.0-1
dpkg-buildpackage: source changed by root <root@mint>
 dpkg-source --before-build qterminal-0.4.0
dpkg-buildpackage: host architecture i386
 debian/rules clean
dh clean 
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b qterminal-0.4.0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building qterminal using existing ./qterminal_0.4.0.orig.tar.xz
dpkg-source: info: building qterminal in qterminal_0.4.0-1.debian.tar.gz
dpkg-source: info: building qterminal in qterminal_0.4.0-1.dsc
 debian/rules build
dh build 
   dh_testdir
   dh_auto_configure
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- 
-- LIB_SUFFIX variable is not defined. It will be autodetected now.
-- You can set it manually with -DLIB_SUFFIX=<value> (64 for example)
-- 
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.6") 
-- Qt4 version: 4.8.6
-- Qt4 libs: /usr/lib/i386-linux-gnu/libQtGui.so;/usr/lib/i386-linux-gnu/libQtCore.so
-- Using system Qxt...
-- Qxt includes: QXT_INCLUDE_PATH-NOTFOUND
-- Qxt libs:     QXT_CORE_LIB-NOTFOUND QXT_GUI_LIB-NOTFOUND
CMake Error at CMakeLists.txt:50 (message):
  System Qxt not found.  Install Qxt devel package or use -DUSE_SYSTEM_QXT=0
  to build with internal copy of this library
qterminal needs Qxt devel. We could use the internal copy of the library, but we'll look for the package:

Code: Select all

# apt-get install libqx[tab][tab]
libqxmlrpc-dev    libqxmpp-dev      libqxmpp0-dbg     libqxt-designer0  libqxt-gui0       libqxt-web0       
libqxmlrpc-doc    libqxmpp-doc      libqxt-berkeley0  libqxt-dev        libqxt-network0   libqxt-zeroconf0  
libqxmlrpc1       libqxmpp0         libqxt-core0      libqxt-doc        libqxt-sql0       
pc qterminal-0.4.0 
the error suggests we need a libqx???, so we can use tab-completion to see what's available, there is a libqxt-dev, so we install it:

Code: Select all

# apt-get install libqxt-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libavahi-compat-libdnssd1 libqxt-berkeley0 libqxt-designer0 libqxt-network0 libqxt-sql0 libqxt-web0 libqxt-zeroconf0
Suggested packages:
  libqxt-doc
Recommended packages:
  libnss-mdns
The following NEW packages will be installed:
  libavahi-compat-libdnssd1 libqxt-berkeley0 libqxt-designer0 libqxt-dev libqxt-network0 libqxt-sql0 libqxt-web0 libqxt-zeroconf0
0 upgraded, 8 newly installed, 0 to remove and 186 not upgraded.
Need to get 536 kB of archives.
After this operation, 1,797 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
and try again:

Code: Select all

# dpkg-buildpackage |& tee ../../../log.build.qterminal
.
.
.
dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/qterminal/usr/bin/qterminal was not linked against libQxtCore.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/qterminal/usr/bin/qterminal was not linked against libutil.so.1 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/qterminal/usr/bin/qterminal was not linked against libX11.so.6 (it uses none of the library's symbols)
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
   dh_md5sums
   dh_builddeb
dpkg-deb: building package `qterminal' in `../qterminal_0.4.0-1_i386.deb'.
 dpkg-genchanges  >../qterminal_0.4.0-1_i386.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build qterminal-0.4.0
dpkg-buildpackage: full upload (original source is included)
Again, we see the useless dependency warnings, but they'll be in our log file to look at later, and right now we need qterminal more than we need to solve the problem:

Code: Select all

# dpkg -i ../qterminal_0.4.0-1_i386.deb 
Selecting previously unselected package qterminal.
(Reading database ... 152630 files and directories currently installed.)
Unpacking qterminal (from ../qterminal_0.4.0-1_i386.deb) ...
Setting up qterminal (0.4.0-1) ...
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for mime-support ...
We can start the terminal from Menu > System > QTerminal; we can log out and into razor and have a working terminal to continue building packages; instead we're going to carry on...

Next part: Building and Installing QtFM.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Building and Installing qtFM.

Postby hushpuppy » 15 Dec 2013 10:07

Building and Installing qtFM.

This will be the last of the detailed package builds. Luckily, the qtFM home page already has an ubuntu package, so we could just install that :twisted: but we don't want to give zerozero a heart attack, so we download the source package, and build it properly:

Code: Select all

# wget 'http://www.qtfm.org/qtfm-5.5.tar.gz'
--2013-12-15 09:39:03--  http://www.qtfm.org/qtfm-5.5.tar.gz
Resolving www.qtfm.org (www.qtfm.org)... 173.194.66.121, 2a00:1450:400c:c03::79
Connecting to www.qtfm.org (www.qtfm.org)|173.194.66.121|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://www.qtfm.org/qtfm-5.5.tar.gz?attredirects=0 [following]
--2013-12-15 09:39:06--  http://www.qtfm.org/qtfm-5.5.tar.gz?attredirects=0
Reusing existing connection to www.qtfm.org:80.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://27923091-a-e4f5e8ba-s-sites.googlegroups.com/a/qtfm.org/qtfm/qtfm-5.5.tar.gz?attachauth=ANoY7coX3xWHqVBrUn5FH3y61mQDDz5yJPGrAc1agqwc8ozziCEg4l7baIlTObaeB2VV4szOjRefB8GocfqCpybpViodeVgmyXluWQMDy_qDCk6FYwm4QBdRiI3TPKjXze4WpB8UKPfEEkXCrys7WaCpMbfTP184V1TAkG1-ZvqR9XCmDkOVN0HQ8KGsEsan_9KYH2DrqXYO&attredirects=0 [following]
--2013-12-15 09:39:07--  http://27923091-a-e4f5e8ba-s-sites.googlegroups.com/a/qtfm.org/qtfm/qtfm-5.5.tar.gz?attachauth=ANoY7coX3xWHqVBrUn5FH3y61mQDDz5yJPGrAc1agqwc8ozziCEg4l7baIlTObaeB2VV4szOjRefB8GocfqCpybpViodeVgmyXluWQMDy_qDCk6FYwm4QBdRiI3TPKjXze4WpB8UKPfEEkXCrys7WaCpMbfTP184V1TAkG1-ZvqR9XCmDkOVN0HQ8KGsEsan_9KYH2DrqXYO&attredirects=0
Resolving 27923091-a-e4f5e8ba-s-sites.googlegroups.com (27923091-a-e4f5e8ba-s-sites.googlegroups.com)... 173.194.78.137, 2a00:1450:400c:c03::89
Connecting to 27923091-a-e4f5e8ba-s-sites.googlegroups.com (27923091-a-e4f5e8ba-s-sites.googlegroups.com)|173.194.78.137|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://27923091-a-e4f5e8ba-s-sites.googlegroups.com/a/qtfm.org/qtfm/qtfm-5.5.tar.gz?attachauth=ANoY7coX3xWHqVBrUn5FH3y61mQDDz5yJPGrAc1agqwc8ozziCEg4l7baIlTObaeB2VV4szOjRefB8GocfqCpybpViodeVgmyXluWQMDy_qDCk6FYwm4QBdRiI3TPKjXze4WpB8UKPfEEkXCrys7WaCpMbfTP184V1TAkG1-ZvqR9XCmDkOVN0HQ8KGsEsan_9KYH2DrqXYO&attredirects=0 [following]
--2013-12-15 09:39:07--  https://27923091-a-e4f5e8ba-s-sites.googlegroups.com/a/qtfm.org/qtfm/qtfm-5.5.tar.gz?attachauth=ANoY7coX3xWHqVBrUn5FH3y61mQDDz5yJPGrAc1agqwc8ozziCEg4l7baIlTObaeB2VV4szOjRefB8GocfqCpybpViodeVgmyXluWQMDy_qDCk6FYwm4QBdRiI3TPKjXze4WpB8UKPfEEkXCrys7WaCpMbfTP184V1TAkG1-ZvqR9XCmDkOVN0HQ8KGsEsan_9KYH2DrqXYO&attredirects=0
Connecting to 27923091-a-e4f5e8ba-s-sites.googlegroups.com (27923091-a-e4f5e8ba-s-sites.googlegroups.com)|173.194.78.137|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 149667 (146K) [application/x-gzip]
Saving to: ‘qtfm-5.5.tar.gz’

100%[=====================================================================================================>] 149,667      178KB/s   in 0.8s   

2013-12-15 09:39:10 (178 KB/s) - ‘qtfm-5.5.tar.gz’ saved [149667/149667]

Google is tracking your every move and selling it to advertisers, and the NSA is listening in, too :!:

Code: Select all

qtfm # tar zxf qtfm-5.5.tar.gz 
qtfm # cd ./qtfm-5.5/
qtfm-5.5 # dh_make --createorig

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
 [s/i/m/l/k/n] s

Maintainer name  : root
Email-Address    : root@mint 
Date             : Sun, 15 Dec 2013 09:46:11 +0000
Package Name     : qtfm
Version          : 5.5
License          : blank
Type of Package  : Single
Hit <enter> to confirm: 
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the qtfm Makefiles install into $DESTDIR and not in / .
qtfm-5.5 # vi debian/control

Source: qtfm
Section: Razor-qt
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.4
Homepage: http://www.qtfm.org/
#Vcs-Git: git://git.debian.org/collab-maint/qtfm.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/qtfm.git;a=summary

Package: qtfm
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: qtFM is a small, lightweight file manager
 qtFM is a small, lightweight file manager for Linux
 desktops based on pure Qt and works great with minimal
 desktop environments like Openbox.
 .
 Features:
 .
 * lightweight, pure Qt, no kde libraries or other dependencies
 * full theme and mime filetype icon integration
 * tree, bookmarks, list, icon, detail and thumbnail views
 * customizable interface, rearrange views and toolbars to suit
 * powerful custom command system for user defined actions
 * customizable key bindings for built-in and custom actions
 * drag & drop functionality
 * tabs

Code: Select all

qtfm-5.5 # dpkg-buildpackage |& tee ../../../log.build.qtfm
.
.
.
   dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
   dh_md5sums
   dh_builddeb
dpkg-deb: building package `qtfm' in `../qtfm_5.5-1_i386.deb'.
 dpkg-genchanges  >../qtfm_5.5-1_i386.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build qtfm-5.5
dpkg-buildpackage: full upload (original source is included)

Code: Select all

qtfm-5.5 # dpkg -i ../qtfm_5.5-1_i386.deb 
Selecting previously unselected package qtfm.
(Reading database ... 152644 files and directories currently installed.)
Unpacking qtfm (from ../qtfm_5.5-1_i386.deb) ...
Setting up qtfm (5.5-1) ...
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for mime-support ...
So, we have a terminal and file manager for our Razor-qt, so now is probably a good time to a look at our shiny new DE, read a few man pages

Code: Select all

$ man razor[tab][tab]
razor-about                      razor-config-desktop             razor-desktop                    razor-policykit-agent
razor-appswitcher                razor-config-globalkeyshortcuts  razor-globalkeyshortcuts         razor-power
razor-autosuspend                razor-config-mouse               razor-lightdm-greeter            razor-runner
razor-config                     razor-config-notificationd       razor-notificationd              razor-session
razor-config-appearance          razor-config-session             razor-openssh-askpass            razorqt-undocumented
razor-config-autosuspend         razor-confupdate                 razor-panel                      
explore the main menu, think about razor configuration, keyboard shortcuts, and what's missing.

But, first, create an empty file in your home directory:

Code: Select all

$ touch ~/now
Any configuration changes can then be found very easily by:

Code: Select all

find ~ -newer ~/now
I've already had a look

Code: Select all

.config/Thunar/accels.scm
.config/autostart
.config/autostart/xfce4-clipman-plugin-autostart.desktop
.config/xfce4
.config/xfce4/xfconf/xfce-perchannel-xml
.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
.config/xfce4/panel
.config/xfce4/panel/netload-3.rc
.config/xfce4/panel/weather-20.rc
.config/xfce4/panel/xkb-plugin-13.rc
.config/xfce4/panel/cpugraph-19.rc
.config/xfce4/panel/systemload-15.rc
.config/xfce4/panel/xfce4-orageclock-plugin-9.rc
.config/xfce4/panel/xfce4-sensors-plugin-12.rc
.config/xfce4/xfce4-screenshooter
.config/gtk-2.0
.config/gtk-2.0/gtkfilechooser.ini
.config/qterminal.org/qterminal.ini
.config/razor
.config/razor/desktop.conf
.config/razor/session.conf
.config/razor/razor-panel
.config/razor/razor-panel/panel.conf
.config/razor/razor-panel/panel.conf~
.config/razor/razor-panel/panel.conf.orig
.config/razor/globalkeyshortcuts.conf
.config/razor/notifications.conf
.config/razor/globalkeyshortcuts.conf.orig
.aptitude/config
and edited a few things because one or two things needed tweaking manually.

Next part: More 3rd-Party Apps and Discussion.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

More 3rd-Party Apps and Discussion.

Postby hushpuppy » 15 Dec 2013 10:52

More 3rd-Party Apps and Discussion.

At this point, we need to consider what else we may want to add, so here are some starting points: At this point, I'm going to take a short break.

There are still plenty of third party apps to install; there are a whole host of configuration issues to work through; I intend to create an index in the first post to jump to specific parts, and a glossary at the end. I need to write a tl;dr post for those who just want the bare minimum, and a set of configuration pages for sensible defaults.

While documentation is best written en route to the final destination, this methodology should be usable not just for this project. Now is a sensible point to pause and review what's been achieved so far. I know Dave is itching to ask questions, so... over to you:

Interlude: Review and Questions
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
fleabus
Posts: 1227
Joined: 16 Sep 2013 04:24
Location: Winchester, VA USA

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby fleabus » 15 Dec 2013 12:44

First, A Resounding Well Done!

For someone with your level of *nix experience I suppose this is pretty routine, but to this neophyte it's a tight, solid, well thought out project with meticulous attention to detail -- Something to sink one's teeth into, and to keep for later reference. So many things are covered here! Thank you, wholeheartedly.

For now only a couple questions:
hushpuppy wrote:based on a SolydX install...The following have previously been purged: oxygen-icon-theme, oxygencursors, firefox, thunderbird, debian-plymouth-manager, plymouth, amongst others.
Can you enumerate "amongst others"?
I would be interested to know what you removed, and your reasons for doing so.

LightDM is already the default in a SolydXK XFCE install. On your own system I'll just assume a preference for wdm,
but let's say I start with an install that already includes LightDM... Would this mean any changes to the "switch greeters/deps" part of the procedure?

That's it for now, going out for most of the day, be back this afternoon. You're right about the timezone thing complicating things. I often see folks from across the pond playing out here way past their bedtimes, and sometimes
I forget that, for example, if it's 2100 here it's 0200 or 0300 over there! :oops:

-- Dave

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby hushpuppy » 15 Dec 2013 14:42

fleabus wrote:First, An Enormous Well Done!

For someone with your level of *nix experience I suppose this is pretty routine, but to this neophyte it's a tight, solid, well thought out project with meticulous attention to detail, and a juicy info fix! Something to sink one's teeth into, and keep for reference - so many things covered here! I love it when things are done right, for the right reasons - Like, imho, SolydXK. Thank you, wholeheartedly.
You're welcome! I'm thoroughly enjoying it. I've used *nix for a long time, but this is a completely new journey. In another thread you noticed "vi > emacs". Well, I've been use vi[m] for 20+ years, and I'm still a newbie when in comes to using most of what it can offer. I wanted to try to make the point that no matter what one thinks one knows, there is always so much more one has to learn.
You requested patience, and so I tried to hold back - thought about deleting my last post; I did cut it down. :)
I did notice ;)
For now only a couple questions, I'm still reading, rereading, and digesting before beginning the project.
I'm sure to have a bunch more as I get into it! :D
hushpuppy wrote:based on a SolydX install...The following have previously been purged: oxygen-icon-theme, oxygencursors, firefox, thunderbird, debian-plymouth-manager, plymouth, amongst others.
Can you enumerate "amongst others"?
I would be interested to know what you removed, and your reasons for doing so.
Mostly what I consider to be bloat, a waste of space, a waste of cpu cycles. I use a small netbook with an 8GB main partition, and a 32GB user partition. With Mint, I was almost out of root space. With Solyd, and a bit of tweaking, I've got more than 1GB spare 8-) This is one reason KDE is out of the question.

Solyd included a lot of packages by default. ISTR things like metacity, oxygen obviously, firefox and thunderbird obviously. See this thread where zerozero patiently explained how to properly upgrade to ensure that there are no old gcc packages left lying around taking up space. But, mostly, with each update pack, I go through every new requirement and see if I can remove some obviously useless (to me) packages and dependences. Schoelje insists on using python3. I remove his apps when it appears.The great thing about standard packages is that there are so many to choose from:

Code: Select all

$ for i in $(dpkg --list | egrep -i 'gcc|cpp|linux-|webkit' | awk '{print $2}'); do echo $i $(apt show $i | grep 'Uncompressed Size:'); done | grep M | sort -nrk4 | column -tc2
linux-image-3.10-3-686-pae   Uncompressed  Size:  87.5  M
linux-image-3.9-1-686-pae    Uncompressed  Size:  83.6  M
libwebkitgtk-3.0-0           Uncompressed  Size:  30.3  M
libwebkitgtk-1.0-0           Uncompressed  Size:  30.3  M
libqtwebkit4:i386            Uncompressed  Size:  24.4  M
linux-headers-3.10-3-common  Uncompressed  Size:  21.2  M
linux-headers-3.10-2-common  Uncompressed  Size:  20.5  M
linux-headers-3.9-1-common   Uncompressed  Size:  20.2  M
gcc-4.6                      Uncompressed  Size:  15.3  M
gcc-4.8                      Uncompressed  Size:  14.6  M
cpp-4.8                      Uncompressed  Size:  13.7  M
gcc-4.7                      Uncompressed  Size:  12.8  M
cpp-4.7                      Uncompressed  Size:  12.2  M
cpp-4.6                      Uncompressed  Size:  10.9  M
pure bloat :cry:

Code: Select all

$ inxi -Fxxx
System:    Host: Kernel: 3.10-3-686-pae i686 (32 bit, gcc: 4.7.3) 
           Desktop: Xfce 4.10.2 (Gtk 2.24.18) info: xfce4-panel dm: lightdm Distro: SolydXK 1 testing
Graphics:  Card: Intel Mobile 945GSE Express Integrated Graphics Controller bus-ID: 00:02.0 chip-ID: 8086:27ae 
           X.Org: 1.14.3 drivers: intel (unloaded: fbdev,vesa) Resolution: 1024x600@60.0hz 
           GLX Renderer: Mesa DRI Intel 945GME x86/MMX/SSE2 GLX Version: 2.1 Mesa 9.2.2 Direct Rendering: Yes
Audio:     Card: Intel NM10/ICH7 Family High Definition Audio Controller 
           driver: snd_hda_intel bus-ID: 00:1b.0 chip-ID: 8086:27d8 
           Sound: Advanced Linux Sound Architecture ver: k3.10-3-686-pae
Network:   Card-1: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet 
           driver: ATL1E port: ec80 bus-ID: 04:00.0 chip-ID: 1969:1026
           IF: eth0 state: down mac: 00:22:15:fc:8d:5a
           Card-2: Ralink RT2790 Wireless 802.11n 1T/2R PCIe driver: rt2800pci ver: 2.3.0 bus-ID: 01:00.0 chip-ID: 1814:0781
           IF: wlan0 state: up mac: 00:22:43:42:19:c1
so anything not related to my hardware also gets removed.
LightDM is already the default in a SolydXK XFCE install. On your own system I'll just assume a preference for wdm,
but let's say I start with an install that already includes LightDM... Would this mean any changes to the "switch greeters/deps" part of the procedure?
I removed it temporarily so I could understand what is affected when it is installed :) I was quite annoyed that the gtk version is the default, and to show other viable options had been excluded for whatever reason.

This is all part of the frustrating "why have one clean way of doing something, when you can have ten more obscure ones" philosophy. What would be useful is a flow chart of DM : Greeter : [Default | Xfce | Openbox | Razor] : [Session | WM] possible configuration paths. That isn't going to happen, so I chose to create an update-alternative to bypass most of the issue :oops: it isn't pretty, but it works (mostly). You must have a DM+greeter, but you can bypass that, too :arrow: Everything after that is optional :shock: really :evil: and very :? It was when I read "openbox --replace and don't forget to save the session as you logout" that I thought :crazy:

The only difference will be choice ;) If you're going to purge as much gnome as I am, then it makes sense to install a native Qt greeter.

Code: Select all

$ dpkg --list | grep greeter
ii  lightdm-gtk-greeter                    1.6.1-4                         i386         simple display manager (GTK+ greeter)
ii  razorqt-lightdm-greeter                0.5.2-2                         i386         LightDM greeter for Razor-qt desktop environment
For the moment, we're stuck with the gtk version. But

Code: Select all

$ apt show lightdm | egrep 'Dep|light'
Package: lightdm
Depends: libc6 (>= 2.4), libgcrypt11 (>= 1.4.5), libglib2.0-0 (>= 2.35.9),
         debconf-2.0, lightdm-gtk-greeter | lightdm-greeter
I see no reason not to create a dummy lightdm-greeter package to get around the dependency, or bug the Debian maintainer to fix it, or do it myself as I learn more.

ETA: Actually, it looks like razorqt-lightdm-greeter should have a "Provides: lightdm-greeter' field (since the KDE version has one), but it doesn't. Fixing that should solve the problem.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
fleabus
Posts: 1227
Joined: 16 Sep 2013 04:24
Location: Winchester, VA USA

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby fleabus » 15 Dec 2013 15:11

Through all of my life on the other side, I always ran around with that can of bug spray, killing anything that wastes CPU cycles. Especially on the other side, these things tend to serve no other purpose than to be pretty eyecandy, or bloat aimed at creating one system for all. Coming into Linux I accept some of that because I don't know enough yet to safely remove bloat/eyecandy. Another thing I've learned is that in Linux, some of this eyecandy can actually have a legitimate function! One good example is transparency. It's nice to have the ability to click and see through a window without having to move it! :) I hope someday to become as good a Linux mechanic as I am for the other side.

User avatar
zerozero
Posts: 5373
Joined: 10 Feb 2013 23:37
Location: West Midlands, England
Contact:

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby zerozero » 16 Dec 2013 11:50

agree completely with Dave ;) Well Done!!

this is an impressive (and well organised <envy :lol: i wish i was like that>) howto!

not much free time now to actually start doing this (because i will :D ) but i remembered (while rereading it) a "small" issue i hit a few days ago in my sid lxde-OP partition:
bug 731180 :evil:
(there's a patch available but the version in the archive is still not fixed)
i was working with this setup and that day the regular D-U wanted to install anew over 250 pkgs (gnome-shell, nautilus, brasero&friends) :o
my workaround then was to update first (with the --no-install-recommends switch) openbox and then D-U. worked!
the buggy version is only in sid atm and i hope that before the next UP this issue is fixed.
bliss of ignorance

User avatar
dbVU
Posts: 51
Joined: 05 Mar 2013 12:37
Location: Massachusetts

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby dbVU » 16 Dec 2013 12:32

Wow!

Thanks for this hushpuppy.

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby hushpuppy » 16 Dec 2013 13:19

zerozero wrote:agree completely with Dave ;) Well Done!!

this is an impressive (and well organised <envy :lol: i wish i was like that>) howto!
:blush:
not much free time now to actually start doing this (because i will :D ) but i remembered (while rereading it) a "small" issue i hit a few days ago in my sid lxde-OP partition:
bug 731180 :evil:
(there's a patch available but the version in the archive is still not fixed)
i was working with this setup and that day the regular D-U wanted to install anew over 250 pkgs (gnome-shell, nautilus, brasero&friends) :o
my workaround then was to update first (with the --no-install-recommends switch) openbox and then D-U. worked!
the buggy version is only in sid atm and i hope that before the next UP this issue is fixed.
I'm not very good at reading patches quickly, but I'll look at it later.

Somehow, I have install recommends turned off (in synaptic, and apt-get follows suit). I've also fixed the Depends: lightdm-greeter bug in the razorqt source, but need to create a patch. And I'm also trying to fix the update-alternatives bug in the razorqt source, but need to double-check a fail-safe way of doing it properly. When that's done, I'd really like to bump the version number and possibly see if it can be uploaded to the community repository, especially since Debian have no need to patch razor since it will very soon be replaced.

I'm also adding more ArchLinux links to LXQT packages to the resources list, so that I have somewhere obvious to get the sources from.

Also, if anyone has packages they like to recommend, please do. If you want to do a howto in this thread using my methodology, even better. Choose a level of detail to suit your ability/skillset.

Remember, the aim is to transition to razor with the goal of a full LXQT desktop.

I have a couple of interim posts to make before I continue posting about building more packages

ETA: And if anyone has the slightest idea how I was going to finish that last sentence :roll:

Also, the package bump may be redundant since 0.6 will be coming eventually. On the flip side, it would be interesting to learn how a whole suite is configured/packaged, compared with a single application.
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
fleabus
Posts: 1227
Joined: 16 Sep 2013 04:24
Location: Winchester, VA USA

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby fleabus » 16 Dec 2013 14:30

Quick jump in and out here, the kids (and everyone else :D ) have got me doing dvd conversions and other transcoding crap for Christmas, very time consuming....

Got the perfect project machine for this. It's an Intel D850 board with a 2.8 prescott, 1g pc800 rdram and [asus] nvidia 5200/128m, Adaptec 29160N + 3x37gb Quantum Atlas 10K.

I think this would be ideal for it. been sitting on the table in the back being a media server for ages, time it got a facelift. Back to the Christmas jobs... <sigh> i hate it when life interrupts my playtime... :lol:

-- Dave

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

Re: [HOWTO] Create a Razor-Qt DE + build/install 3rd party a

Postby hushpuppy » 16 Dec 2013 18:45

Just when you think it's all over, along comes this:
From my point of view, I can see no benefit waiting for 0.6 since all the third party apps will work in either, plus they will also provide alternatives for KDE users as well, and we already have the most basic app requirements met. I should also correct what I've written before: the things that need correcting are packaging fixes, and not bug fixes.

However, since there will be a 0.6, it would be nice if razorqt-lightdm-greeter included a Provides: lightdm-manager line in debian/control. It would also be helpful if the was a postinst script to provide an update-alternatives lightdm-greeter. This is where my knowledge of packaging lets me down. The first should be trivial: just add the line. For the second, I've used the script from the gtk version and simply edited it. I don't know if there are any other packaging configuration files to update as well. Any help would be appreciated. Even though I don't intend to use 0.6, it would be nice if it was as complete as possible for other users. That is, if the debian maintainers bother to do anything themselves.

So, when we get to the end of the 3rd-party apps, I'll go through configuration issues, write an index, a tl;dr abbreviated post summarizing all the packages, a glossary, an addendum and corrigendum if necessary, and then move on to LXQt.

@anyone who knows: what is the default DM for KDE?
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche

User avatar
hushpuppy
Posts: 91
Joined: 02 Mar 2013 12:47

obconf openbox configuration tool to be considered deprecate

Postby hushpuppy » 16 Dec 2013 19:29

This is more of a place-holder than anything else, but obconf as an openbox configuration tool should be considered deprecated for a Qt-based desktop environment. The lxde team have created a Qt port not surprisingly called obconf-qt. The source is available from git clone lxde.git.sourceforge.net/gitroot/lxde/obconf-qt. I will build it as part of this project, but it would also be useful if it was in the community repo :wish: ;)
Ohne Musik wäre das Leben ein Irrtum (Without music, life would be a mistake) - Friedrich Nietzsche


Return to “Tutorials”

Who is online

Users browsing this forum: No registered users and 1 guest