Archive for the ‘ubuntu’ Category.

Nexenta Core Platform 2 released!

I’ve been neglecting my blogging duties, but I’m back on track. Lots of things have happened in the recent times, but the big news today is the release of the Nexenta Core Platform 2. This release has been a year in the making, and took a lot of hard work.

We’ve also produced a short comic, with our very own hero, Nexentaman, to walk you through NCP. Click below to read the comic.

The Adventures of Nexentaman

The Adventures of Nexentaman

Links

Nexenta homepage: http://www.nexenta.org

Artwork and Wallpapers: http://www.nexenta.org/os/SpreadTheWord

IRC : #nexenta on freenode

Go ahead, test drive Nexenta, and spread the word

Hackathon, 3rd Edition

The third edition of the Nexenta Hackathon starts today.

We’ve made incredible progress over the past two months, and the community activities have increased. The IRC channel audience has grown considerably. Starting today, we’ll be working on some of the final tasks, before we release NCP2, the final version.

Bounty

This hackathon also features a bounty for various tasks, sponsored by Nexenta Systems. There are small awards for some of the high priority tasks, including porting efforts, documentation, and creating Nexenta spinoffs.

The task list from the announcement.

Package porting:  Most of the packages in the repository are now automatically built. There are a few crucial packages that need to be built manually, and allow the builder to pick up on the rest.

Documentaiton: Not everyone knows how easy some tasks are on Nexenta. Help us write documentation, so new users find migrating much easier.

Distributions: NCP has now evolved to a tested core platform. Use the existing packages and window managers in the repository to build your own distribution using our distribution builder; tune Nexenta for a particular appliance and help us enhance our installer.

Significant contributions will be featured on the Nexenta project Homepage.

Further Information: http://www.nexenta.org/os/Hackathon
IRC web interface: http://www.nexenta.org/chat
Autobuilder: http://builder.tajinc.org/?f=repository_status

Gnome on NCP2

I mentioned in a previous post that GUI related packages were being populated into the NCP2 repository. Since pictures are a thousand words:

Gnome, GIMP and Irssi running on NCP2

Gnome, GIMP and Irssi running on NCP2 (not to mention the Heron)

Huge thanks to dtbartle, who has actively been porting Gnome into the package repository. Why not hop into #nexenta and say thanks.

Theres also other window managers being populated at the moment. Small ones like Enlightenment (e16) and 9wm are fully in.

PS: Also another round of hackthon is in the plans. Stay tuned for more.

Autobuilder Update

The last time I mentioned the Nexenta autobuilder, it was just opened and not fully completed. That changed recently.

The autobuilder is now in the works and since the beinning of the week has been chugging away tirelessly, working on Ubuntu Hardy’s 8.04 repository. The result.. over 2500 packages now reside in Nexenta’s contrib repsoitory. Going at this rate, we should have triple this amount by the end of next week.

The autobuilder is built to scale, and all of the work is shared between 2 nodes. The pace of package porting will increase with more packages. Do you have a machine free for the autobuilder to use (and have the bandwidth to spare)? Drop in on #nexenta or the devel mailing list, and we’ll help you setup. Look for Tim Spriggs (aka rootard). We’re still a good while away from Ubuntu’s 20000 packages.

The autobuilder will however not work for packages that need to be ported to Opensolaris/Nexenta. These should be few and far in between. It does fishily sound like another hackathon.

Nexenta Core Platform 2 Beta1 Released

http://www.nexenta.org/os/Home?action=AttachFile&do=get&target=ncp.png

The first beta release of NCP2 was released yesterday. This release was bug fix release with a big leap in the opensolaris build (from the previous b85+ to b104+).

Also, most of the common server applications now have SMF support. The latest version of devzones is also included. For the full announcement and release highlights, see here.

* OpenSolaris build 104+ based with critical patches.
* Over 6000 packages in the repository, and autobuilder.
* Based on Ubuntu 8.04 LTS (Hardy Heron) repository
* This includes latest dpkg/apt, gcc, binutils, coreutils,
perl, python, ruby, Qt libs, GTK libs, etc
* SMF support added for server applications like apache, mysql, postgresql, exim4, etc.
* 100% native Debian environment, easy to upgrade, easy to use
* Includes Vim and screen by default
* Addition of latest devzone version to the CD.
* Includes apt-clone which brings zfs power to apt-get.

