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

Post your tutorials and howtos here.
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 21:04

hushpuppy wrote:@anyone who knows: what is the default DM for KDE?
It's kdm afaict.
Wikipedia wrote:KDE Display Manager is the standard display manager of the KDE Software Compilation. KDE developed KDE Display Manager from the source code of X display manager.......KDM uses the Qt application framework. It is configurable via KDE's System Settings; its appearance can be customized by the user.
and:

http://docs.kde.org

Specifically:

Chapter 5. The Files kdm Uses for Configuration

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

Re: More 3rd-Party Apps and Discussion.

Postby zerozero » 17 Dec 2013 00:15

hushpuppy wrote: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
looks to me that one (or maybe more) links here are duplicated :)

===
about kde's dm aseigo wrote an interesting piece some months ago
http://aseigo.blogspot.co.uk/2013/03/lo ... ces-2.html
bliss of ignorance

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

Re: More 3rd-Party Apps and Discussion.

Postby fleabus » 17 Dec 2013 00:57

zerozero wrote:about kde's dm aseigo wrote an interesting piece some months ago
http://aseigo.blogspot.co.uk/2013/03/lo ... ces-2.html
After reading that writeup I'd definitely go with the new girl on the block, but a lot of time has gone by, wonder how that issue is evolving... :?

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 » 17 Dec 2013 01:56

i might give sddm a try in the next couple days and see how it goes; can't find anything new about a decision tho.
bliss of ignorance

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

Re: More 3rd-Party Apps and Discussion.

Postby hushpuppy » 17 Dec 2013 08:23

zerozero wrote:
looks to me that one (or maybe more) links here are duplicated :)

===
about kde's dm aseigo wrote an interesting piece some months ago
http://aseigo.blogspot.co.uk/2013/03/lo ... ces-2.html
Thanks, zerozero.

I've rearranged the list into what I think is a more logical order now. The reason there are so many Razor-qt links is because I didn't find it obvious that the only documentation was the wiki, and I prefer to highlight with a direct link, rather than go searching for, things like 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

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

Postby hushpuppy » 18 Dec 2013 13:24

zerozero wrote:i might give sddm a try in the next couple days and see how it goes; can't find anything new about a decision tho.
I'm considering replacing LightDM with sddm, but sddm has dependency issues. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718701 for more info. As suggested in the last post in that thread, I'm building libxcb now but won't be able to see if this helps until later today.

ETA: The patch didn't do anything for me :( This is why I shouldn't try to do anything in my lunch break :roll:

Okay, building from a git clone appears to have unresolvable dependencies. The source 0.1 release tarball (9 months old) builds okay.

ETA: I hope you don't mind me spoiling your own fun (I'd put this in spoiler tags if they were available), but :you might want to add "Depends: lightdm-greeter" and "Provides: x-display-manager" to the debian control file, and there are some useless dependences to weed out:

