RubyGem CI::Reporter
As I was starting the OBS webserver earlier today, I ran into a missing-gem error:
Missing these required gems: ci_reporter
So I installed the gem.
$ sudo gem install ci_reporter
Fetching: ci_reporter-1.6.5.gem (100%)
Successfully installed ci_reporter-1.6.5
1 gem installed
There was an error installing the documentation for ci_report:
Installing ri documentation for ci_reporter-1.6.5... Invalid output formatter For help on options, try 'rdoc --help' ERROR: While generating documentation for ci_reporter-1.6.5 ... MESSAGE: exit ... RDOC args: --ri --op /usr/lib/ruby/gems/1.8/doc/ci_reporter-1.6.5/ri --main README.txt -SHN -f darkfish --quiet lib History.txt Manifest.txt README.txt LICENSE.txt --title ci_reporter-1.6.5 Documentation (continuing with the rest of the installation) Installing RDoc documentation for ci_reporter-1.6.5... Invalid output formatter For help on options, try 'rdoc --help' ERROR: While generating documentation for ci_reporter-1.6.5 ... MESSAGE: exit ... RDOC args: --op /usr/lib/ruby/gems/1.8/doc/ci_reporter-1.6.5/rdoc --main README.txt -SHN -f darkfish --quiet lib History.txt Manifest.txt README.txt LICENSE.txt --title ci_reporter-1.6.5 Documentation (continuing with the rest of the installation)
But this error didn’t interfere with my starting the web server.
Anyway, I was curious what ci_report was all about.
CI::Reporter is an add-on to Test::Unit, RSpec and Cucumber that allows you to generate XML reports of your test, spec and/or feature runs. The resulting files can be read by a continuous integration system that understands Ant’s JUnit report XML format, thus allowing your CI system to track test/spec successes and failures.
It looks like CI::Reporter works best with projects that use a Rakefile along with the standard Rake::TestTask or Spec::Rake::SpecTask/RSpec::Core::RakeTask tasks for running tests or examples, respectively. This way, it hooks into Test::Unit or RSpec using environment variables recognized by these custom tasks to inject the CI::Reporter code into the test or spec runs.
There isn’t a fair amount of documentation on CI::Reporter yet, except: http://caldersphere.rubyforge.org/ci_reporter/
GNOME 3.0 Live image release 1.5.0 available
I just push a new GNOME 3.0 live image labelled as 1.5.0 (yes, I forgot to push 1.4.0 after I built it, so we are at 1.5.0 now ;)
No big changes, it is based on GNOME 3.0.2 + some additional fixes.
As always, it can be downloaded from http://www.gnome.org/getting-gnome/
For people interested, here are some download hits (it doesn't include SUSE Studio appliance nor promo dvd which is also available from GNOME ftp) :
on GNOME 3.0 release day : 4526 hits
April : 145904 hits
May : 46551 hits
June : 24747 hits
July : 23611 hits
August (from 1 to 15) : 13063 hits
Enjoy !
Back from FrOSCon
Back from the FrOSCon conference (the only one that has even weirder capitalization than openSUSE ;D).
Mixed feelings. While it was a bit boring during the day as there was pretty much no one passing by the stands (not just ours), I'm not really convinced it's that useful to have a stand there... Of course, the great weather didn't help, as most non-contributor-people who would might have come to the conference out of curiosity will most definitely have preferred making good use of the sunny weather that weekend. Understandable :)
Mind you, I definitely had a good time, as the organization is very well done, the catering is nice (at least for speakers and booth personnel, didn't try the other options), the barbecue with DJ on Saturday evening was excellent, and, of course, I got to see quite a lot of people I know through openSUSE and FOSDEM (quite a lot of people wearing the ultimate street cred t-shirt of FOSDEM supporters, btw ;)), and a few I didn't. Got to chat a lot with core Mageia contributors as well, which was definitely fun and interesting. Hence, lots of great FOSS people around, awesome.
Was obviously also great in the evening/night, chatting around beers (even if it was Kölsch (yellow water with a tiny bit of alcohol and some bitter)) with fellow contributors across different projects. Also got to meet Jan Krings for the first time (as well as Marcus Möller, Jan Krings and Jan Weber, which I've met IRL before).
If you've never been at such events (even more striking at FOSDEM methinks, because there's a huge crowd, with lots and lots of projects there, and a lot of discussions and cross-pollination going around), and are mostly on the "user" side of things, then just stop the hate. Forget about distrowars, competition, and all that. That's just totally not how it works for almost all the people who actively contribute to their projects. Even between BSD and Linux. We may have our differences and preferences, but we all respect the work, brains, excellence, and love everyone is putting into their respective undertakings.
But in terms of audience, I wonder whether FrOSCon shouldn't have a sharper focus. At least, the focus wasn't all that clear to me, it seems like the target is "everything". There are stands of distribution projects, which are typically for the non-Linux/BSD-users-yet to grab some DVDs and play with it. There are stands of vendors, who pay for their stand, and whom are either selling books, or showcasing their services and solutions to potential customers, or hunting for highly qualified hackers. That's a pretty different audience already, at least when compared to the more entry-level distribution showcase stands. Then there are tracks and "devrooms" (yes, they really call them the same as at FOSDEM :)), which is .. dunno.. depends, some did sound more advanced, for developers, and some were a lot more entry level (e.g., paraphrasing, "openoffice.org is open source, what does that mean for me, user ?").
Just my 2 cents, but I'm under the impression that it could serve a better purpose to be less general purpose and have a slightly sharper focus in terms of target audience. But hey, maybe it was just the weather (heard from others, e.g. from fellow openSUSEr Jan Weber) that there were clearly a lot more people the years before), and maybe the organizers are just fine with the amount and type of audience that was there.
PackageKit backend for Software Center: pencils down report
Today the official coding period of GSoC 2011 ends. It’s been a four months journey, with challenges, failures and achievements, but nevertheless fun
.
You may be wondering what is the status of my project; here it goes: current version of Software Center can be tested in openSUSE Factory; it can populate its database with data from an AppStream XML; it shows application information (fetched from the package manager); it installs and removes software, in the same friendly manner the ubuntu does (showing progress, handling dependencies).
Moreover, my patches to gobject-introspection, PackageKit and obviously software-center, are all upstream and released; kudos to the project managers and the community for helping me get them there.
There are still parts that need work; some of then have been intentionally left with lower priority from my initial plan, in order to get a functional version up by the end of the program; others weren’t covered by the planed feature set. These are: performance (current version is rather slow on first load, and also on showing list, due to many resolve calls), transaction history (it can be implemented using the almighty PackageKit), reviews (currently these are fetched from ubuntu servers), screenshots (same as reviews). Software Center itself passes a period of active development and changes, once its fancy Gtk+3 interface stabilizes, more work can be done into polishing the <other-distro> experience.
Although I’m generally happy with the result of the project, since this is a report, I want to outline what differed from my expectations and slowed me down from bringing a full feature set cross-distro Software Center:
- fast development – when I started hacking on software-center’s GUI, it was pygtk Gtk+2 based; a Gtk+3 branch existed, but was far from being usable; under the last few weeks, it was merged, and actively developed into a newly designed interface (which will become software-center 5.0);
- Gio, GLib, GMenu, GObject, usually libs starting with a capital G, which introspection bindings are about to stabilize; having to get them from trunk, and dealing with API breakage;
- waiting for the pygobject release; when it came, it broke my pygtk mixed work (since static vs GI are no longer permitted in the same program – which is the right choice. btw), and left me with no working GUI; luckily, I took the best advices on IRC, and also software-center devs fixed things along, so that the new UI isn’t affected by the underlying changes.
Something worth mentioning in this finale post is that OBS totally rocks.
Overall, I hope this effort won’t stop here, and with a bit of luck, it will be shipped by your favorite distribution
PS: for more implementation/testing/plan details, I have created this page on openSUSE wiki, please check it out.
Fix “rake/rdoctask is deprecated. Use rdoc/task instead”
Another problem I’ve run into while starting the obs web server after the system upgrade is:
/build-service/src/webui> ./script/server => Booting WEBrick => Rails 2.3.11 application starting on http://0.0.0.0:3000 No local development environment found: No such file or directory - /home/surfmonkey/branch/build-service/src/webui/config/environments/development.opensuse.rb Using global development environment /home/surfmonkey/branch/build-service/src/webui/config/environments/development_base.rb ** Erubis 2.6.6 Missing these required gems: daemons You're running: ruby 1.8.7.334 at /usr/bin/ruby rubygems 1.5.0 at /home/surfmonkey/.gem/ruby/1.8, /usr/lib/ruby/gems/1.8 Run `rake gems:install` to install the missing gems.
I don’t remember running into this problem before.
$ rake gem:install daemons rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) rake aborted! Don't know how to build task 'gem:install'
The stack traces look like the following:
/usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/task_manager.rb:49:in `[]' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:111:in `invoke_task' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:90:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:90:in `each' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:90:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:129:in `standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:84:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:62:in `run' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:129:in `standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:59:in `run' /usr/lib/ruby/gems/1.8/gems/rake-0.9.1/bin/rake:32 /usr/bin/rake:19:in `load' /usr/bin/rake:19
So I open up my Rakefile and make these lines
require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'
to
require 'rake'
require 'rake/testtask'
require 'rdoc/task'
Supposedly, I should also add gem “rdoc” to my Gemfile:
$ cat /usr/lib/ruby/gems/1.8/gems/jquery-rails-1.0.9/Gemfile source :gemcutter # Specify your gem's dependencies in jquery-rails.gemspec gemspec # Rails is already being pulled in through gemspec # gem "rails", :git => "git://github.com/rails/rails.git" gem "rack", :git => "git://github.com/rack/rack.git" gem "sprockets", :git => "git://github.com/sstephenson/sprockets.git" gem "i18n", "0.6.0beta1"
But I’m unable to overwrite the write permission:
I don’t understand what’s going on. Deleting gemfile.lock wouldn’t help.
Someone on the web suggested adding rdoc/ to my .gitignore, too.
Anyway, I just go ahead and install the daemons:
$ sudo gem install daemons
Fetching: daemons-1.1.4.gem (100%)
Successfully installed daemons-1.1.4
1 gem installed
Installing ri documentation for daemons-1.1.4...
Installing RDoc documentation for daemons-1.1.4...
So what are these daemons, after all?
Daemons provides an easy way to wrap existing ruby scripts (for example, a self-written server) to be run as a daemon and to be controlled by simple start/stop/restart commands. You can also call blocks as daemons and control them from the parent or just daemonize the current process. Besides this basic functionality, daemons offers many advanced features like exception backtracing and logging (in case your ruby script crashes) and monitoring and automatic restarting of your processes if they crash. — RubyGems.org
Finally, I’m able to successfully start the web server:
$ ./script/server
=> Booting WEBrick
=> Rails 2.3.11 application starting on http://0.0.0.0:3000
No local development environment found: No such file or directory - /home/surfmonkey/branch/build-service/src/webui/config/environments/development.opensuse.rb
Using global development environment /home/surfmonkey/branch/build-service/src/webui/config/environments/development_base.rb
** Erubis 2.6.6
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-08-22 16:03:59] INFO WEBrick 1.3.1
[2011-08-22 16:03:59] INFO ruby 1.8.7 (2011-02-18) [i586-linux]
[2011-08-22 16:03:59] INFO WEBrick::HTTPServer#start: pid=9781 port=3000
. . . . . .
libxml2 problems when installing nokogiri
Since I upgraded openSUSE 11.3 to 11.4, the dependencies in my local buildservice repository got updated as well. When I tried to start the web server, it failed:
~/branch/build-service/src/webui> ./script/server => Booting WEBrick => Rails 2.3.11 application starting on http://0.0.0.0:3000 /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require': no such file to load -- nokogiri (MissingSourceFile)
Nokogiri parses and searches XML/HTML very quickly, and also provides CSS3 selector support and XPath support for document searching.
I installed the nokogiri parser before the system upgrade, but it might’ve gotten lost or updated during the upgrade. So I have to install nokogiri again on 11.4:
~/branch/build-service/src/webui> sudo gem install nokogiri Fetching: nokogiri-1.5.0.gem (100%) Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for libxml/parser.h... no ----- libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. ----- *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.
I remember seeing this problem before. The solution is to simply install the dependencies first:
$ sudo zypper install libxml2
Loading repository data...
Reading installed packages...
'libxml2' is already installed.
No update candidate for 'libxml2-2.7.8-16.17.1.i586'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
The trick is to install libxml-devel package instead:
$ sudo zypper install libxml2-devel Loading repository data... Reading installed packages... Resolving package dependencies... The following NEW packages are going to be installed: libxml2-devel ncurses-devel readline-devel 3 new packages to install. Overall download size: 2.6 MiB. After the operation, additional 18.9 MiB will be used. Continue? [y/n/?] (y): y Retrieving package ncurses-devel-5.7-14.1.i586 (1/3), 2.5 MiB (18.4 MiB unpacked) Retrieving: ncurses-devel-5.7-14.1.i586.rpm [done (230.3 KiB/s)] Retrieving package readline-devel-6.1-18.25.1.i586 (2/3), 42.0 KiB (75.0 KiB unpacked) Retrieving: readline-devel-6.1-18.25.1.i586.rpm [done (0 B/s)] Retrieving package libxml2-devel-2.7.8-16.17.1.i586 (3/3), 81.0 KiB (427.0 KiB unpacked) Retrieving: libxml2-devel-2.7.8-16.17.1.i586.rpm [done (165.1 KiB/s)] Installing: ncurses-devel-5.7-14.1 [done] Installing: readline-devel-6.1-18.25.1 [done] Installing: libxml2-devel-2.7.8-16.17.1 [done]
Also, install libxslt-devel:
$ sudo zypper install libxslt-devel Loading repository data... Reading installed packages... Resolving package dependencies... The following NEW packages are going to be installed: libgcrypt-devel libgpg-error-devel libxslt-devel 3 new packages to install. Overall download size: 355.0 KiB. After the operation, additional 2.0 MiB will be used. Continue? [y/n/?] (y): y Retrieving package libgpg-error-devel-1.9-4.1.i586 (1/3), 47.0 KiB (216.0 KiB unpacked) Retrieving: libgpg-error-devel-1.9-4.1.i586.rpm [done (156.2 KiB/s)] Retrieving package libgcrypt-devel-1.4.6-3.1.i586 (2/3), 106.0 KiB (183.0 KiB unpacked) Retrieving: libgcrypt-devel-1.4.6-3.1.i586.rpm [done (213.0 KiB/s)] Retrieving package libxslt-devel-1.1.26-2.1.i586 (3/3), 202.0 KiB (1.6 MiB unpacked) Retrieving: libxslt-devel-1.1.26-2.1.i586.rpm [done (228.3 KiB/s)] Installing: libgpg-error-devel-1.9-4.1 [done] Installing: libgcrypt-devel-1.4.6-3.1 [done] Installing: libxslt-devel-1.1.26-2.1 [done]
It looks like nokogiri needs both of these two dependencies resolved first:
☑ libxml/parser.h ☑ libxslt/xslt.h
Thus, the requirements for installing nokogiri are:
✓ ruby 1.8 or 1.9 ✓ libxml2 ✓ libxml2-dev ✓ libxslt ✓ libxslt-dev
Then, I’m able to install nokogiri:
$ sudo gem install nokogiri Building native extensions. This could take a while... Successfully installed nokogiri-1.5.0 1 gem installed Installing ri documentation for nokogiri-1.5.0... No definition for get_options No definition for set_options No definition for parse_memory No definition for parse_file No definition for parse_with Installing RDoc documentation for nokogiri-1.5.0...
- – – – – – –
Introducing Find Many Strings - A chrome extension
If I am using VIM, I can happily use CTAGS for this. Chrome highlights all the occurrences of the text that you searched for in yellow color. However when you search for another string, the old highlights disappear. It would have been nicer if any new string search starts highlighting in a different color. I could not find any plugin for achieving this, So, I wrote my own Chrome extension for this.
Please visit the extension page: https://chrome.google.com/webstore/detail/phabnclfbnmhmoipebjdfhkiacojlcnc
While I was trying to upload this extension, Google wanted me to make a screencast also. The video of the extension in action is available here (please watch in fullscreen - HD)
![]() |
| Search token input box |
![]() |
| Highlights in action |
This extension though created to satisfy a developer's need, will be very helpful for any common browser user who wants to search and highlight multiple strings in any webpage (say while searching a page with phone list for multiple people etc.)
The extension is open-source - MIT Licensed and is hosted in github. Your comments, patches, feedback, Likes, +1s, Shares, etc. are welcome. Since it is open sourced, you can feel safe about installing the extension :-)
openSUSE-LXDE logo contest starting now!
As recently announced here, the LXDE team is looking for graphics contributors. Trying to involve as much people as possible i created a graphic contest! Is time for you, cool graphics, to create a logo for the openSUSE-LXDE team!
The contest will start tomorrow, everyone is welcome to join!
All the rules are in our wiki!
So? what are you waiting for???
Is just the right time to
Have a lot of fun…
NowPlaying con Clementine+Kopete parte II: Condiciones
Para esto introduciremos el uso de condiciones en nuestro script; por lo que si Clementine se está ejecutando entonces haremos lo que ya sabemos para capturar el nombre de artista y canción. En caso contrario, haremos nada. Así quedará disponible nuevamente para cambiar nuestro estado de Kopete a lo que necesitemos. Manos a la obra:
Primero utilizaremos el comando qdbus para saber si Clementine se está ejecutando o no:
isClementineRunning=$(/usr/bin/qdbus | grep clementine)
La variable isClementineRunning puede contener dos posibles valores: una cadena en blanco si Clementine no se está ejecutando y una cadena no-vacía si lo está. Ahora condicionamos nuestro script según esos valores:
if [ "$isClementineRunning" != "" ]
then
#capturamos el nombre de artista...
currentTrackIndex=$(....
fi
Esta condición evalúa SI la cadena isClementineRunning NO está vacía ENTONCES capturamos el nombre de artista, etc...
Si la cadena está vacía (Clementine no está ejecutándose) entonces no pasará nada.
Pero ¿qué sucede si Clementine se está ejecutando pero ninguna canción se está reproduciendo? Para resolver esto podemos volver a condicionar. Ahora consultamos por el índice de la canción actual el cual puede tomar varios valores: -1 si no se está reproduciendo ninguna canción o bien un valor positivo en caso contrario. Por lo que agregamos ahora una nueva variable y una nueva condición:
isClementinePlaying=$(/usr/bin/qdbus org.mpris.clementine /TrackList org.freedesktop.MediaPlayer.GetCurrentTrack)
if [ $isClementinePlaying != -1 ]
then
#obtenemos el nombre de artista...
currentTrackIndex=$...
fi
Y eso es todo! Puedes descargar el script final desde aquí.
Live Upgrade openSUSE 11.3 to 11.4
Doing a live upgrade in openSUSE to the latest version has certain advantages:
- You only download the packages that need to be upgraded, saving a lot of bandwidth.
- During the upgrade you can still use your system (although this is not recommended); the only downtime will be the reboot after the upgrade.
- You do not have to write an ISO image to a DVD. You could also boot from 1) the Internet; or 2) a USB key, and install the rest from the Internet
The disadvantages:
- If, for any reason, the upgrade is interrupted (e.g., power outages, network disconnect) and the process can’t continue, you could be left with a broken system (that depends on where the process stopped, of course).
- If you have multiple systems to upgrade, you consume bandwidth each time, which is less efficient than downloading an ISO image.
The upgrade can be done on the command line or via the YaST module Wagon (if you are on an OpenSUSE desktop). Since the Wagon method is less tested than the command line update, we will use the command line method here for both servers and desktops.
1. Install the latest updates
Before doing the distribution upgrade, install the latest updates for OpenSUSE 11.3. Open a terminal and run
$ sudo zypper repos --uri
to check what repositories are used and enabled on the system.
Make sure that the line that contains http://download.opensuse.org/update/11.3/ in the URI column reads “Yes” in the “Enabled” column:
# | Alias | Name | Enabled | Refresh | URI
---+-------------------------------------+-------------------------------------+---------+---------+--------------------------------------------------------------------------------------------
1 | Packman Repository | Packman Repository | Yes | Yes | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_11.3
2 | Updates for openSUSE 11.3 11.3-1.82 | Updates for openSUSE 11.3 11.3-1.82 | Yes | Yes | http://download.opensuse.org/update/11.3/
3 | devel_languages_ruby_extensions | Ruby Extensions (openSUSE_11.4) | Yes | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.4/
4 | google-chrome | google-chrome | Yes | Yes | http://dl.google.com/linux/chrome/rpm/stable/i386
5 | openSUSE-11.3 11.3-1.82 | openSUSE-11.3 11.3-1.82 | Yes | No | cd:///?devices=/dev/sr0
6 | openSUSE:Tools | openSUSE:Tools | Yes | Yes | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
7 | openSUSE_Tools | openSUSE.org tools (openSUSE_11.3) | Yes | No | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
8 | packman | Packman repository (openSUSE_11.3) | Yes | No | http://packman.inode.at/suse/openSUSE_11.3
9 | repo-debug | openSUSE-11.3-Debug | No | Yes | http://download.opensuse.org/debug/distribution/11.3/repo/oss/
10 | repo-non-oss | openSUSE-11.3-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.3/repo/non-oss/
11 | repo-oss | openSUSE-11.3-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.3/repo/oss/
12 | repo-source | openSUSE-11.3-Source | No | Yes | http://download.opensuse.org/source/distribution/11.3/repo/oss/
13 | ruby-devel | ruby-devel | Yes | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.3/
14 | server-database-unstable | server-database-unstable | Yes | Yes | http://download.opensuse.org/repositories/server:/database:/UNSTABLE/openSUSE_11.3
If the line reads “No” in the “Enabled” column, enable the repository as follows:
$ sudo zypper modifyrepo --enable #Alias_name
If there’s no repository with the URI http://download.opensuse.org/update/11.3/, then add the repository:
$ sudo zypper addrepo --check --name 'openSUSE-11.3-Update' http://download.opensuse.org/update/11.3/ repo-update
Now, install the latest updates:
$ sudo zypper refresh
Repository 'Packman Repository' is up to date.Repository 'Updates for openSUSE 11.3 11.3-1.82' is up to date.Repository 'Ruby Extensions (openSUSE_11.4)' is up to date.Repository 'google-chrome' is up to date.Repository 'openSUSE:Tools' is up to date.Repository 'openSUSE.org tools (openSUSE_11.3)' is up to date.Repository 'Packman repository (openSUSE_11.3)' is up to date.Repository 'openSUSE-11.3-Non-Oss' is up to date.Repository 'openSUSE-11.3-Oss' is up to date.Repository 'ruby-devel' is up to date.Repository 'server-database-unstable' is up to date.All repositories have been refreshed.
And
$ sudo zypper update
Loading repository data...Reading installed packages...
The following package updates will NOT be installed:
gpg2 gstreamer-0_10 gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugins-base k3b k3b-lang kaffeine libassuan0 libgstapp-0_10-0 libgstinterfaces-0_10-0 libgstreamer-0_10-0 libmariadbclient16 libmariadbclient_r16 libmysqlclient16 libsndfile libtag-extras1 libxine1 libxine1-gnome-vfs libxine1-pulse mjpegtools perl-Try-Tiny python-numpy rubygem-actionmailer-2_3 rubygem-actionpack-2_3 rubygem-activerecord-2_3 rubygem-activeresource-2_3 rubygem-activesupport-2_3 rubygem-daemons rubygem-delayed_job rubygem-exception_notification rubygem-libxml-ruby rubygem-rack rubygem-rails-2_3 rubygem-rails_xss rubygem-rake rubygem-sqlite3 taglib
The following NEW packages are going to be installed:
build-mkbaselibs build-mkdrpms libreoffice-languagetool-en obs-service-download_files obs-service-format_spec_file obs-service-source_validator perl-Package-Stash-XS rubygem-rbx-require-relative
The following package is going to be REMOVED:
OpenOffice_org-LanguageTool-en
The following packages are going to be upgraded:
broadcom-wl build chromium-ffmpeg cpanspec dbus-1 flash-player foomatic-filters gimp gimp-help-browser gimp-module-hal gimp-plugins-python glib2 google-chrome-stable icedtea-web inst-source-utils iproute2 kernel-default kernel-desktop libapr1 libapr-util1 libfreetype6 libsndfile libsoup-2_4-1 libxml2 obs-api obs-productconverter obs-server obs-service-extract_file obs-service-recompress obs-service-set_version obs-service-tar_scm obs-source_service obs-utils obs-worker osc osc-source_validator perl-BSSolv perl-Package-Stash perl-Params-Util perl-Parse-CPAN-Packages perl-YAML permissions preload-kmp-default preload-kmp-desktop pullin-msttf-fonts rubygem-columnize rubygem-gem_plugin rubygem-linecache rubygem-mongrel rubygem-ruby-debug rubygem-ruby-debug-base telnet udisks yast2-mail
54 packages to upgrade, 8 new, 1 to remove.Overall download size: 123.6 MiB.
After the operation, additional 11.8 MiB will be used.Continue? [y/n/?] (y): y
In order to install 'flash-player', you must agree to terms of the following license agreement:
Do you agree with the terms of the license? [yes/no] (no): yes
Then kick back, and let zypper retrieve and install / upgrade these packages.
There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.
2. Run the distribution upgrade
Now that the latest updates are installed, disable all OpenSUSE 11.3 repositories:
$ sudo zypper modifyrepo --all --disable
Repository 'Packman Repository' has been successfully disabled.
Repository 'Updates for openSUSE 11.3 11.3-1.82' has been successfully disabled.
Repository 'devel_languages_ruby_extensions' has been successfully disabled.
Repository 'google-chrome' has been successfully disabled.
Repository 'openSUSE-11.3 11.3-1.82' has been successfully disabled.
Repository 'openSUSE:Tools' has been successfully disabled.
Repository 'openSUSE_Tools' has been successfully disabled.
Repository 'packman' has been successfully disabled.
Nothing to change for repository 'repo-debug'.
Repository 'repo-non-oss' has been successfully disabled.
Repository 'repo-oss' has been successfully disabled.
Nothing to change for repository 'repo-source'.
Repository 'ruby-devel' has been successfully disabled.
Repository 'server-database-unstable' has been successfully disabled.
And enable the OpenSUSE 11.4 repositories:
$ sudo zypper addrepo --name "openSUSE-11.4 OSS" http://download.opensuse.org/distribution/11.4/repo/oss/ repo-11.4-oss Adding repository 'openSUSE-11.4 OSS' [done] Repository 'openSUSE-11.4 OSS' successfully added Enabled: Yes Autorefresh: No URI: http://download.opensuse.org/distribution/11.4/repo/oss/ $ sudo zypper addrepo --name "openSUSE-11.4 Non-OSS" http://download.opensuse.org/distribution/11.4/repo/non-oss/ repo-11.4-non-oss Adding repository 'openSUSE-11.4 Non-OSS' [done] Repository 'openSUSE-11.4 Non-OSS' successfully added Enabled: Yes Autorefresh: No URI: http://download.opensuse.org/distribution/11.4/repo/non-oss/ $ sudo zypper addrepo --name "openSUSE-11.4 Updates" http://download.opensuse.org/update/11.4/ repo-11.4-update Adding repository 'openSUSE-11.4 Updates' [done] Repository 'openSUSE-11.4 Updates' successfully added Enabled: Yes Autorefresh: No URI: http://download.opensuse.org/update/11.4/
Now, the repositories look like this:
$ sudo zypper repos --uri # | Alias | Name | Enabled | Refresh | URI ---+-------------------------------------+-------------------------------------+---------+---------+-------------------------------------------------------------------------------------------- 1 | Packman Repository | Packman Repository | No | Yes | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_11.3 2 | Updates for openSUSE 11.3 11.3-1.82 | Updates for openSUSE 11.3 11.3-1.82 | No | Yes | http://download.opensuse.org/update/11.3/ 3 | devel_languages_ruby_extensions | Ruby Extensions (openSUSE_11.4) | No | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.4/ 4 | google-chrome | google-chrome | No | Yes | http://dl.google.com/linux/chrome/rpm/stable/i386 5 | openSUSE-11.3 11.3-1.82 | openSUSE-11.3 11.3-1.82 | No | No | cd:///?devices=/dev/sr0 6 | openSUSE:Tools | openSUSE:Tools | No | Yes | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/ 7 | openSUSE_Tools | openSUSE.org tools (openSUSE_11.3) | No | No | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/ 8 | packman | Packman repository (openSUSE_11.3) | No | No | http://packman.inode.at/suse/openSUSE_11.3 9 | repo-11.4-non-oss | openSUSE-11.4 Non-OSS | Yes | No | http://download.opensuse.org/distribution/11.4/repo/non-oss/ 10 | repo-11.4-oss | openSUSE-11.4 OSS | Yes | No | http://download.opensuse.org/distribution/11.4/repo/oss/ 11 | repo-11.4-update | openSUSE-11.4 Updates | Yes | No | http://download.opensuse.org/update/11.4/ 12 | repo-debug | openSUSE-11.3-Debug | No | Yes | http://download.opensuse.org/debug/distribution/11.3/repo/oss/ 13 | repo-non-oss | openSUSE-11.3-Non-Oss | No | Yes | http://download.opensuse.org/distribution/11.3/repo/non-oss/ 14 | repo-oss | openSUSE-11.3-Oss | No | Yes | http://download.opensuse.org/distribution/11.3/repo/oss/ 15 | repo-source | openSUSE-11.3-Source | No | Yes | http://download.opensuse.org/source/distribution/11.3/repo/oss/ 16 | ruby-devel | ruby-devel | No | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.3/ 17 | server-database-unstable | server-database-unstable | No | Yes | http://download.opensuse.org/repositories/server:/database:/UNSTABLE/openSUSE_11.3
Search for updated openSUSE 11.4 compatible third-party repositories that you used before and add them.
$ sudo zypper addrepo --name <name> <url> <alias>
For example, if you used the VirtualBox repository in 11.3, you can enable the VirtualBox repository in 11.4 like this:
$ sudo zypper addrepo --name "VirtualBox for openSUSE 11.4" http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4 virtualbox-11.4
(Use values for Name and Alias that are not in use yet.) Be aware that using third-party repositories could increase the chances that the upgrade will not complete correctly.
Now, run the full distribution upgrade:
$ sudo zypper ref
This retrieves the metadata for the 11.4 repositories (i.e., openSUSE-11.4 Non-OSS, openSUSE-11.4 OSS, and openSUSE-11.4 Updates), and builds up caches for those repositories.
Retrieving repository 'openSUSE-11.4 Non-OSS' metadata [done] Building repository 'openSUSE-11.4 Non-OSS' cache [done] Retrieving repository 'openSUSE-11.4 OSS' metadata [done] Building repository 'openSUSE-11.4 OSS' cache [done] Retrieving repository 'openSUSE-11.4 Updates' metadata [done] Building repository 'openSUSE-11.4 Updates' cache [done] All repositories have been refreshed.
Then, do
$ sudo zypper dup
This zypper command will download the required packages when it installs them. You may download all packages in advance:
$ zypper dup --download "in-advance"
The lengthy output goes like this:
The following product is going to be upgraded: openSUSE 11.4 The following packages are going to be reinstalled: bind-libs bind-utils flash-player icedtea-web java-1_6_0-sun java-1_6_0-sun-devel libmariadbclient16 libmariadbclient_r16 libreoffice-branding-openSUSE mozilla-js192 mozilla-xulrunner192 mozilla-xulrunner192-gnome perl-Algorithm-C3 perl-Class-C3 perl-Class-C3-XS perl-MRO-Compat perl-Scope-Guard timezone timezone-java The following packages are going to change architecture: ghostscript-fonts-other i586 -> noarch ghostscript-fonts-std i586 -> noarch perl-Archive-Zip i586 -> noarch perl-Digest-HMAC i586 -> noarch perl-Error i586 -> noarch perl-IO-Socket-INET6 i586 -> noarch perl-IO-Socket-SSL i586 -> noarch perl-libwww-perl i586 -> noarch perl-Net-Server i586 -> noarch perl-Parse-RecDescent i586 -> noarch perl-Pod-POM i586 -> noarch perl-Text-Autoformat i586 -> noarch perl-Text-Reform i586 -> noarch perl-URI i586 -> noarch perl-XML-Writer i586 -> noarch python-iniparse i586 -> noarch . . . 1125 packages to upgrade, 74 to downgrade, 165 new, 19 to reinstall, 99 to remove, 42 to change vendor, 16 to change arch. Overall download size: 982.3 MiB. After the operation, 27.9 MiB will be freed. Continue? [y/n/?] (y): y . . .
Then, a bunch of license agreements come up. Press Enter to get to the bottom of the page and type “yes.”
In order to install 'openSUSE 11.4' (product), you must agree to terms of the following license agreement: LICENSE AGREEMENT openSUSE® 11.4 . . . In order to install 'fetchmsttfonts', you must agree to terms of the following license agreement: END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE . . . In order to install 'java-1_6_0-sun-devel', you must agree to terms of the following license agreement: Operating System Distributor License for Java version 1.1 . . . In order to install 'java-1_6_0-sun', you must agree to terms of the following license agreement: Operating System Distributor License for Java version 1.1 . . . In order to install 'flash-player', you must agree to terms of the following license agreement: ADOBE® SOFTWARE LICENSE AGREEMENTNOTICE TO USER . . .
You can run zypper dup from time to time to ensure you have the latest available packages from the various repositories that you have enabled. YOU (Yast Online Update) only addresses security updates from the official repositories.
Lastly, reboot… and enjoy your new OpenSUSE 11.4 system!
- – – – – – –
You can also find this post on my other blog.