So get your copy hot off the presses now. Links below

Nexenta: http://www.nexenta.org

Beta Download: nexenta-core-platform_2.0-b104-beta1_x86.iso.zip

For comments/solutions and queries goto the #nexenta IRC room at freenode.

SMF support for your favorite server applications

I putback new packages into the NCP2 repository today, and you can now have SMF support for your favorite server packages in the repository. Before I list them, a little bit on SMF.

Service Management Framework (SMF)

SMF is the opensolaris replacement for the legacy services start unix framework (what /etc/init.d did until now, and continues to on Linux).

Services in Nexenta are handled using solaris SMF. This makes it very easy to start and stop services; you dont have to worry about it’s dependency on other services, which is taken care of by SMF automatically. This cheetsheet lists how easy it is to use SMF.

SMFed Packages

  • apache2
  • mysql 5
  • postgresql-8.3
  • exim4
  • rsync

All of these are ports of their Ubuntu 8.04 counterparts.

If you want toadd SMF support to a Nexenta package, take a look at my guide on adding SMF support.

If you want to follow the latest in the nexenta codebase, bookmark this RSS feed. This is also visible on the planet homepage, if you frequent there. If you run into any issues, ping us on the -devel mailing list or on #nexenta@freenode

[Comments by clicking here]

Nexenta on Slashdot and other updates

It was nice to wake up to a Nexenta story on slashdot. Find the discussion here.

There were some things I wanted to address some comments that were brought up.

Dont call it a Ubuntu derivative; say Debian.

The Nexenta project is an derivative of Ubuntu much the same way as Edubuntu is a derivative.. It uses the same repository and packages (and version numbers), and as such the slogan “Ubuntu userland + Opensolaris kernel”.

That does not mean Debian isnt in the picture.. Nexenta is thankful to the project for the amazing work it has done, and the great packaging ecosystem it has created. But Nexenta as such is a direct port of packages in a particular Ubuntu Repository (NCP2 is based on Ubuntu 8.04).

“Proprietary” comments..

Nexenta is fully open source. Enough said.

GUI and the desktop

Refer to my earlier post.

Looks interesting..

Great! Give it a shot on your fileserver.

For more chatting on all things Nexenta join in at #nexenta on freenode or use the web based chat.

—-

And now for the “other updates”

FOSS.in

I’ll be at the FOSS.IN conference, which is the largest FOSS conference in India. It draws people from all around the country, and few from past the borders. This year’s conference lies from the 25th to the 29th of this month.

I’m looking forward to interacting with folks, and seeking folks interested in contributing to the project. My plans include conducting hands on sessions (BoFs) for those new to the project, as well as those who understand Debian’s packaging system. I’ll be there with other members from BOSUG, and will either at the FOSS stalls, or near the Hackcenter area.

If you’re nearby, drop in at the conference, and if you are attending, stop by and say Hi. Looking forward to meeting enthusiastic members of FOSS India.

Unmetlist: apt-cache unmet listing search tool

To put into use my newbie python skills, I wrote a tool that searches the output of apt-cache unmet -i

When populating a newly built repository, I often run into instances where I want to find all the unbuilt packages that depend on kdelibs, or all packages that have openoffice as a dependency. In general I want to know if what packages wont build without X.

So I wrote unmetlist. This will help debian/equivalent and apt developers list out packages that aren’t built, and required in the repository. It can look for (reverse) dependencies, suggests, etc. The difference between apt-cache’s inbuilt search and this tool is that apt-cache searches for the exact package name specified, where as unmetlist searches for the pattern (so kde will match kde-code, kde-libs, etc).

root@oahu:~/src/work3# ./unmetlist
Ver 0.1
Usage
./unmetlist <option>  <package> <unmet_listing_file>
Option can be one of the following
search : search for the <package> in listing and print full listing
depends : find dependencies of <package>
rdepends : find which packages depend on <package>
suggests : find suggested packages for <package>
rsuggests : find which packages suggest <package>
recommends : find recommended packages for <package>
rrecommends : find which packages recommend <package>