Code: Select all

   dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm debian/sddm/usr/bin/sddm-greeter were not linked against libQtXml.so.4 (they use none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm was not linked against libdl.so.2 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm-greeter was not linked against libQtXmlPatterns.so.4 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm-greeter was not linked against libQtSql.so.4 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm-greeter was not linked against libQtSvg.so.4 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/sddm/usr/bin/sddm-greeter was not linked against libQtScript.so.4 (it uses none of the library's symbols)
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 » 19 Dec 2013 10:13

hushpuppy wrote:
zerozero wrote:i might give sddm a try in the next couple days and see how it goes; can't find anything new about a decision tho.
I'm considering replacing LightDM with sddm, but sddm has dependency issues.
Yeah. aseigo's post did say that both solutions would require a lot of work before they could consider implementing either in KDE. I suppose it falls into the "it would be nice to have time to work on this" category... That is if they decide they even want to switch at all.
hushpuppy wrote:ETA: I hope you don't mind me spoiling your own fun ... but :you might want to add "Depends: lightdm-greeter" and "Provides: x-display-manager" to the debian control file, and there are some useless dependences to weed out...
Polishing up is never a bad idea. I dimly remember someone saying waaay back at the beginning of this thread:
...better, more efficient ways to tackle this project. Posts will be edited, and a changelog maintained to reflect any improvements.
So. Anything worth doing....[tab][tab][tab] :D

This'll be the biggest single project I've yet taken on in my short Linux-life. :D

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 » 20 Dec 2013 10:35

zerozero wrote:...this is an impressive (and well organised <envy :lol: i wish i was like that>) howto!
Big ole Me Too on that! I'm [still] a mess.
zerozero wrote:not much free time now to actually start doing this (because i will :D ) ... i was working with this setup
I'm still working on that one too, for which you kindly shared the log. Playing with the slim-down stuff will help with this next project. Interesting that they're going to finalize Razor with 0.6, maybe can slip that in if it's ready, for more fun and confusion of knots to untie :lol: :mrgreen: :twisted:

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 » 21 Dec 2013 11:47

fleabus wrote:
zerozero wrote:...this is an impressive (and well organised <envy :lol: i wish i was like that>) howto!
Big ole Me Too on that! I'm [still] a mess.
zerozero wrote:not much free time now to actually start doing this (because i will :D ) ... i was working with this setup
I'm still working on that one too, for which you kindly shared the log. Playing with the slim-down stuff will help with this next project. Interesting that they're going to finalize Razor with 0.6, maybe can slip that in if it's ready, for more fun and confusion of knots to untie :lol: :mrgreen: :twisted:
Finally got round to reading zerozero's post about what he removed... :ugeek: I removed all of those, too, until I got myself a free printer :) then cups came back, and gimp (with which I have a hate-hate relationship) :cry: . [rant] gimp >= 2.8 should have been piped through /dev/random and dumped into /dev/null. Oh, wait, isn't that what they did? As it is now, 2.8 is a bug-ridden, useless, bloated pile of garbage. Typical Gnome/Gtk approach: if it ain't fixable, break it, break it, and break it some more.[/rant]

Actually, I'm just about as organized as the worst gnome devs :oops: what you don't see is the hours spent trying to work out why something won't compile, only to find a dangling sym-link from a previous attempt. What you don't see is several different versions of the same thing breaking each other and LightDM greeters when I reboot. Most^H^H^H^HSome of the errors get filtered out, and then discussion reveals something new, and we're back to square one :? which is okay really, because peer review is the best review, and this is a learning process as much as anything else.

So, three things to take into consideration at this point:
  1. LightDM is going to be replaced with SDDM. See this Fedora article and project which I can plagiarize as a howto ;) and leech all the latest source packages from :twisted:
  2. Currently, it is not possible to have razorqt 0.5 and lxqt on the same system. razor and lxqt have built in dependences on different versions of the same libraries. There is no current way of knowing if razorqt 0.6 will have the same issues
  3. Will be added if I can remember what it was.
At least, it is still possible to go forward making packages for useful Qt-based applications, since they will be essential for LXQt, and they can also be used as lightweight alternatives in KDE. Learning how to configure razor will help when it comes to building the LXQt project packages and setting appropriate defaults. I would like to get away from the jumble of possible ways to configure DM > SM | [ WM | SM ], and just have update-alternatives as the default. This weekend, I'm going to take a deeper look at SDDM and, if I have time, do a couple more package compilations.
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 » 22 Dec 2013 05:31

hushpuppy wrote:...until I got myself a free printer :) then cups came back...
Yeah, 'fraid I'm gonna have to keep cups, although all I ever print is txt files - howtos, docs, etc. and only the ones I'll need to have on hand when the system's not actually running.
hushpuppy wrote:and gimp (with which I have a hate-hate relationship) :cry:
Totally lost in gimp. Gonna have to spend a week on that one. I generally can get by with some cropping and resizing, don't often need a full-fledged graphics machine like gimp.
hushpuppy wrote:Actually, I'm just about as organized as the worst gnome devs :oops: what you don't see is the hours spent trying to work out why something won't compile, only to find a dangling sym-link from a previous attempt. What you don't see is several different versions of the same thing breaking each other and LightDM greeters when I reboot. Most^H^H^H^HSome of the errors get filtered out, and then discussion reveals something new, and we're back to square one :? which is okay really, because peer review is the best review, and this is a learning process as much as anything else.
Yeah, but you're doing it! You're banging your head on it, like me ten years ago. Working thru it, getting it done and out here in a properly organized manner -- And that's what it's all about! As you said, the learning process. Finding the good stuff out here in net-land means digging fairly hard, thanks to the s/n ratio. Having worked in support for so many years I can really appreciate the value of the diamonds in the great steaming heap.

