<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3640170024291672884</id><updated>2012-02-17T00:55:15.093Z</updated><category term='install'/><category term='driver'/><category term='opeSUSE redshift backintime obs Factory packaging'/><category term='akonadi'/><category term='kitchensync'/><category term='schroot'/><category term='ati'/><category term='howto'/><category term='development'/><category term='features'/><category term='release'/><category term='openSUSE'/><category term='opensync'/><category term='obs'/><category term='opensync-plugin'/><category term='kde'/><title type='text'>masterpatricko</title><subtitle type='html'>foss hackery</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-3517135452541222388</id><published>2011-11-16T18:08:00.000Z</published><updated>2011-11-16T18:08:39.095Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>openSUSE 12.1 released - spread the word!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Congratulations to everyone who has worked hard on openSUSE 12.1 for another successful release. Can't wait to get it running.&lt;br /&gt;&lt;br /&gt;In the meantime, spread the word!&lt;br /&gt;&lt;br /&gt;Stories are appearing on &lt;a href="http://slashdot.org/submission/1851340/opensuse-121-released"&gt;Slashdot&lt;/a&gt; and &lt;a href="http://news.ycombinator.com/item?id=3243673"&gt;HackerNews&lt;/a&gt;. Upvote, comment, discuss! Suggest to the websites and magazines you read to run a review. Zonker over at Linux.com has already written an &lt;a href="https://www.linux.com/learn/tutorials/510731-opensuse-121-arrives-whats-new-and-what-happened-to-120"&gt;intro to 12.1 piece&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tell your friends on Twitter and Facebook! Let everyone know about the work openSUSE contributors have put in for the latest release - 12.1 has an &lt;a href="http://en.opensuse.org/Product_highlights"&gt;amazing feature list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;openSUSE is one of the major distributions in existence, both in terms of number of users and in contributions back to the rest of the community, we should all be extremely proud to be part of it, I know I am.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-3517135452541222388?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/3517135452541222388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/11/opensuse-121-released-spread-word.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3517135452541222388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3517135452541222388'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/11/opensuse-121-released-spread-word.html' title='openSUSE 12.1 released - spread the word!'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-6973586530863520914</id><published>2011-08-13T13:16:00.000+01:00</published><updated>2011-08-13T13:16:52.624+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opeSUSE redshift backintime obs Factory packaging'/><title type='text'>redshift and backintime in Factory</title><content type='html'>Well, it's been a long while since my last news ... but I've got some nice news to report - my submissions of redshift and backintime were accepted into openSUSE Factory. So these useful programs will be part of the next openSUSE release, hooray!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jonls.dk/redshift/"&gt;Redshift&lt;/a&gt; is a little command-line (and GTK) utility which reduces screen brightness at night (via colour temperature, so your screen becomes more red). Given your location in the world, it automatically calculates sunset and sunrise and gradually ramps up/down the brightness at the right times. I find it makes working at night easier on the eyes, and wrote a little plasmoid to control it easily from the desktop, which I will also release when I get some time.&lt;br /&gt;For previous openSUSE versions one can download and install redshift from its OBS devel project, &lt;a href="http://download.opensuse.org/repositories/X11:/Utilities"&gt;X11:Utilities&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://backintime.le-web.org/"&gt;Backintime&lt;/a&gt; is a backup program, effectively a rsync frontend, with GUIs for KDE and GNOME. Once configured with which folders you want to back up, and where you want to back up to, it can automatically take backups based on a schedule. Also a very nice feature is that on filesystems that support it (not FAT), it uses hardlinks to the previous backup, so each backup is a full backup but only changed files take up space on the backup disk. Each backup is just a normal copy of all the folders, so no special software is needed for recovery, but backintime offers a GUI that allows you to easily navigate through all your backed up versions of a folder. IMO it's the best userfriendly but complete backup software for Linux desktops. backintime used to be packaged by packman and now lives on the OBS in &lt;a href="http://download.opensuse.org/repositories/Archiving:/Backup/"&gt;Archiving:Backup&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VuwTIKnMVSQ/TkZqVRBNHYI/AAAAAAAAAAg/uRLpcyZkU9U/s1600/backintime.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="190" width="320" src="http://3.bp.blogspot.com/-VuwTIKnMVSQ/TkZqVRBNHYI/AAAAAAAAAAg/uRLpcyZkU9U/s320/backintime.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Enjoy! If you have other interesting programs that aren't in openSUSE remember that anyone can contribute to Factory now, so if you are willing to maintain them, go ahead and submit them on the OBS! My next target is byobu, a set of preconfigured GNU screen profiles (I never figured out how to write hardstatus lines!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-6973586530863520914?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/6973586530863520914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/08/redshift-and-backintime-in-factory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6973586530863520914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6973586530863520914'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/08/redshift-and-backintime-in-factory.html' title='redshift and backintime in Factory'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-VuwTIKnMVSQ/TkZqVRBNHYI/AAAAAAAAAAg/uRLpcyZkU9U/s72-c/backintime.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-2945185204839546440</id><published>2011-04-20T09:25:00.000+01:00</published><updated>2011-04-20T09:25:56.228+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Development and build environments: schroot on openSUSE -- part 2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;So in &lt;a href="http://masterpatricko.blogspot.com/2011/04/development-and-build-environments.html"&gt;part 1&lt;/a&gt; I detailed my search for something that would allow my development and productive environments to coexist on the same machine, and how I discovered schroot.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://packages.debian.org/search?keywords=schroot"&gt;Schroot&lt;/a&gt; is a "chroot manager" - it allows configuring chroots so that users on the system can run shells and processes in them, and it takes care of all the setup/tear down I described at the end of my previous post. It is a part of the Debian buildtools, for building Debian packages in a safe and repeatable environment, just like openSUSE uses build.&lt;br /&gt;&lt;br /&gt;Advantages of using schroot to setup development environments&lt;br /&gt;Vs Full Virtualization:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;low hardware requirements&lt;/li&gt;&lt;li&gt;easy network setup (just copy /etc/resolv.conf into the chroot)&lt;/li&gt;&lt;li&gt;can run X apps directly into running host X display&lt;/li&gt;&lt;li&gt;easy to share - host always has access to all guest files &lt;/li&gt;&lt;li&gt;can just run out of a directory&lt;/li&gt;&lt;/ul&gt;Vs plain chroots &lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;can easily setup multiple environments&lt;/li&gt;&lt;li&gt;can run out of disk images or actual devices &lt;/li&gt;&lt;li&gt;takes care of all the setup work&lt;/li&gt;&lt;li&gt;manages sessions&lt;/li&gt;&lt;li&gt;good cleanup of any leftover processes and mounts on exit &lt;/li&gt;&lt;/ul&gt;Disadvantages of chroots vs full Virtualization&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;No real process isolation - no difference between a process inside the chroot and outside the chroot. Even 'ps' shows processes both inside and outside the chroot (/proc is shared)&lt;/li&gt;&lt;li&gt;No real security - trivial for a malicious program to break out of a chroot, full host hardware access by mounting all of /dev (unless you spend the time to only allow through specific devices)&lt;/li&gt;&lt;li&gt;OS is never actually booted (no init) or shutdown, just specific processes run, so harder to run daemons&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;First step was packaging schroot, no problem there, except that it doesn't seem to exist anywhere except in the Debian package system. I just grabbed the source from their source dpkg. I found that flichtenheld also had schroot packaged in his home project on OBS, so I grabbed some patches that looked useful (thanks!). The package is currently in my home project, it's been SR'ed to devel:tools, but is also waiting on a security review (since it runs setuid) &lt;br /&gt;&lt;br /&gt;Next was configuring it. Read the schroot manpages, they are quite complete. schroot comes with three chroot types: default, desktop, and minimal. Since I wanted to run X apps, I used the desktop type, with a few modifications. All you have to do is create a configuration file in /etc/schroot/chroot.d/. For example, here's my development environment.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: text"&gt;[devel]&lt;br /&gt;type=directory&lt;br /&gt;description=Development 11.4 installation&lt;br /&gt;groups=wheel&lt;br /&gt;root-groups=wheel&lt;br /&gt;script-config=desktop/config&lt;br /&gt;directory=/home/chroot&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note that I've allowed anyone in the "wheel" group (just me atm) to use this chroot, as a user or as root.&lt;br /&gt;&lt;br /&gt;Then I setup the directory /home/chroot. Zypper has a very nice feature that allows bootstrapping openSUSE installs in situations like this: the "-R, --root" option where zypper behaves as if that is the root directory.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: bash"&gt;#first add a repository - I had my 11.4 dvd handy so I decided to save some bandwidth&lt;br /&gt;sudo zypper -R /home/chroot ar dvd:///&lt;br /&gt;#then install needed packages. base or minimal_base pattern is a good idea. sw_management installs zypper&lt;br /&gt;sudo zypper -R /home/chroot in -t pattern base sw_management&lt;/pre&gt;&lt;br /&gt;Now you can chroot in with&lt;br /&gt;&lt;pre class="brush: bash"&gt;schroot -c devel&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;A nice chroot is all set up for you, you can do your work, and when you leave it's all cleaned up. I was quickly able to run X apps, screen, and all my development tools - so far I've been able to do everything I need to. Excellent!&lt;br /&gt;&lt;br /&gt;Schroot also comes with some pretty cool support for LVM and brtfs-based chroots - it can automatically create temporary sessions based off a "source chroot", which I thought was pretty cool and might use that in the future.&lt;br /&gt;&lt;br /&gt;schroot is quite an extensible program; for example, it runs the scripts it finds in /etc/schroot/setup.d/ to create the chroots - you can easily add to this. I added tweaks to change the bash prompt so I know I'm in a chroot, allow ssh-agent access from the chroot, setup X11 authorizations properly to run X apps, and allow 'screen' usage. &lt;br /&gt;&lt;br /&gt;If you want dbus system bus to work in your chroot, add to /etc/schroot/desktop/fstab&lt;br /&gt;&lt;pre class="brush: text"&gt;/var/run/dbus   /var/run/dbus   none    rw,bind         0       0&lt;br /&gt;&lt;/pre&gt;I also commented out /home since I didn't want my home dir shared into the chroot.&lt;br /&gt;&lt;br /&gt;In /etc/schroot/desktop/config, I added these lines to give some config values to my custom script:&lt;br /&gt;&lt;pre class="brush: bash"&gt;#Environment variables and values to copy over&lt;br /&gt;ENVVARS="DISPLAY=:0"&lt;br /&gt;&lt;br /&gt;#Display to extract authorization from&lt;br /&gt;DISPLAY_AUTH=":0"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And I created the file below that is run every time a chroot is setup by schroot. Note it runs as root, outside the chroot. Anything that needs to be setup inside the chroot can be done via for example /etc/bash.bashrc.local, as I do for setting the prompt below. The variables used are all documented in the schroot man pages.&lt;br /&gt;/etc/schroot/setup.d/75setupsuse contents:&lt;br /&gt;&lt;pre class="brush: bash"&gt;#!/bin/sh&lt;br /&gt;# Copyright © 2011 Tejas Guruswamy &amp;lt;tejas.guruswamy@opensuse.org&amp;gt;&lt;br /&gt;#&lt;br /&gt;# schroot is free software: you can redistribute it and/or modify it&lt;br /&gt;# under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;#&lt;br /&gt;# schroot is distributed in the hope that it will be useful, but&lt;br /&gt;# WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU&lt;br /&gt;# General Public License for more details.&lt;br /&gt;#&lt;br /&gt;# You should have received a copy of the GNU General Public License&lt;br /&gt;# along with this program.  If not, see&lt;br /&gt;# &amp;lt;http://www.gnu.org/licenses&amp;gt;.&lt;br /&gt;#&lt;br /&gt;#####################################################################&lt;br /&gt;&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;. "$SETUP_DATA_DIR/common-data"&lt;br /&gt;. "$SETUP_DATA_DIR/common-functions"&lt;br /&gt;&lt;br /&gt;if [ -f "$CHROOT_SCRIPT_CONFIG" ]; then&lt;br /&gt;    . "$CHROOT_SCRIPT_CONFIG"&lt;br /&gt;elif [ "$STATUS" = "ok" ]; then&lt;br /&gt;    fatal "script-config file '$CHROOT_SCRIPT_CONFIG' does not exist"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ $STAGE = "setup-start" ] || [ $STAGE = "setup-recover" ]; then&lt;br /&gt;&lt;br /&gt;  info "Setting chroot environment and display"&lt;br /&gt;&lt;br /&gt;  info "Grabbing .Xauthority from ${AUTH_USER} $DISPLAY_AUTH"&lt;br /&gt;  su ${AUTH_RUSER} -c "xauth -f /home/${AUTH_RUSER}/.Xauthority extract ${CHROOT_PATH}/home/${AUTH_USER}/.Xauthority $DISPLAY_AUTH"&lt;br /&gt;&lt;br /&gt;  info "Finding running ssh-agent"&lt;br /&gt;SSH_AUTH_SOCK=$(find /tmp -user ${AUTH_RUSER} -name "agent*")&lt;br /&gt;SSH_AGENT_PID=$(pidof ssh-agent)&lt;br /&gt;&lt;br /&gt;  info "Adding ssh-agent variables to environment"&lt;br /&gt;ENVVARS="SSH_AGENT_PID=$SSH_AGENT_PID SSH_AUTH_SOCK=$SSH_AUTH_SOCK $ENVVARS"&lt;br /&gt;&lt;br /&gt;  vars=''&lt;br /&gt;  for var in $ENVVARS; do&lt;br /&gt;    info "export $var"&lt;br /&gt;    vars=$(echo -e "$vars\nexport $var")&lt;br /&gt;  done&lt;br /&gt;&lt;br /&gt;  info "Setting chroot bash prompt"&lt;br /&gt;  cat &amp;gt;"${CHROOT_PATH}/etc/bash.bashrc.local" &amp;lt;&amp;lt;'EOF'&lt;br /&gt;if [ -z "$debian_chroot" ] &amp;amp;&amp;amp; [ -r /etc/debian_chroot ]; then&lt;br /&gt;debian_chroot=$(cat /etc/debian_chroot)&lt;br /&gt;fi &lt;br /&gt;PS1="${debian_chroot:+($debian_chroot)}$PS1"&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;  echo "$vars" &amp;gt;&amp;gt; "${CHROOT_PATH}/etc/bash.bashrc.local"&lt;br /&gt;&lt;br /&gt;  info "Creating temporary directories necessary for screen"&lt;br /&gt;  mkdir -m 0755 ${CHROOT_PATH}/var/run/screens&lt;br /&gt;  mkdir -m 1777 ${CHROOT_PATH}/var/run/uscreens&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ $STAGE = "setup-stop" ]; then&lt;br /&gt;&lt;br /&gt;  rm -f ${CHROOT_PATH}/home/${AUTH_USER}/.Xauthority&lt;br /&gt;# rm -f ${CHROOT_PATH}/etc/bash.bashrc.local&lt;br /&gt;  rm -rf ${CHROOT_PATH}/var/run/screens&lt;br /&gt;  rm -rf ${CHROOT_PATH}/var/run/uscreens&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-2945185204839546440?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/2945185204839546440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/04/development-and-build-environments_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/2945185204839546440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/2945185204839546440'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/04/development-and-build-environments_20.html' title='Development and build environments: schroot on openSUSE -- part 2'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-303642660935838765</id><published>2011-04-20T02:07:00.000+01:00</published><updated>2011-04-20T02:07:29.445+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='schroot'/><title type='text'>Development and build environments: the search -- part 1</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;One of the problems I often face is keeping my productive system I use for work, separate from my development environment with broken versions of programs and loads of extra packages installed.&lt;br /&gt;&lt;br /&gt;For a while my solution was to create virtual machines in &lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; - which works great but has a very high overhead for the task. Especially when I am away from my desktop and only have my slightly underpowered laptop (no VT-x extensions, only 2GB RAM), running an entire virtualized system just to try out some packaging changes was painful.&lt;br /&gt;&lt;br /&gt;So recently I started experimenting with some other solutions. My requirements were &lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;low system requirements&lt;/li&gt;&lt;li&gt;easy full network access in the guest&lt;/li&gt;&lt;li&gt;able to run X apps (I like to have a development environment where I run KDevelop, plus most of the apps I develop are graphical)&lt;/li&gt;&lt;li&gt;process isolation (don't want a bad command ruining my host system)&lt;/li&gt;&lt;li&gt;file-level isolation (don't want my host polluted with loads of debuginfo, devel, and unstable packages/files) &lt;/li&gt;&lt;li&gt;at the same time, it should be able to share files if necessary&lt;/li&gt;&lt;li&gt;minimum of modification to the host system&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Probably the ideal solution would be something like FreeBSD jails, but I'm running Linux :) Of course I could just run many installations on the same computer, but rebooting all the time is very tiresome.&lt;br /&gt;&lt;br /&gt;My first experiment was with &lt;a href="http://www.xen.org/"&gt;Xen&lt;/a&gt;. Since my laptop doesn't have hardware virtualization extensions (even though it is a relatively recent Intel cpu, it's a cheap one), I had to use paravirtualization. Xen dom0 (host) needs a different kernel, but this was easy in openSUSE (Novell have traditionally supported Xen) install and setup went fine - in fact YaST has a module "Install Hypervisor and Tools". I was able to create and install a VM via virt-manager. But even paravirtualization was really, really slow on this machine - and interacting with the VM via vnc was quite awkward. All in all no better than the full virtualization I had before.&lt;br /&gt;&lt;br /&gt;Next I tried &lt;a href="http://lxc.sourceforge.net/"&gt;LXC&lt;/a&gt; - Linux Containers. They are basically super-chroots, using the power of the new kernel cgroups. Initially it looked like exactly what I needed - similar to FreeBSD jails. Overall it is comparable to &lt;a href="http://wiki.openvz.org/"&gt;OpenVZ&lt;/a&gt; (I didn't try OpenVZ because it needs a special kernel), almost but not quite virtualization (also called "operating system level virtualization"). It is a very new project though, and it showed, as there were no easy frontends to configure and run them. libvirt / virt-manager was supposed to have support for LXC, but I couldn't get it to work quite satisfactorily. Also, the OS running inside it needs heavy modification as LXC doesn't present any hardware by default (just a chroot, remember). To get the installed guest OS to boot, all the init scripts need to be gutted to remove anything trying to interact with hardware directly (HW clock, console, display, udev, hal). This was a painful process, and I couldn't get it quite right even with some extensive (but out of date?) documentation on the openSUSE wiki and elsewhere. On the plus side the hardware requirements of this were very low, as you would expect for a chroot. Perhaps in the future, when easy frontends exist, and distro's have versions suitable for installation in LXC, this would be an excellent solution.&lt;br /&gt;&lt;br /&gt;So the chroot-based LXC was almost what I needed - I looked around for other chroot-based systems. The openSUSE "build" script sets up chroots for build environments but is too focused on that, it doesn't give you much help for using the chroots for anything else. I found that ssh can automatically chroot users on login, so I tried setting up a "devel" user, configuring appropriately, and ssh'ing into localhost. But the purpose of ssh's chroots is security, so it doesn't help much with the task here either.&lt;br /&gt;&lt;br /&gt;I tried writing my own chroot management scripts. What is needed is to mount various directories (/dev, /sys, /proc) into the chroot so applications have access to the kernel/hardware, and possibly copy over some settings (e.g. /etc/resolv.conf for network access). It should also have some cleanup functions so that when the work in the chroot is done, it removes these mounts, ensures there aren't any stray processes, and leaves the host system in a consistent state. I had a few attempts at this, but it turned out to be harder than it seemed. I figured someone else must have experienced this issue, this is Linux after all, there must be something that does what I need. After spending most of my time looking at RPM-based distro solutions to this problem, I had the idea to look at Debian - and they seemed to have exactly what I needed. One of the Debian buildd-tools is a program called &lt;a href="http://packages.debian.org/schroot"&gt;schroot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In part 2 I cover how I got schroot working on openSUSE and my experiences with it so far.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-303642660935838765?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/303642660935838765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/04/development-and-build-environments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/303642660935838765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/303642660935838765'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/04/development-and-build-environments.html' title='Development and build environments: the search -- part 1'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-4385541065404985769</id><published>2011-03-27T13:09:00.000+01:00</published><updated>2011-03-27T13:27:54.226+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='install'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>openSUSE 11.4 - first steps</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Finally term is over and I'm on my Easter break, which means I can step up my contributions again.&lt;br /&gt;&lt;br /&gt;First step was to install the new release on my desktop - openSUSE 11.4 looks really, really good!&lt;br /&gt;No hassles during installation at all, took about 20mins from DVD.&lt;br /&gt;&lt;br /&gt;Here's what I did after installation:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;p&gt;I prefer using sudo, so setup sudo via visudo and tell KDE to use sudo&lt;br /&gt;&lt;pre class="brush: bash"&gt;kwriteconfig --file kdesurc --group super-user-command --key super-user-command sudo&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Add yourself as a PolicyKit administrator&lt;br /&gt;Open krunner (Alt+F2) -&gt; type "global policy" -&gt; open "Global Policy Configuration", add users/groups as required. Now you'll be asked for your password instead of root's, just like sudo.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Install subpixel hinting, and tell everything to use DejaVu fonts as defaults&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper ar -f --repo http://repos.opensuse-community.org/subpixel/openSUSE_11.4/Subpixel.repo&lt;br /&gt;sudo zypper in fontconfig-feature-subpixel-hinting freetype2-feature-subpixel-hinting&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Get &lt;a href=http://yakuake.kde.org/&gt;Yakuake&lt;/a&gt; working and enable autostart - can't live without it!&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper in yakuake&lt;br /&gt;cp /usr/share/applications/kde4/yakuake.desktop ~/.kde4/Autostart&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Install nvidia proprietary drivers (though I was impressed how well nouveau was working this release)&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper ar -f http://download.nvidia.com/opensuse/11.4 nvidia&lt;br /&gt;sudo zypper in x11-video-nvidiaG02&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Setup ssh-agent for passwordless SSH logins (take note of &lt;a href=https://bugzilla.novell.com/show_bug.cgi?id=682897&gt;bnc#682897&lt;/a&gt;)&lt;br /&gt;&lt;pre class="brush: bash"&gt;echo &amp;gt;~/.kde4/Autostart/ssh-add.sh &amp;lt;&amp;lt;EOF&lt;br /&gt;#!/bin/sh&lt;br /&gt;/usr/bin/ssh-add &amp;lt;/dev/null&lt;br /&gt;EOF&lt;br /&gt;echo &amp;gt;~/.kde4/shutdown/ssh-agent.sh &amp;lt;&amp;lt;EOF&lt;br /&gt;#!/bin/sh&lt;br /&gt;/usr/bin/ssh-agent -k&lt;br /&gt;EOF&lt;br /&gt;chmod +x ~/.kde4/Autstart/ssh-add.sh ~/.kde4/shutdown/ssh-agent.sh&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Disable 32bit Flash player and install 64bit preview&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper al flash-player&lt;br /&gt;sudo zypper rm -u nspluginwrapper&lt;br /&gt;cd Downloads&lt;br /&gt;wget -c http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz&lt;br /&gt;cd /usr/lib64/browser-plugins&lt;br /&gt;sudo tar xzf ~/Downloads/flashplayer10_2_p3_64bit_linux_111710.tar.gz&lt;br /&gt;sudo chown root:root libflashplayer.so&lt;br /&gt;sudo chmod 755 libflashplayer.so&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Add Packman Essentials and install needed codecs, and switch to Xine Phonon backend for amarok equaliser.&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper ar -f --repo http://packman.inode.at/suse/11.4/Essentials/packman-essentials.repo&lt;br /&gt;sudo zypper in libxine1-codecs w32codec-all phonon-backend-xine&lt;/pre&gt;Note the .repo file always points to packman.inode.at, no matter which mirror you get it from - you can change to a different packman mirror by editing /etc/zypp/repos.d/packman.repo.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Install the Firefox 4.0 theme &lt;a href="http://kde-look.org/content/show.php/Oxygen+KDE+%28Firefox+Theme%29?content=117962"&gt;Oxygen KDE&lt;/a&gt; and fiddle with the many settings. Firefox 4.0 is awesomely fast, and looks really slick.&lt;p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Finally we have this beautiful result!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mmoip6gHjfA/TY8nXPuBvvI/AAAAAAAAAAU/lncRxGTlmX4/s1600/114desktop.png" imageanchor="1" style=""&gt;&lt;img border="0" height="180" width="320" src="http://3.bp.blogspot.com/-mmoip6gHjfA/TY8nXPuBvvI/AAAAAAAAAAU/lncRxGTlmX4/s320/114desktop.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-4385541065404985769?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/4385541065404985769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/03/opensuse-114-first-steps.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/4385541065404985769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/4385541065404985769'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/03/opensuse-114-first-steps.html' title='openSUSE 11.4 - first steps'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-mmoip6gHjfA/TY8nXPuBvvI/AAAAAAAAAAU/lncRxGTlmX4/s72-c/114desktop.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-6379667047082684069</id><published>2011-01-10T02:18:00.000Z</published><updated>2011-03-27T10:59:42.458+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensync'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='obs'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='akonadi'/><category scheme='http://www.blogger.com/atom/ns#' term='opensync-plugin'/><title type='text'>Winter updates</title><content type='html'>&lt;p&gt;Phew. long time no news! It's been a busy start of winter ... on that topic a happy new year to everyone! Welcome if you're reading this for the first time on PlanetSUSE, have a look at my &lt;a href="http://masterpatricko.blogspot.com/2010/09/introduction.html"&gt;intro&lt;/a&gt; if you're curious who I am.&lt;/p&gt;&lt;p&gt;A few updates on what I've been working on this month at least.&lt;/p&gt;&lt;br /&gt;&lt;a href="http://kde-apps.org/content/show.php/opensync-plugin-akonadi?content=132900"&gt;libopensync-plugin-akonadi 0.22.1&lt;/a&gt; released&lt;br /&gt;Released an update to try and make it work better with the Google Akonadi resource (thanks ares)&lt;br /&gt;&lt;br /&gt;Package updates on the OBS&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Packaged &lt;b&gt;krazy2&lt;/b&gt;, the KDE code quality checker, straight from git in &lt;i&gt;KDE:Unstable:Playground&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Updated &lt;a href="http://www.infradead.org/get_iplayer/html/get_iplayer.html"&gt;get_iplayer&lt;/a&gt;, the BBC iPlayer download tool, in home:MasterPatricko. It now works!&lt;/li&gt;&lt;li&gt;Packaged &lt;a href=http://blog.fenrus.org/&gt;powertop2 beta&lt;/a&gt;, the power consumption monitor, in &lt;i&gt;home:MasterPatricko&lt;/i&gt;; interesting improvements compared to powertop. Needs kernel 2.6.37 (i.e. Factory or Kernel:HEAD) to show off its full power, but still works in 11.3.&lt;/li&gt;&lt;li&gt;Update &lt;a href=http://www.gnu.org/software/liquidwar6/&gt;liquidwar6&lt;/a&gt;, the particle simulation game, to 0.0.9beta in &lt;i&gt;games&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Update &lt;a href="http://maxima.sourceforge.net/"&gt;maxima&lt;/a&gt;, the Computer Algebra system, in &lt;i&gt;science&lt;/i&gt; to 5.23.0&lt;/liI&gt;&lt;br /&gt;&lt;li&gt;Update &lt;a href=http://www.synce.org&gt;unshield&lt;/a&gt;, the .CAB file extractor from the SynCE project, in &lt;i&gt;Archiving&lt;/i&gt; (and eventually Factory) to 0.6&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Fix build of &lt;a href=http://denyhosts.sourceforge.net/&gt;denyhosts&lt;/a&gt;, the SSH brute-force protection tool, on x86_64&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Update &lt;a href="http://jonls.dk/redshift/"&gt;redshift&lt;/a&gt;, the auto screen-brightness adjuster in &lt;i&gt;Factory:Contrib&lt;/i&gt; to 0.6&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Created a package &lt;b&gt;vncserver-autostart&lt;/b&gt; in home:MasterPatricko which adds an init script to start a tightvnc vncserver on bootup. Complete with sysconfig-style configuration. Completely insecure of course but perfect for a local network.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;Started using my hard-earned openSUSE member benefits; tejas.guruswamy AT and masterpatricko AT opensuse.org are operational; got the blog syndicated on &lt;a href="http://planet.opensuse.org"&gt;planet.opensuse.org&lt;/a&gt;  &lt;p&gt;Plus, as always, I have a couple of new project ideas I'd like to get started on ... more on that soon. Comments welcome as always&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-6379667047082684069?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/6379667047082684069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2011/01/winter-updates.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6379667047082684069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6379667047082684069'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2011/01/winter-updates.html' title='Winter updates'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-3056027993756188488</id><published>2010-09-23T17:27:00.000+01:00</published><updated>2010-09-23T17:27:37.933+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='features'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='obs'/><title type='text'>openSUSE Feature - push OBS repository state to users</title><content type='html'>Yesterday I wrote up a new feature request for openSUSE and the &lt;a href="http://build.opensuse.org/"&gt;OBS&lt;/a&gt; on &lt;a href="http://features.opensuse.org/"&gt;openFATE&lt;/a&gt;. The general idea is to make the Build Service more useful to users by giving them more information about the repositories available.&lt;br /&gt;&lt;br /&gt;The major complaint that people using the OBS have is simple. If you search on &lt;a href="http://sofware.opensuse.org/search"&gt;openSUSE Software Search&lt;/a&gt; or &lt;a href="http://packages.opensuse-community.org/"&gt;webpin&lt;/a&gt; you may find five different packages of the software you want; What's the difference between them? Which one is stable? Which one will still be working in a week's time? On the &lt;i&gt;opensuse-kde&lt;/i&gt; mailing list, we constantly get asked to explain the difference between &lt;i&gt;KDE:Distro:Stable&lt;/i&gt;, &lt;i&gt;KDE:Distro:Factory&lt;/i&gt;, and &lt;i&gt;KDE:Unstable:SC&lt;/i&gt; - even after pointing them to the wiki pages &lt;a href="http://en.opensuse.org/KDE_repositories"&gt;here&lt;/a&gt; and &lt;a href="http://en.opensuse.org/openSUSE:KDE_repositories_maintaining"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There is even disagreement on what "Stable", "Unstable" etc. means - people ask is it KDE that is Factory - or openSUSE? And then whenever a repository rename occurs, users are left surprised when their zypper refreshes suddenly return errors. And how do you tell users about important changes in repositories like the upcoming shift from KDE SC 4.5 to 4.6 that is about to happen in &lt;i&gt;KDE:Distro:Factory&lt;/i&gt;?&lt;br /&gt;&lt;br /&gt;So having thought about all this, I wrote up my suggestions on &lt;a href="https://features.opensuse.org/310604"&gt;openFATE:310604&lt;/a&gt;. Basically I propose a NEWS file, or similar, that gets pushed to users and updated with the metadata, along with a repository stability flag where each state is very clearly defined and visible in software search results. Please vote and comment, and lets get this done for openSUSE 11.4!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-3056027993756188488?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/3056027993756188488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensuse-feature-push-obs-repository.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3056027993756188488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3056027993756188488'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensuse-feature-push-obs-repository.html' title='openSUSE Feature - push OBS repository state to users'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-6879726372288934671</id><published>2010-09-21T23:59:00.000+01:00</published><updated>2010-11-11T19:02:18.030Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensync'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='akonadi'/><category scheme='http://www.blogger.com/atom/ns#' term='opensync-plugin'/><title type='text'>opensync-plugin-kdepim and opensync-plugin-akonadi</title><content type='html'>Following on from my previous posts &lt;a href="http://masterpatricko.blogspot.com/2010/09/kitchensync-022.html"&gt;[1]&lt;/a&gt;, &lt;a href="http://masterpatricko.blogspot.com/2010/09/opensync-and-kde.html"&gt;[2]&lt;/a&gt;, here is are the release announcements for the OpenSync plugins I've been working on.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;opensync-plugin-kdepim&lt;/b&gt;&lt;br /&gt;This is an OpenSync 0.22 plugin to sync with KDEPIM (pre-akonadi, so &lt; 4.5).Using this and the OpenSync framework you can sync your KDE PIM data with mobile devices and other applications. This is ONLY compatible with OpenSync 0.22; not OpenSync 0.3x or above. This code is not guaranteed bug-free; always have a backup of your data.This plugin can sync contacts with KAddressBook, events and todos with KOrganizer, and notes with KNotes (over DBus). If you have akonadi configured this plugin will refuse to sync (you can override this in the config, see the README).IMPORTANT: Note syncing depends on you having a KDE installation where &lt;a href=https://bugs.kde.org/show_bug.cgi?id=251914&gt;bko#251914&lt;/a&gt; is fixed.  This means knotes &gt;= 4.4.7, or use the patch there to recompile.&lt;br /&gt;If you can't get that to work, or if you don't need note syncing, in the patches directory of the source there is a patch that can turn off note syncing and allow it to compile.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kde-apps.org/content/show.php/opensync-plugin-kdepim?content=132899"&gt;opensync-plugin-kdepim&lt;/a&gt; on kde-apps.org&lt;br /&gt;&lt;a href="https://api.opensuse.org/public/source/KDE:Unstable:Playground/libopensync-plugin-kdepim/libopensync-plugin-kdepim-0.22.tar.bz2"&gt;libopensync-plugin-kdepim-0.22.tar.bz2&lt;/a&gt; source tarball on the OBS&lt;br /&gt;&lt;br /&gt;&lt;b&gt;opensync-plugin-akonadi&lt;/b&gt;&lt;br /&gt;This is an OpenSync 0.22 plugin to sync with KDEPIM with akonadi, so &gt; 4.4).&lt;br /&gt;Using this and the OpenSync framework you can sync your KDE PIM data with mobile devices and other applications.&lt;br /&gt;This is ONLY compatible with OpenSync 0.22; not OpenSync 0.3x or above.&lt;br /&gt;This code is not guaranteed bug-free; always have a backup of your data.&lt;br /&gt;&lt;br /&gt;This plugin can sync contacts, events, todos, and notes with Akonadi. (There is currently no easy way to view Akonadi notes). Make sure you have at least one akonadi collection of each type before syncing.&lt;br /&gt;&lt;br /&gt;&lt;a href=http://kde-apps.org/content/show.php/opensync-plugin-akonadi?content=132900&gt;opensync-plugin-akonadi&lt;/a&gt; on kde-apps.org&lt;br /&gt;&lt;a href="https://api.opensuse.org/public/source/KDE:Unstable:Playground/libopensync-plugin-akonadi/libopensync-plugin-akonadi-0.22.tar.bz2"&gt;libopensync-plugin-akonadi-0.22.tar.bz2&lt;/a&gt; source tarball on the OBS&lt;br /&gt;&lt;br /&gt;For both, prerequisites are libopensync-devel and libkdepimlibs4-devel. Compilation is standard&lt;br /&gt;&lt;pre class="brush: bash"&gt;mkdir build; cd build&lt;br /&gt;cmake ..&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Usage is add plugin to an OpenSync sync group; sync.&lt;br /&gt;&lt;br /&gt;Both are available on the OBS in &lt;a href="https://build.opensuse.org/project/show?project=KDE%3AUnstable%3APlayground"&gt;KDE:Unstable:Playground&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-6879726372288934671?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/6879726372288934671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensync-plugin-kdepim-and-opensync.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6879726372288934671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6879726372288934671'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensync-plugin-kdepim-and-opensync.html' title='opensync-plugin-kdepim and opensync-plugin-akonadi'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-9213805043635344766</id><published>2010-09-21T22:53:00.000+01:00</published><updated>2010-09-21T23:22:33.366+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensync'/><category scheme='http://www.blogger.com/atom/ns#' term='kitchensync'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>KitchenSync 0.22</title><content type='html'>As explained in my &lt;a href="http://masterpatricko.blogspot.com/2010/09/opensync-and-kde.html"&gt;previous&lt;/a&gt; post, something is finally happening with regards to KDEPIM and syncing with mobile devices.&lt;br /&gt;&lt;br /&gt;As step 1, I have resurrected KitchenSync - the KDE OpenSync frontend. This application allows for creating, configuring, and syncing OpenSync sync groups among any of the OpenSync &lt;a href="http://www.opensync.org/wiki/plugins"&gt;plugins&lt;/a&gt; (check your distro for opensync-plugin-* or similar).&lt;br /&gt;&lt;br /&gt;Basic use should be straightforward - add a sync group, add the members you want to sync between, configure if necessary, sync.&lt;br /&gt;&lt;br /&gt;The underlying OpenSync 0.22 framework is showings its age a bit though, and does have some bugs, so if you see a problem in KitchenSync, first make sure that the syncing works with the command-line tool &lt;b&gt;msynctool&lt;/b&gt; before reporting a bug in KitchenSync (which, for this version, you can do by directly contacting me here on this blog or via email). Msynctool will also show a bit more debugging output so if something is going wrong, definitely check there first.&lt;br /&gt;&lt;br /&gt;I've made binary and source RPMs available for openSUSE 11.1 and newer on the OBS in &lt;a href="https://build.opensuse.org/package/show?package=kitchensync&amp;project=KDE%3AUnstable%3APlayground"&gt;KDE:Unstable:Playground&lt;/a&gt;, which I'll try and keep updated whenever I can.&lt;br /&gt;The &lt;a href="https://api.opensuse.org/public/source/KDE:Unstable:Playground/kitchensync/kitchensync-0.22.0.tar.bz2"&gt;source tarball&lt;/a&gt; is also available thanks to the OBS. I'll see about getting some publicly accessible source repository soon.&lt;br /&gt;&lt;br /&gt;Prerequisites are libopensync-devel, libkde4-devel, and kdepimlibs4-devel or whatever similar name your distro calls them. Compilation instructions are standard KDE SC 4 / cmake stuff.&lt;br /&gt;&lt;pre class="brush: bash"&gt;mkdir build; cd build&lt;br /&gt;cmake ..&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The release is &lt;a href="http://kde-apps.org/content/show.php/KitchenSync?content=132898"&gt;available&lt;/a&gt; on KDE-Apps.org.&lt;br /&gt;&lt;br /&gt;In an entirely coincidental event, Quentin Denis has &lt;a href="http://kde-apps.org/content/show.php/KitchenSync?content=132538"&gt;revived&lt;/a&gt; the KDE4 + OpenSync 0.40 version of KitchenSync on KDE SVN too. This does not overlap with his work; OpenSync 0.40 is not compatible with OpenSync 0.22. However, I'll be keeping track of his development and backporting any useful fixes (and lending any help I can).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-9213805043635344766?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/9213805043635344766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/kitchensync-022.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/9213805043635344766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/9213805043635344766'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/kitchensync-022.html' title='KitchenSync 0.22'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-6848020429899576362</id><published>2010-09-21T22:31:00.000+01:00</published><updated>2010-09-21T22:31:26.375+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensync'/><category scheme='http://www.blogger.com/atom/ns#' term='kitchensync'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='akonadi'/><title type='text'>OpenSync and KDE</title><content type='html'>Those of you who have used KDE software for a while may remember way, way back when it was &lt;a href="http://dot.kde.org/2005/11/09/opensync-and-kde-cooperate-unified-data-syncing"&gt;announced&lt;/a&gt; that KDE would be cooperating with a project called &lt;a href="http://opensync.org/"&gt;OpenSync&lt;/a&gt; to provide PIM data synchronisation to a wide range of devices. The program &lt;a href="http://www.linux.com/archive/feed/50422"&gt;KitchenSync&lt;/a&gt; was brought in as an OpenSync frontend and for a while everything was good - you could sync contacts, events, todos, and notes from KDE 3.5 with your mobile phones and PDAs.&lt;br /&gt;&lt;br /&gt;Then the OpenSync project moved away from the stable version 0.22 and started work on a grand new 0.3x branch. They said when they reached 0.40, the project would be stable for end users again. Three years later they are still not ready, with the last release, 0.39, one year ago now. The project still has not been abandoned but things are moving extremely slowly.&lt;br /&gt;&lt;br /&gt;Meanwhile KDE moved on as well, to our beloved 4.x series. It was decided to wait for OpenSync 0.40, and then put some effort into porting over the KDE-OpenSync integration - but as KDE release after release went by without OpenSync 0.40 being ready, people got bored of waiting for OpenSync and so KitchenSync was dropped, leaving KDE 4.x users no way of syncing PIM data with mobile devices. Further complicating this is the recent move to akonadi, which adds another layer between your PIM data and where you want it to be - on your mobile device. Compounding this is that all distributions, on the instructions of the OpenSync project, still ship the now-unmaintained and uncared-for OpenSync 0.22 version.&lt;br /&gt;&lt;br /&gt;A few technically successful KDE Google SoC projects were undertaken to provide an alternative syncing framework (for example based on &lt;a href="http://saschpe.wordpress.com/2009/06/02/gsoc-week-1-2-wrap-up/"&gt;SyncML&lt;/a&gt;) but they never gained enough polish, or enough device support, to catch anyone's attention.&lt;br /&gt;&lt;br /&gt;Now one of my introductions to the F/OSS world was helping a project called &lt;a href="http://www.synce.org"&gt;SynCE&lt;/a&gt;, a framework to talk to Windows Mobile devices from Linux. SynCE had always used OpenSync as the syncing framework and a common question on the SynCE mailing lists was "How can I get my data into KDE?" - and there was no answer. So finally given some free time this summer I decided to do something about it.&lt;br /&gt;&lt;br /&gt;In total, I backported the &lt;a href="http://websvn.kde.org/trunk/playground/pim/kitchensync/"&gt;half-finished&lt;/a&gt; KitchenSync KDE4 + OpenSync 0.40 port back to OpenSync 0.22 so that it is usable right now. Then I did the same for the KDEPIM plugin - but this only works with KDE SC releases before akonadi was introduced (i.e. &lt; 4.4). Then I wrote a brand-new Akonadi Sync plugin for OpenSync 0.22 - not to be confused with the still-in-development Akonadi / OpenSync 0.40 plugin still available in &lt;a href="http://websvn.kde.org/trunk/KDE/kdepim/runtime/opensync/"&gt;KDE trunk&lt;/a&gt;. I'll do separate release announcements for them all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-6848020429899576362?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/6848020429899576362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensync-and-kde.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6848020429899576362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6848020429899576362'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/opensync-and-kde.html' title='OpenSync and KDE'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-8381431691043938968</id><published>2010-09-21T20:40:00.000+01:00</published><updated>2010-09-26T00:25:59.814+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ati'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='obs'/><category scheme='http://www.blogger.com/atom/ns#' term='driver'/><title type='text'>Build ATI fglrx RPMs on openSUSE -- part 2</title><content type='html'>&lt;b&gt;UPDATE&lt;/b&gt; 26/09/10: Switch the repositories back to X11:Drivers:Video; thanks to Stefan's work it is updated. Also, a post on the list &lt;a href="http://lists.opensuse.org/opensuse/2010-09/msg01546.html"&gt;says&lt;/a&gt; that ati-fglrxG01 legacy driver won't work on openSUSE 11.3 even if it builds, due to Xserver incompatibilities :(&lt;br /&gt;&lt;b&gt;UPDATE&lt;/b&gt; 24/09/10: I've branched and submitreq'ed the changes back to X11:Drivers:Video. Therefore I've changes the instructions below to checkout my branch instead and avoid the patching.&lt;br /&gt;&lt;b&gt;UPDATE&lt;/b&gt; 24/09/10: If you need the ATI legacy driver, for example for Radeon X1400 chipsets, checkout &lt;b&gt;X11:Drivers:Video/ati-fglrxG01&lt;/b&gt; instead. I've patched that to build on openSUSE 11.3 but don't have the hardware to test if it actually works.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://masterpatricko.blogspot.com/2010/09/build-ati-fglrx-rpms-on-opensuse-part-1.html"&gt;part 1&lt;/a&gt; of this topic, I discussed the current (sad) state of ATI/AMD fglrx video driver RPMs on openSUSE Linux, and suggested that the best, cleanest way to build them was actually via the &lt;a href="http://build.opensuse.org"&gt;OBS&lt;/a&gt;. Here I cover step-by-step instructions on how to do so.&lt;br /&gt;&lt;br /&gt;(Note: I use sudo on my machine, if you don't have it configured, use su)&lt;br /&gt;The first step is to install the OBS command-line frontend, osc.&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo zypper in osc&lt;br /&gt;&lt;/pre&gt;This will also pull in the famous SUSE 'build' script that allows cleanly building rpms.&lt;br /&gt;&lt;br /&gt;Then, in a clean working directory (e.g. ~/src):&lt;br /&gt;&lt;pre class="brush: bash"&gt;osc co X11:Drivers:Video ati-fglrxG02&lt;br /&gt;&lt;/pre&gt;Voila! The necessary spec files and patches will be made available in &lt;b&gt;X11:Drivers:Video/ati-fglrxG02&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;If you use sudo, make sure to edit the osc configuration file &lt;b&gt;~/.oscrc&lt;/b&gt; to tell it that. Uncomment the line starting with su-wrapper and change the value to suit you.&lt;br /&gt;&lt;br /&gt;Now time to build! (Fix distro version/arch as necessary)&lt;br /&gt;&lt;pre class="brush: bash"&gt;mkdir ~/src/packages&lt;br /&gt;cd X11\:Drivers\:Video/ati-fglrxG02&lt;br /&gt;sh ./fetch.sh&lt;br /&gt;osc build -k ~/src/packages -j 4 openSUSE_11.3 x86_64 ati-fglrxG02.spec&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;fetch.sh&lt;/b&gt; downloads the ATI driver release you wanted. The osc build will download necessary pacakges, create an entirely separate build system running in a chroot at /var/tmp/build-root - where it cannot affect your main system - and safely build the kernel module rpms, and once built save them in ~/src/packages. You will be asked for the root (or yours, if using sudo) password to create the chroot. &lt;br /&gt;Similarly build the X11 drivers.&lt;br /&gt;&lt;pre class="brush: bash"&gt;osc build -k ~/src/packages -j 4 openSUSE_11.3 x86_64 x11-video-fglrxG02.spec&lt;br /&gt;&lt;/pre&gt;Now go to your brand new rpms and install them!&lt;br /&gt;&lt;pre class="brush: bash"&gt;cd ~/src/packages&lt;br /&gt;sudo zypper in -f ati-fglrxG02-kmp-desktop-8.771_*.x86_64.rpm \&lt;br /&gt;                    x11-video-fglrxG02-8.771-*.x86_64.rpm&lt;br /&gt;&lt;/pre&gt;This does take a bit of bandwidth (~150 binary packages to download into /var/tmp/osbuild-packagecache), and is slightly slower than compiling the driver yourself, but it's much cleaner and you end up with a better constructed package. The package will automatically change your display driver to fglrx on installing, and when uninstalling will not leave any cruft about your system. This method is also completely applicable to openSUSE 11.2 and previous.&lt;br /&gt;&lt;br /&gt;Incidentally, if you add something useful in these RPMs (spec file, code patch), feel free to submit the changes back to the OBS so everyone can benefit - see &lt;a href="http://en.opensuse.org/openSUSE:Build_Service_Collaboration"&gt;OBS Collaboration&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-8381431691043938968?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/8381431691043938968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/building-ati-fglrx-rpms-for-opensuse.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/8381431691043938968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/8381431691043938968'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/building-ati-fglrx-rpms-for-opensuse.html' title='Build ATI fglrx RPMs on openSUSE -- part 2'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-6864689829936111237</id><published>2010-09-21T20:39:00.000+01:00</published><updated>2010-09-21T20:42:26.292+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ati'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='obs'/><category scheme='http://www.blogger.com/atom/ns#' term='driver'/><title type='text'>Build ATI fglrx RPMs on openSUSE -- part 1</title><content type='html'>How to install the ATI/AMD fglrx video drivers is one of the first questions many users have when they start up a new distro. The easiest option is an install from the distro's package manager; otherwise you have to manually download and compile from the ATI website.&lt;br /&gt;&lt;br /&gt;Although they are evil proprietary binary code, without these drivers, 3d acceleration for games and desktop effects is usually missing or extremely poor performance. In some cases even the 2d performance is quite bad; so most users like to install them as soon as possible.&lt;br /&gt;&lt;br /&gt;Traditionally (see &lt;a href="http://en.opensuse.org/SDB:ATI_drivers"&gt;SBD:ATI&lt;/a&gt;) on openSUSE a YaST/zypper repository has been available at http://www2.ati.com/suse/ (not viewable in a web browser). However in recent releases the ATI driver rpms in this repo have had bugs (originating in the original driver, not in the SUSE packaging); for some time the 64bit version installed files to 32bit locations and so failed to work; with the 11.3 release, the fglrx-10.7 rpms provided simply segfault on boot.&lt;br /&gt;&lt;br /&gt;So with openSUSE 11.3 everyone had to fall back to the manual method. Some enterprising openSUSE users have written scripts and workarounds (&lt;a href="http://www.sebastian-siebert.de/downloads/makerpm-ati-10.6-beta.sh"&gt;[1]&lt;/a&gt;,&lt;a href="http://lizards.opensuse.org/2010/07/15/ati-hd57xxx-flgrx-drivers-under-11-3/"&gt;[2]&lt;/a&gt;) that automate at least part of the process; but it still requires installing development tools (kernel-sources, gcc, etc.) on a non-development machine, which I especially dislike.&lt;br /&gt;&lt;br /&gt;As it turns out the real source of the ATI rpms (and nVidia rpms BTW, but that's a topic for another day) normally available in the YaST repository is Stefan Dirsch's hard work in the &lt;a href="https://build.opensuse.org/project/show?project=X11%3ADrivers%3AVideo"&gt;X11:Drivers:Video&lt;/a&gt; OBS project. Since the drivers are non-free, the actual source code is not uploaded to the OBS, but it is made available in what as known as a "nosrc" format - including all the build instructions and patches, just missing the source package. Happily, this makes it possible for anyone to build their own video driver RPMs to exactly the same quality that would be available from the repo, and without having to install development packages.&lt;br /&gt;&lt;br /&gt;Step by-step instructions are available in &lt;a href="http://masterpatricko.blogspot.com/2010/09/building-ati-fglrx-rpms-for-opensuse.html"&gt;part 2&lt;/a&gt; of this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-6864689829936111237?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/6864689829936111237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/build-ati-fglrx-rpms-on-opensuse-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6864689829936111237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/6864689829936111237'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/build-ati-fglrx-rpms-on-opensuse-part-1.html' title='Build ATI fglrx RPMs on openSUSE -- part 1'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3640170024291672884.post-3158420486050209757</id><published>2010-09-09T13:16:00.001+01:00</published><updated>2010-09-21T19:27:55.223+01:00</updated><title type='text'>Introduction</title><content type='html'>Just to get this blog started, a quick introduction.&lt;br /&gt;&lt;br /&gt;I have been running GNU/Linux distributions for almost 8 years now. My first experience was with Mandrake (today Mandriva) Linux - downloading 6 CD's on dialup was fun - and after some distro hopping I soon found a home with SuSE 9.2. Since then I've stuck with openSUSE as my main distro while also running the *buntu's and others on testing machines. My preference has always been for KDE - which is why I've never been a fan of Ubuntu - but every so often I'll fire up Gnome, Xfce, LXDE to see what progress has been made. I'm just as happy hacking away from a console.&lt;br /&gt;&lt;br /&gt;Over the years I've picked up a fair few scripting and coding skills. Given a bit of time to remember the syntax, I can generally get what I want done in most common languages - bash, awk, sed, perl, C/C++.&lt;br /&gt;&lt;br /&gt;My main contributions to the FOSS software environment are RPM packaging/maintenance (made super easy by the &lt;a href="http://build.opensuse.org"&gt;OpenSUSE Build Service&lt;/a&gt;), and C++/Qt/KDE application maintenance and patching. One of the first projects I became directly involved in is the &lt;a href="http://www.synce.org"&gt;SynCE project&lt;/a&gt;, where I ported some simple KDE3 applications to KDE4. Since then I've been active on the &lt;a href="http://lists.opensuse.org"&gt;openSUSE mailing lists&lt;/a&gt; and occasionally on the &lt;a href="http://forums.opensuse.org"&gt;forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My openSUSE Build Service home project is accessible &lt;a href="https://build.opensuse.org/project/show?project=home%3AMasterPatricko"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3640170024291672884-3158420486050209757?l=masterpatricko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://masterpatricko.blogspot.com/feeds/3158420486050209757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3158420486050209757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3640170024291672884/posts/default/3158420486050209757'/><link rel='alternate' type='text/html' href='http://masterpatricko.blogspot.com/2010/09/introduction.html' title='Introduction'/><author><name>Tejas</name><uri>http://www.blogger.com/profile/11041304557269415293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
