Organizing oSC13 - 68 days before
Cron Job in Google Blogger failed to publish the post I wrote yesterday morning in yesterday afternoon, so many of you saw it comming out some hours ago. I hope I did not confused anyone with that and I will take advantage of this 'failure' of Google Blogger (or with what I did wrong in there and missed it) and write today about situations like that, that can happen while organizing a conference.
Organizing oSC13 - 69 days before
Organizing oSC13 - 70 days before
It's all about monkeys
Microsoft Belgium was hosting the session, and the room was packed !
I really enjoyed that evening, and just wanted to thank you all: attendees for their presence and interactions, MADN and DNH for the invite and the bottle of wine, Microsoft Belgium for the place, food and drinks, and Xamarin for the give away licences, monkeys and t-shirts.
KDE Platform, Workspaces and Applications 4.10.3 for openSUSE
KDE released 4.10.3 versions of the Platform, Workspaces and Applications yesterday, with more than 70 bugs being fixed. Notably:
- Several fixes in handling encrypted mails in KMail
- Fixes for KDEPIM syncing and ownCloud
- A number of improvements in Dolphin, including crash fixes
- Optimizations in the Plasma Workspaces
[The full list](https://bugs.kde.org/buglist.cgi?query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=2013-01-01&chfieldto=Now&chfield=cf_versionfixedin&chfieldvalue=4.10.3&order=Bug Number&list_id=638034) has other important changes.
As usual, there are two different repositories from which you can get them:
- KDE:Distro:Factory in case you are interested in contributing to packaging for the next openSUSE release;
- KDE:Release:410 (openSUSE 12.3 or openSUSE 12.2) in case you just want to upgrade to the latest and greatest version
In case you upgrade now, you should be aware of an issue with KDM that makes it not start: thankfully there’s a workaround available, and updated packages are already being built by the OBS, so it will be solved soon.
Report bugs in packaging to Novell’s Bugzilla, and bugs in the software directly to KDE.
Have fun with 4.10.3!
openSUSE Wallpaper Submissions
Here is a little video I made to help orient your thoughts about the wallpaper submission process. I tried giving you tips and ideas on how to come up with a wallpaper and one specifically made for openSUSE. Please bear in mind that although you may not know all the details about the wallpapers we are looking for, you can still ask for our help for us to give you hints on what to do.
Other than that, here you go!
Andy (anditosan)
ownCloud Client May Hackfest
Again we’re meeting in Berlin at Woboq Intl. Headquarters to work on the ownCloud Sync Client again. One of our topics is the still not completely fixed problem with conflict files. There has been lots of troubles about false conflict files the client is generating in that situations were the ETag database is wasted.
We revisited this problem and will come up with a better solution.
The key changes will probably be
- Conflict files will never again be generated on the server. Even if we are in a conflict situation, we will download the file and keep the conflicting version only on the client. This enables us to detect false conflicts.
- The current way we handle a system time difference has to be changed. We wont adjust the file mtimes of files in the file system any more with the time difference between the client and server. That way we do not suffer from floating time differences any more. For the decision of which version is more recent, we will still consider the time difference.
- We will use a very quick request like OPTION to get the servers time setting to the client. That will allow to calculate the time difference between server and client more accurately. It’s needed to decide which file is more recent.
Read this as a note to self, yet we feel very well fitting into Berlin round may 1st ;-)
GSoC Meetup : Jamia Millia Islamia Faculty of Engineering
It all began abruptly, when Akif Khan ( a prospective student ) asked me to discuss my GSoC experiences at his college. The idea instigated quickly instigated me as I longed to visit a College Campus and meet real open source people after a long time, so I agreed without giving a second thought, we decided that we will meet up on Saturday at Faculty of Eng, Jamia Millia Islamia.
I reached Jamia Millia at time and was pleased to find an enthusiastic culture of open source led by the students over there. Lots of students from other colleges were a part of the meetup too. A few things that I noted my experience there are as follows :
- Students were enthusiastic and really wanted to contribute to open source. Since most of them were fresh(wo)men, they were enthusiastic about the GSoC experience and how it could help them.
- Discussion how to select a project, write a proposal and how to communicate with the organizations was taken up.
One of the most enthusiastic things that I heard was “I really want to do it, despite of getting through GSoC” which is pretty much any open source organization wants. Hopefully, we have more students who think like this and even more who turn their thoughts into action. Overall, it was an excellent talk with a bunch of enthusiastic people :).
There were a lot of interesting questions asked, one of them being was “How do I start contributing to it?” . Recently, I had one of the more interesting reads on quora which gives a answer to the question https://www.quora.com/Software-Engineering/Which-open-source-projects-are-actively-looking-for-contributors in a very succint way.
Recent documents in LibreOffice
This is again one of those little improvements that make LibreOffice much more usable, and that I so much love hacking on. I implemented a dropdown for the Open toolbar button that brings an easy access to the Recent Documents, and sent that the UX mailing list for feedback. I got some really useful hints. Even better - I gave Samuel code pointers to play with this a bit, and he came up with a beautiful patch that implements his ideas. And here is the result:
Samuel - thank you for this! :-) For anybody who would like to bring this functionality to the Start Center too (the screen you see when you start LibreOffice), here is an Easy Hack that will result in reusing the code for the Start Center too; and also will delete lots of duplicate code.
Install Gitlab on OpenSUSE 12.3
Private Git Repo Hosting
Gitlab brings the social coding Github experience to your own network. In contrast to the commercial product Github which only allows to host open source git repository projects using the free plan, you can install the free/libre software Gitlab wherever you like and do what you want. Therefore you need to setup a RubyOnRails environment. Officially, Gitlab supports Debian/Ubuntu. Read on how to install it on OpenSUSE.
The presented solutions features a btrfs
filesystem RAID-1 :) and some custom patches. Instead of init.d startup scripts,
we use systemd. I recommend to use nginx as a webserver.
Please be aware that the development of Gitlab continues rapidly. This might break this how-to at some point. Please read everything before starting!
Install OS
- Download OpenSUSE 12.3 32bit, Network edition http://download.opensuse.org/distribution/12.3/iso/openSUSE-12.3-NET-i586.iso
- I chose 32bit, because Ruby Binary Extensions might have problems with lib64 path structure. We workaround this bug.
- I chose networkinstall, because we need only very few packages and don’t need to download everything. only 200MB are downloaded during install
- the image can easily copied to a usb pen drive using the gui tool “imagewriter” (executed as root)
- Partition: There are 2 big hard drives. I created on both of them first a primary pratition of 1GB of type LINUX-RAID
- I use the yast software raid setup during the install to connect both partitions to a software raid-1 partititon of ext4 to mount in /boot
- I created on both hard drives a btrfs partition (50GB), but only mount the one on /dev/sda to /
- I created on both hard drives a swap space of 2 GB and mount both to swap
The system gets installed and the configuration follows.
- I open ssh. I disable ipv6.
- I disable dhcp and configure the hostname to “leise” and the site to our internet domain, the nameserver and the gateway is set to be the mail server.
- The server gets the fixed ip: 192.xxx.xxx.184
- The network check passes successfully and I apply immedately online updates.
- I leave the user input dialog blank and only set a root password
The installation is done. I test everything with a restart using reboot.
Now the root filesystem has to be turned to a btrfs raid system.
- I add a second device to the root file system:
btrfs device add /dev/sdb2 / - I convert the striped btrfs mode to the raid1 mode for filesystem data and metadata:
btrfs filesystem balance start -dconvert=raid1 -mconvert=raid1 /
Install Gitlab
- Homepage: http://gitlab.org/
- Source Code: https://github.com/gitlabhq/gitlabhq
The following steps apply to version 5.0 and try to copy the step by step tutorial which is refered from the README: https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
Install dependencies:
zypper ar http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_12.3/devel:languages:ruby:extensions.repo
zypper in patterns-openSUSE-devel_basis ca-certificates-cacert nginx rubygem-rb-inotify rubygem-ffi redis mysql-community-server mysql-community-server-client rubygem-bundler ruby19 ruby19-devel libmysqlclient-devel zlib-devel libyaml-devel libgdbm4 libreadline6 libncurses5 libffi47-devel curl git-core postfix checkinstall libxml2-devel libxslt-devel libcurl-devel libicu-devel
# accept deinstallation of patterns-openSUSE-minimal_base-conflicts
python2 --version # make sure to have version > 2.5 but < 3.0
ruby1.9 --version # make sure to have a compatible version (in my case 1.9.3)
cat /usr/bin/bundle # make sure to have ruby version 1.9 in the shebang line (first line in file)
systemctl daemon-reload # reparse config for systemd (necessary, because we installed mysql)
systemctl start mysql.service # start mysql
systemctl enable mysql.service # make mysql autostart
cp /etc/redis/default.conf{.example,}
chown redis.redis /etc/redis/default.conf
systemctl enable redis.service
systemctl start redis.service
Prepare system for Gitlab
- create a user git:
useradd -ms /bin/bash git
Prapare Gitlab (using account git)
su git # (change to the account of git)
cd # (change to the home directory /home/git)
git clone https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
cp config.yml.example config.yml
vim config.yml # change domain to the domain of this computer
cd
ssh-keygen # to be sure, create ssh key (not mentioned in official docu) with empty passphrase
Follow the setup of the mysql data base: https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/databases.md#mysql
mysql -u root- follow the guide for mysql commands
We continue with the setup of the GitLab Rails application:
gem1.9 install charlock_holmes --version '0.6.9' # execute as root
su git
cd
git clone https://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab
git checkout 5-0-stable # not possible yet, I use master instead
vim config/gitlab.yml
# ^- email_from: gitlab@atech.de, support_email: admin@atech.de, default_projects_limit: 100
# disable username_changing_enabled
chown -R git log/ tmp/
chmod -R u+rwX log/ tmp/
mkdir /home/git/gitlab-satellites
mkdir tmp/pids/
chmod -R u+rwX tmp/pids/
cp config/unicorn.rb.example config/unicorn.rb
cp config/database.yml.mysql config/database.yml
vim config/database.yml # edit password and username
bundle install --deployment --without development test postgres # takes a while
bundle exec rake db:setup RAILS_ENV=production
bundle exec rake db:seed_fu RAILS_ENV=production
bundle exec rake gitlab:setup RAILS_ENV=production # chose yes
bundle exec rake gitlab:shell:setup RAILS_ENV=production # chose yes
git config --global user.name "GitLab"
git config --global user.email "gitlab@atech.de"
Install Check:
su git
cd /home/git/gitlab
bundle exec rake gitlab:check RAILS_ENV=production
Go to yast firewall and open port http (and https port): 80, (443)
# update services
su
cd /usr/lib/systemd/system/
wget https://gist.github.com/veprbl/5115638/raw/9d18a341217f109accb67f57e8ad420c9de442fd/gitlab.service # TODO wrong mysqld
wget https://gist.github.com/veprbl/5115638/raw/be78658953cd5967a4d874f5b0a019667cf090af/gitlab-worker.service # TODO same
# double-check content of these files!
chmod 644 gitlab.service gitlab-worker.service
# TODO edit /etc/nginx/vhost.d/*
systemctl daemon-reload