Until I got into Linux back in July I'd been coasting. To paraphrase the immortal wisdom of anastasis in this hilarious Gnome 3 rant thread over at Debian, I had been content to diminish, go into the west, and remain Galadriel. :lol: These projects shall grant me the power of the one ring, that I may become more than I am and remain in the world! Look upon me ye mighty, and despair!

:roll: Aww Cripes... Hey Charlie, he got out again! Somebody go get the blarsted trank gun and the net! :lol:

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 » 22 Dec 2013 11:41

Updated OP to add:
It may well be worth having a handy copy of the Debian New Maintainers' Guide, dated Dec 22 2013. If in doubt, this guide is authoritative, except where it isn't, in which case the debian docs it links to are.
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 » 22 Dec 2013 13:00

Just today, That was quick. Or rather, perfect timing.

The index shows that there were some other updates today, most notably the Debian Reference and the Users' guide. Eleven updates today, and sixteen this year. Good to see that happening.

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 » 27 Dec 2013 14:16

fleabus wrote:Just today, That was quick. Or rather, perfect timing.

The index shows that there were some other updates today, most notably the Debian Reference and the Users' guide. Eleven updates today, and sixteen this year. Good to see that happening.
Someday, there'll have to be a debian suppository guide to deal with all their cr*p.

Code: Select all

users-guide/	27-Dec-2013 12:29 	 -

users-guide.en.html	27-Dec-2013 12:29 	 78K	
User's Guide (Obsolete Documentation) (Obsolete Documentation)

Abstract

This "User's Guide (Obsolete Documentation)" is nothing but a
reformatted "Progeny User's Guide". Contents are adjusted for the
standard Debian system.

Copyright &copy; 2001 by Progeny Linux Systems, Inc.
Unfortunately, the hardest part isn't trying to find the most relevant, up-to-date, accurate, ..., guide -- it's trying to find one that's readable, works, and doesn't require reading through a dozen other relevant, up-to-date, accurate, ..., guides to figure out that the one that really works is the first one you found that was obsolete :o This one is 12 years old, and obsoleted twice, so it must be good :mrgreen:

I've just set up my own local repo using an obsolete guide, and it works perfectly :geek:

And if all else fails, to quote Douglas Adams
... the secret is to bang the rocks together, guys.
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 » 27 Dec 2013 15:45

hushpuppy wrote:Someday, there'll have to be a debian suppository guide to deal with all their cr*p.
hushpuppy wrote:Unfortunately, the hardest part isn't trying to find the most relevant, up-to-date, accurate, ..., guide -- it's trying to find one that's readable, works, and doesn't require reading through a dozen other relevant, up-to-date, accurate, ..., guides to figure out that the one that really works is the first one you found that was obsolete :o This one is 12 years old, and obsoleted twice, so it must be good :mrgreen:
hushpuppy wrote:And if all else fails, to quote Douglas Adams
... the secret is to bang the rocks together, guys.
:lol: _ :twisted: _ :lol: _ :twisted: _ :lol:

Damn near fell off the chair; You just made my day!

“A few dud universes can really clutter up your basement.”
― Neal Stephenson, In the Beginning...Was the Command Line

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

Building and Installing taskbar

Postby hushpuppy » 27 Dec 2013 18:08

Building and Installing taskbar

Hugo Pereira has a very useful collection of utilities based on (or, off of for you Americans, :sigh:) the Qt toolkit. We're going to build and install some of these in a while.

But, first, we're going to make use of another bash trick, and tidy up a bit. In my case, everything is below /share/user/QT, so in the root shell, I do:

Code: Select all

# cd /share/user/QT
QT # echo export CDPATH=${CDPATH:-.}\':${PWD}\' >> ~/.bashrc
QT # . ~/.bashrc
Now, from anywhere, it should be possible to use autocomplete to change directory very quickly. So, to test it type:

Code: Select all

# cd
# cd BU[tab]/..
CDPATH is the search path for the cd command, a colon-separated list of directories in which the shell looks for destination directories specified by the cd command. If it doesn't already exist, we specify '.' as the default; if it does exist, we add the current directory. Now, cd B[tab]/.. should autocomplete to cd BUILD/.. which is our top level directory.

From there,

Code: Select all

QT # mkdir LOGS
QT # mv log.* LOGS/.
to move our log files out of the way. By having my part of the directory tree in uppercase, and by carefully choosing unique first-letters, it becomes very easy to cd to commonly visited directories.