To run it first generate the unmet listing using

apt-cache unmet -i > /tmp/unmetfile

and use as follows

./unmetlist rdepends openoffice /tmp/unmetfile

Its still new had edges, but it works.

Get the tool here. (right click>save as..) and be sure to chmod +x the file. Let me know if you find this useful, have suggestions, or want to request a feature.

Oh, and python is a pleasure to work with. String processing has never been easier :)

Nexenta on OSnews

I wrote an article laying out Nexenta’s advantage to Debian/Ubuntu developers.

OSNews has been reporting on the Debian/Ubuntu/GNU/Opensolaris hybrid for several years. But for those of you who’ve never looked more closely at this interesting OS, a Nexenta developer has laid out some of its more noteworthy features and advantages.

Read the whole article on osnews.com.

Getting started with Nexenta Development – Part 2

In this part we will take a look at the steps followed to port an application from Ubuntu and build a package.

I decided to do this via a screencast. You may not be able to fastforward or rewind, so I’ve also listed out the steps you will need to follow below the screencast. Click below to open the screencast. Or download it for offline viewing here.

Getting started with Nexenta screencast

Getting started with Nexenta screencast

Getting Access

We have a build machine available at gnusolaris.org where you can login to do your nexenta development (and not have to hassle with installing locally). You will use ssh to login, and can get the details by asking on IRC (#nexenta@freenode), or on the development mailing list gnusol-devel@sonic.net.

Logging in

You can login using your favourite shell and terminal program. The screencast uses gnome-terminal. If you are on Windows you can use the Putty client. Use

ssh username@gnusolaris.org

and enter the password when prompted.

Entering the Devzone

One of the core features of opensolaris is Zones (zfs is currently stealing all the thunder). Since giving root access to everyone is not an option, and building without it is not one either, the Nexenta project has innovated and created the so called development zones. These provide a method to quickly create a developer environment and give you root access to it. When no longer required, this zone can be painlessly removed.

The commands sure would be complex.. right? As simple as

  • devzone_create  — creates a development zone
  • devzone_enter — enter a devzone
  • devzone_free — remove the zone when no longer required :)

Simple as that.

Once you have entered a newly created zone, use the following commands to get it up to date

apt­-get update; APT_CLONE_ENV=1 apt-­get dist­-upgrade

Also, you will have to create/import your gpg key for signing packages. Further instructions at http://www.nexenta.org/os/CreatePublicGPGKey

Building a package

So now that we have our environment ready, lets build a package. In the screencast we take an example of libid3tag, which is a C library that is used to parse the headers in mp3 files.

First check if the package is available in the repository (Well libid3tag is not, but you would need to check if the package you are trying to port is already in or not)

#apt-cache search package

Searched for the expression package in the repository and lists the matches if present.

If it doesnt exist, you get it from Ubuntu’s repostiory mirror using the apt-upstream-tool

#apt-upstream-tool -e -p package

-e : extract the package

-p : the package name

Once we have the sources.. move into the directory, there would be 2 copies.. one original, and one for us to edit and use.

Move into this directory (this is referred to as the “package root”) and make sure the changelog reflects the distro as Nexenta. You can edit the changelog entry using

#debchange

in the package root.

Next satisfy all the build dependencies of the package.. this is required if the package has to built. Do this via running the following command in the package root.

#apt-satisfydepends

The above tool will lookup all dependencies and install them from the repository if available. (If not, you would also have to port that package)

Once the above completes successfully, create the package using

#dpkg-buildpackage -sa

-sa : Bundle the source code with the package

If the above completes successfully, you will be presented with a prompt to enter your GPG passphrase to sign the package.

Once this is done your package is built and present in the parent directory to the package root. Install all .deb files to verify that they install correctly. Do this using

#dpkg -i packagename.deb

You can also take a look at the contents of the deb using

#dpkg-deb -c *.deb

Once the install goes smoothly and all looks good, upload it to the repository using

#dput *.changes

This will upload the files to the repository, and send out mails to the nexenta-changes mailing list.

Further information is availabe on the Nexenta wiki documentation section and at http://www.nexenta.org/os/BuildingPackages