With that done, first we're going to look at Hugo's taskbar. So, from wherever you are:

Code: Select all

# cd BUILD
BUILD # mkdir taskbar
BUILD # cd [esc].
taskbar # wget 'http://www.phenix.bnl.gov/WWW/publish/hpereira/software/tgz/taskbar-2.4.10.tar.gz'
taskbar # tar zxf [tab]
taskbar # cd ./[tab]
taskbar-2.4.10 # dh_make --createorig --single --yes
taskbar-2.4.10 # vi debian/control

Source: taskbar
Section: Qt
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0), cmake
Standards-Version: 3.9.4
Homepage: http://www.phenix.bnl.gov/WWW/publish/hpereira/software/index.php?page=introduction_qt4&package_list=software_list_qt4&full=1
#Vcs-Git: git://git.debian.org/collab-maint/taskbar.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/taskbar.git;a=summary

Package: taskbar
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A transparent taskbar based on the Qt toolkit
 Taskbar is a transparent taskbar to collect users favorite applications and run them in a simple click. It is inspired both from Kde 3.4 taskb
 .
 Taskbar supports the following features:
 * tooltips are displayed when the pointer stays long enough on a button;
 * the application icons are animated when the pointer pass over them or click on them. Three icon zooming modes are available (fixed, minimal,
 * buttons are added/removed by right clicking and select the corresponding action in a popup menu;
 * buttons can be reordered by middle-clicking on a button and moving it around.
 * the layout maybe either vertical, horizontal or box-like (with a given number of columns);
 * the taskbar can be placed anywhere on the desktop and moved around at will by just left-clicking on it and moving the pointer. A set of pred
 * button names can optionally be added bellow the icons;
 * the taskbar can be automatically hidden when the mouse pointer leaves its active area. This feature is enabled only for certain (natural) co
 .
 Note: at first install, the taskbar is empty. To add a button, right-click, select add button and fill in the dialog that appears.

taskbar-2.4.10 # dpkg-buildpackage -tc |& tee ../../../LOGS/log.build.taskbar
All of this should become more familiar with practice. Note that we use

Code: Select all

dh_make --createorig --single --yes
to set options without being prompted. And we use the -tc option to dpkg-buildpackage to clean the build tree afterwards.

We could install the built package now, but there's one more of Hugo Pereira's applications to build, then we're going to revisit the razorqt package, and set up our own local repository :ugeek:

Next part: Building and Installing transparency
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 transparency

Postby hushpuppy » 27 Dec 2013 21:59

Building and Installing transparency

Last time, we'd just finished building taskbar. Except, in reality, there were a few other things in between: a few package installs and purges for other things, forward-testing that the DM we want to use instead of LIghtDm works (who knows?), that it builds easily (it doesn't), that google will help find the answer (yes), that the answer works (no), and so on...

So... try to build transparency:

Code: Select all

taskbar-2.4.10 # cd BUILD
BUILD # mkdir transparency
BUILD # cd transparency
transparency # wget 'http://www.phenix.bnl.gov/WWW/publish/hpereira/software/tgz/transparency-2.7.1.tar.gz'
transparency # tar zxf [tab]
transparency # cd ./[tab]
transparency-2.7.1 # dh_make --createorig --single --yes
transparency-2.7.1 # vi debian/control

Source: transparency
Section: Qt
Priority: optional
Maintainer: root <root@mint>
Build-Depends: debhelper (>= 8.0.0), cmake
Standards-Version: 3.9.4
Homepage: http://www.phenix.bnl.gov/WWW/publish/hpereira/software/index.php?page=package&package_list=software_list_qt4&package=transparency&fu
#Vcs-Git: git://git.debian.org/collab-maint/transparency.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/transparency.git;a=summary

Package: transparency
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A set of Qt-based transparent applications
 Transparency is a set of transparent applications:
 .
 * transparent calendar;
 * transparent analog clock;
 * transparent CPU load display for user, nice and system jobs, based on /proc/stat file;
 * transparent display for memory and swap load, based on /proc/meminfo file;
 * transparent display for network load, based on /proc/net/dev file;
 * transparent display for disk load, based on /proc/stat, /proc/partitions and /dev information;
 * transparent display to monitor laptop's battery
 * transparent summary of all previous informations in text format;
 * basic transparent image viewer, ImageView.

transparency-2.7.1 # dpkg-buildpackage -tc |& tee ../../../LOGS/log.build.transparency
And it fails with:

Code: Select all

-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/i386-linux-gnu/libX11.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
-- checking for module 'xrender'
--   found xrender, version 0.9.8
-- checking for module 'libnotify'
--   package 'libnotify' not found
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
X11_Xext_LIB (ADVANCED)
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
The error is due to package 'libnotify' not found, which had been conveniently purged some minutes before. So, let's put it back:

Code: Select all

transparency-2.7.1 # apt-get install libnotify-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gir1.2-notify-0.7 libgdk-pixbuf2.0-dev libglib2.0-dev libpcre3-dev libpcrecpp0
Suggested packages:
  libglib2.0-doc
The following NEW packages will be installed:
  gir1.2-notify-0.7 libgdk-pixbuf2.0-dev libglib2.0-dev libnotify-dev libpcre3-dev libpcrecpp0
0 upgraded, 6 newly installed, 0 to remove and 187 not upgraded.
Need to get 2,828 kB of archives.
After this operation, 9,140 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Well, we look at the dependences and obviously we want to say NO. Quoting wikipedia:
GDK (GIMP Drawing Kit) is a computer graphics library that...
... I don't want on my system. Right now, we have to say yes, but we make a note to look for a Qt based alternative, and answer y, and build the package. A bit of googling shows that there are alternatives, but it isn't obvious if they're usable. We'll return to that later.

At this point, we have LightDM, Razor-Qt, a Qt-based terminal, file manager, and some useful utilities. From the Solyd repos, we can install qupzilla and qbittorrent for a Qt-based browser and gui bit-torrent client; qmmp is a usable music player, and so on... We should also be able to find source for other utilities we might want and be able to build them.

At this point we can install the utilities we've built, jump into razor, and try out our new desktop environment. All that really needs doing from a user's perspective, is understanding the configuration system and setting sensible defaults.

However, along the way we've found one or two things that can be improved. The next part will be a temporary place-holder for a condensed tl;dr howto of we've done so far -- which was, after all, the original purpose of this topic. Configuration and setting defaults is a separate process, which would benefit from a more detailed investigation later.

Much of what has been described so far involves building packages; that process is going to get much more complicated: we will rebuild razorqt, try to build sddm, build the packages sddm depends on, try to build sddm again, and create a very simple local repository to make the administration of the 100+ packages we'll have more manageable. We'll do that after the jump because we'll need to understand it before we can build LXQt.

Next part: tl;dr [HOWTO] Create a Razor-Qt DE
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

tl;dr [HOWTO] Create a Razor-Qt DE

Postby hushpuppy » 27 Dec 2013 22:06

tl;dr [HOWTO] Create a Razor-Qt DE

TODO: A summary of the steps taken to reach this point.

Next part: Creating a Simple Local Repository
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

Creating a Simple Local Repository

Postby hushpuppy » 28 Dec 2013 13:18

Creating a Simple Local Repository

So far, we've only built a handful of packages; everything else has come from the Solyd repositories. Local builds can be kept anywhere -- we've left ours in the BUILD tree. Trying to think logically, it makes more sense to keep them in a directory tree where we can find them easily -- not just for this project, but for anything else that comes along. When we have only a few packages, this is easy to maintain, but we're going to be building a new display manager which has even more dependences. We're going to attempt to build LXQt, which means creating and maintaining patches, probably hacking some code as we go along, and having more than one version of the same package as we test them.

Managing this could be a nightmare, so we're going to create a very simple (as in not complicated, and not foolish or silly, but YMMV) local repository.

There are many ways to create a repo, this is debian after all. All of them are complicated for a beginner, and require reading a lot of guides and howtos that contain much that is apocryphal, or at least wildly inaccurate. This is the debian way. Instead, we will use a guide that contains trivial instructions, which is therefore obsolete, and therefore obviously works.

As ever, proceed with caution: until some debian testing packages are rebuilt the way we need them, we have to ensure ours are the ones we have installed. We will be making dozens of packages that may conflict with those in the Solyd repos. This method works for me; use at your own risk.

Our local repository will have the following structure:

Code: Select all

[path]---debian-+-binary-[package directories]
                |       `-Packages.gz
                |
                `-source-[sources directories]
                        `-Sources.gz
To help maintain suites of packages, they will have their own versioned directories. We will use incron to monitor changes and automatically generate the index files. My repo will be on an external drive for portability, and will be maintained by user, not root.

First, install incron and add user to the allow list:

Code: Select all

 # apt-get install incron
 # echo user > /etc/incron.allow
Second, as user, use sudo to make the directory tree, and make sure user owns it:

Code: Select all

 user $ sudo mkdir -p /share/local/debian/{binary,source}
 user $ sudo chown -R user /share/local/debiab
Third, create scripts to scan for packages and sources, and make them executable:

Code: Select all

 user $ vi /usr/local/bin/update_repo_bin.sh

#!/bin/sh

TARGET=/share/local/debian/binary
cd ${TARGET}
dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz

 user $ vi /usr/local/bin/update_repo_src.sh

#!/bin/sh

TARGET=/share/local/debian/source
cd ${TARGET}
dpkg-scansources -m . /dev/null | gzip -9c > Sources.gz

user $ chmod +x /usr/local/bin/update_repo_{bin.sh,src.sh}
Finally, edit the incrontab to monitor our repo:

Code: Select all

user $ incrontab -e

/share/local/debian/binary IN_MODIFY,IN_CREATE,IN_DELETE,IN_MOVE,IN_NO_LOOP /usr/local/bin/update_repo_bin.sh
/share/local/debian/source IN_MODIFY,IN_CREATE,IN_DELETE,IN_MOVE,IN_NO_LOOP /usr/local/bin/update_repo_src.sh

 user $
Now, in binary and sources, whenever a file is modified, created, deleted, or moved the update script will be executed. All we need to do to include our repo is add the two directories to the end of the sources list, and update:

Code: Select all

 # vi /etc/apt/sources.list

.
.
.
deb file:/share/local/debian/binary ./
deb-src file:/share/local/debian/source ./

 # apt-get update
We can begin filling our repo with qterminal and qtermwidget, with qtfm, with taskbar and transparency. Afterwards, we can run apt-get update to refresh the apt indexes. If we create newer versions, they will show as updates in synaptic.

This approach is very simple. Adding a package is as simple as moving the versioned directory we put it in into the repository tree. Deleting it is as simple as removing the directory we put it in. The package and sources lists get updated automatically. We can use apt to query and install the package and specify a version. If you don't trust it during a dist upgrade, simply edit sources.list.

Next, we're going to look at the razorqt suite in more detail, make some quilt patches, wonder why we made some quilt patches, add a postinst script, and start adding to our brand new local repo.

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

User avatar
Snap
Posts: 1244
Joined: 25 Aug 2013 20:01
Location: Spain

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

Postby Snap » 29 Aug 2014 00:01

Sorry (not at all 8-) ) for resurrecting this old thread and great tutorial. I tried to go through it somewhat, Because I started from SolydK, and kept Kwin onboard along with OpenBox. But I got stuck at this point:

http://forums.solydxk.nl/viewtopic.php? ... 308#p22017

I got this output:

Code: Select all

# apt-get build-dep qterminal qtermwidget qtfm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: You must put some 'source' URIs in your sources.list
While it's supposed that this line should produce this.

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.
What to do now?

It seems this cool project is abandoned, isn't it? A shame the journey is not completed to the full LXQt. Anyway, still a great reference for a Razor-Qt environment. IMO, a sticky candidate.
This likely means that your installation is broken. -Mr Pixbuf.

Image

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 » 29 Aug 2014 04:08

Got to be the most amazing how-to I've ever seen, bar none, with more valuable knowledge in one place about every aspect of building/maintaining a linux system than I've ever seen, without actually opening a book. Or maybe perusing the LFS site, It's that well written. I was stunned by it at the time, always meant to try to follow through with this, and never got around to it. I was such a raw newbie... I still am! And I spread myself way too thin these days, in spite of the fact that I'm retired. I suppose I was kind of overwhelmed... The sheer amount of effort that went into creating this just floors me. And it's so well organized... Hushpuppy could have written a book. It would not surprise me at all if it turned out that was already the case several times over.

What an outstanding contribution. And we have it here, at Solyd. 8-)

@Snap -- Following through with a project like this would likely take me months (that's not a bad thing!), as I'd have to research my way around stumbling blocks such as the one you encountered. Indeed, encountering such is inevitable when taking up a project of this magnitude, and presents a research challenge par excellence...


Return to “Tutorials”

Who is online

Users browsing this forum: No registered users and 2 guests