Entropy 0.14 + Spritz, 3.5 Loop3 release plan

Entropy

Ten days ago, I successfully completed the refactoring of the server-side code (which triggered Entropy 0.14 release). It’s been a clear and complete success. Let me explain why:

  1. Code is now faster and cleaner, this means less bugs
  2. ServerInterface and ServerMirrorsInterface now support multiple repositories. This triggered the creation of a sandbox/testing repository where all the critical updates will be flushed into for testing. We decided to name it “Jenna” but I won’t tell you after what. If you’ve undestood the nature of the repository, you might get it. So, the new interface is now able to switch to one and another and handle all our deepest wishes. Talking about facts, we already used “Jenna” for testing OpenRC & Baselayout 2.0 along with some X.Org patches and the new kernel (linux-sabayon-2.6.25). Read more later
  3. Automatic QA routines: it means, QA controls can be easily implemented and hooked in various parts of the code, one already implemented is the automated missing RDEPEND (dependencies) check, which translates the libraries needed by a package to their owners, also thanks to my studies on the ELF format (evidence: http://pastebin.fr/1471 ). Two funny things emerged:
    1. There are a lot of missing RDEPENDs and it’s a pain to report them upstream sometimes.
    2. Applications creators don’t pay much attention when dealing with a broken by design app like autoconf is.

    A future QA routine I’m going to implement will be “libtest”, like “equo libtest” but ran on the content of a list of packages. This will avoid having broken packages in repository and not notice them.

  4. Prepared the path to EAPI=3 (as in Entropy API, revision 3), in a few words: differential updates. This will trim down the time needed to update a repository through Equo/Spritz to a few seconds.

Entropy CORE library is now 20000 lines of code, and I think it will double its size before the end of the year after having added a first chunk of the Spritz “Your Ego” feature.

Along with this refactoring, Entropy 0.14 brough some visible improvements for end users:

  1. EquoInterface: improved database queries speed from 20 to 1000% (world updates calculation is now 10x faster)
  2. Spritz: improved speed by a good 400% making it really usable
  3. Spritz: added a cute GLSA (Security Advisories) interface to keep your system secure
  4. Spritz: connected its crash dialog to our errors reporting infrastructure
  5. Spritz: implemented searches on TreeViews to ease the search of a package through the list
  6. Spritz: cleaned up spritz.pot (the translation template). We need translators!
  7. Notification Applet: enable/disable option (if you don’t want it to bug you)
  8. Equo/Spritz/Notification Applet: made repositories management possible as user (you can run tasks such as “equo update” just by being in the “entropy” group)
  9. Equo/Spritz/Notification Applet: a lot of bug fixes
  10. EquoInterface downloader now uses a custom HTTP User Agent string. This makes statistics collection possible. We can see what’s the most downloaded package, how many users use Entropy and so forth.

Talking about future, depending on the amount of donations we’ll receive (I’ll be a bit outta cash starting from the next month), here are Entropy plans for 0.15:

  • Community Repositories: now that the server-side code is refactored, I can (eventually) start working on this. In this way, users will be able to create their own overlayed repository providing packages with different use flags or features in general.
  • Your Ego services: let me keep a bit of secrecy here. Eheh.
  • Spritz: it’s not yet feature complete. So, some coding is required :-)
  • PROFIT! (that’s the most important thing huh?) :-)

Sabayon Linux 3.5 Loop3

The last chapter of Sabayon Linux 3.5 is being written as I write. I can anticipate you a few features:

  • Improved boot speed (standard boot in around 15-25 seconds) mostly thanks to having moved /etc/init.d/xdm to the “boot” runlevel, but also to OpenRC and Baselayout 2.0.
  • Installer: custom package selector, achieved embedding Spritz into Anaconda.
  • 2.6.25 Kernel with improved hardware detection.

Expected release date: first days of May 2008.
To close this huge blog post, have a look at some Spritz (SVN) screenshots :-)

1.png 2.png 3.png

4.png 5.png 6.png

7.png 8.png 9.png

10.png 11.png 12.png

13.png 14.png

New server, Entropy 0.13 (2)

Where to start? :-)

Entropy 0.13
There are two (or more?) things I forgot to mention in my last blog post about Entropy 0.13 codebase:

  • Equo package suggestions: never forgotten a package name? I usually do. So, is this an issue regular expressions can solve? Of course yes. If you’ll write a wrong package name, equo will try to guess it, like Google does for searches!
    Example here: http://pastebin.fr/1295
  • Socket Interface (aka the Entropy remote management service)
    • Pluggable commands support: there will be less than 10 built-in commands (aka, what you can do with a remote server) but you will just have to instantiate the SocketHostInterface class providing it extra commands. How? Just by creating a class like this: http://pastebin.fr/1294
    • Transparent SSL support: you can switch to SSL just by launching entropy-system-daemon with “–ssl”. Also, you’ll need a private key and a valid certificate and put them into /etc/entropy respectively named: socket_server.key and socket_server.crt
    • Commands policy: you can even decide to disable certain commands just by specifying them in socket.conf (/etc/entropy)

So I’m gonna tag this new version in 24 hours!

New server
We did it!! Its-new.nl is now powering our portal with an extraordinarily powerful dedicated server! They are our heroes, very kind, professionals and great great hard workers! So, if you need a dedicated, trust me, get one from them. Dutch people prefer going straight to the point, no hassles. We had a serious switching trouble, they solved it in a matter of hours. Another great thing is that they support Linux! So, isn’t there anything better? This new server really rocks!

Entropy 0.13: transforming old package managers concept

Mad people following the SVN RSS of Entropy may have already noticed what I am writing about here below. A lot of new stuff is merging into TRUNK and I’m now here to share my excitement with you! Let’s start, here’s a quick list

  • Dropped portageTools library in favor of SpmInterface class which loads a Gentoo-compatible package manager API class. In this way, we’ll be able to support other “backend” package managers such as paludis and pkgcore (by just reimplementing the existing PortageInterface class). No, Entropy does not use a Spm backend for actions handling (install,remove), so stop saying that. It uses Portage to spawn pkg_{pre,post}{inst,rm} phases and to update /var/db/pkg (vdb).
    So to speak, to get a Spm instance, just use: EquoInterface.Spm()
  • Made updating repositories as user possible. This unlocked a lot of things, especially on the Notification Applet. Any user in the “entropy” group will be able to use it and run “equo update”. So, the applet will always keep your repositories updated.
    This made mandatory the need of having lock files, so I also had to implement them too.
  • Moved tables PRIMARY KEYS to “INTEGER PRIMARY KEY AUTOINCREMENT” (SQLite speaking), this will allow us to provide differential repository updates on demand. In fact, EAPI=3 (as in Entropy API revision 3), will need a (server side) web service which will handle updates requests. Client will tell Server: “hey I have revision 30, gimme the latest”, Server will answer: “here it is a SQL, run it and you’ll be fine”. As usual, if an EAPI step will fail, Entropy will automatically fall back to “current EAPI” minus 1 (technically SPEAKING! Lol). So, if EAPI=3 fails, EAPI=2 will be used and so forth down to 0.
    Anyway, this is probably Entropy 0.14 stuff, but will have the “side” effect to reduce bandwidth and the needed time for users to update repositories.
  • Server Socket Interface: this still needs policy handling and more supported commands, apart from this, it’s really really a cool thing. This is probably one of the first cool things that will land into the Entropy codebase. Imagine to have 20-30 computers and you need to control updates remotely or install/remove stuff. Imagine to have an issue which involves packages and you are competely a n00b, you will be able to “press” a “Help ME!” button on Spritz and allow friends to connect and fix things for you. Isn’t that enough to start screaming? Eheh
  • Caching, this affects Spritz directly. I’ve really improved caching speed and general management, allowing Entropy to not trash it every now and then, so (again) to speak. Yes, Spritz will get faster and faster.
  • Improved database indexes, after hours of benchmarks and mostly thanks to Michele, we’ve been able to remove useless SQL indexes and just keeping the good ones. Have you ever noticed a lag between Equo’s fetch and install steps? Well, it’s gone, completely. Cool, huh?

So, things in the TODO are still a lot, and we need YOU, Python/SQL experts!
I plan to tag Entropy 0.13 as soon as possible and start (eventually) the second refactoring, this time, server side codebase (Entropy 0.14)

Anyway, we’ll have a server migration probably tonight, OpenVZ will allow us to do it seamlessly but new DNS will have be propagated anyway (read PLEASE BE KIND AND PATIENT :-)).

Bells and Whistles!

Sabayon Linux 3.5 Loop2 is uploading:

9f07c5c68a1e8d207adf530b6073104c  Sabayon-Linux-x86-3.5_Loop2-r0.iso
e4feb03f1e4be0528aad057515c0e847  Sabayon-Linux-x86_64-3.5_Loop2-r0.iso

Mirrors will be populated in less than 24 hours, expect a press release before Monday with all the new features* and bug fixes.

*
- Experimental EeePC support (with a dedicated UMPC Install method that fits on its 4G drive) - XFCE!
- Spritz Package Manager BETA (the awaited Entropy GUI)
- Entropy Updates Notification Applet ALPHA
- Entropy stack 0.12.24.13
^^ Just to tell you some

There are still a lot of things to do on the binary packages side, but I’ll get there, hopefully in about 6-8 months :)

Portage tree: DEPEND/RDEPEND split situation = dramatic

<RANT ON>

  • Most of the Gentoo ebuilds don’t have the two lists split (when it is needed) causing A LOT of issues for binary packagers (which also makes Portage/Gentoo to look bad)
  • Sometimes, when they have it, they are wrong
  • There are less than a lot but more than a few ebuilds whose dependecies are really, _really_ incomplete or horribly listed/fscked up
  • There are TOO MANY USE flags while instead packages SHOULD BE split
  • Localizations should be split too, having to recompile the whole openoffice just to add one more language is quite RIDICULOUS
  • Even if I found a lot of these bugs daily (2-3 new, every day), there’s nothing I can do to fix them without wasting a lot of time on bugs.gentoo.org trying to convince developer X to fix it.

</RANT OFF>

I am not joking nor I am happy to say that. But to me, the situation is quite dramatic. Sorry, but after 7 years of Gentoo, I am quite pissed off.
What I am asking Gentoo Foundation is, let me fix them. There’s too much bureaucracy, really. Will they ack. me? I don’t know.

Corrections to DistroWatch news about Entropy

Just a quick correction:

I’ve been busy for about 13 months working on it and now we are very close to have something that could really change the way users see a Gentoo-based distribution - the Entropy stack. There are still some secondary things missing, like the package masking interface and the Gentoo Linux Security Advisories (GLSA) interface. Non-free licenses will also pop-up and require users to accept their terms. Another cool thing is that I already implemented an “equo security” interface with the promise of creating an official team and a web page dedicated to security within the next 12 months.

  • Package masking interface: DONE already
  • License handling: DONE already
  • GLSA Interface: DONE already

haaaa! :-) I rock!

3.5 Loop2: a small delay

Just a quick update on the Loop2 release. I need a few more days, probaby 4-5 days. Please be patient, what I’m adding is:

  • Compiz Fusion 0.7.2 (already available in the Entropy repository)
  • Updated madwifi driver
  • Elisa 0.3.4
  • More testing on the Installer (with a nice secret surprise)

So, my apologies, but it’s really worth it :)

3.5 Loop2, Website migration, Professional Edition

3.5 Loop2

Guys, great news :-)
I think I’ll start uploading Sabayon Linux 3.5 Loop2 (Second Beta) on Monday as promised! In these last 3 months, a lot of things have been done. But let me keep a bit of secrecy on the baby! (erm… updates notification applet… zhckchckzhck) EeePC arrived and I’ve already started working on this, submitting a lot of patches to get the graphical installer fit on that tiny screen. Also, WIFI and LAN will be fully supported. What I’ll try to get done before Monday is creating a tiny install method that will fit on a 4GB drive.

Website migration

All in all, we’ll (Michele and I) move the WHOLE portal (*.sabayonlinux.org) to a new dedicated server, featuring 2GB of RAM (instead of the current 900MB) and 2,5TB/mo of traffic (instead of 1,5) provided by its-new.nl. We have not decided when the switch will happen yet. But it won’t take much. OpenVZ is known to be good for these kind of moves, isn’t it? So the plan is, do a first transfer via rsync, check that everything is fine on the new server, shut down the old one, rsync again and update DNS, there shouldn’t be much lag between these last steps.

Professional Edition

Since Luca is lagging a bit behind due to his graduation and probably lack of man power, I don’t want to look bad (because it makes me look bad frankly - Sabayon = Fabio), I decided to switch PE to the UNSUPPORTED status, keeping it on the mirrors for a while. Frankly I never worked on it, neither decided to do it, the idea wasn’t mine and I also think that if he took the responsibility of doing something like that, he should have been responsible. It seems he wasn’t enough. Even if I’ve always said “don’t blame me about the Professional Edition” people keep doing it, here’s my answer again “for further questions ask Luca”. So, if he’ll want to continue to work on it, he’ll have to open his web space and publish his stuff. My apologies go mainly to PE users, whose trusted me, I am very sorry, it was my fault having permitted something like this but you know, these things happen when you trust someone who works “the italiotic” way (and I’m Italian too, not much proud of it). So again, sorry! I already have restricted time frames but what I will do for you before Sabayon 3.5 Final is a “stable install method” which will be a “Core install method” plus X. Also, packages stability/security requests are now fulfilled by Entropy, but this is part of the “3.5 Loop2 secrecy” silence :P So, what I ask PE users is, keep the trust. I’ve not worked 14 odd months on Entropy just for fun :-)

Spritz Package Manager 0.3 and 3.5 Loop2

A first yet basic (but cool) release of Spritz is going to hit our repository in the next hours. I’ve made some screenies you can watch below. Yeah, this is another milestone in the process of creating THE next-gen package manager :). Other than this, 3.5 Loop2 will be released before the 10th of March 2008. Featuring a LOT of bug fixes, features, and so forth.

Image 1Image 2Image 3

Image 4Image 5Image 6

Image 7Image 8Image 9

Image 10Image 11Image 12

Image 13Image 14Image 15

Image 16

Who told you that reading a license is boring?

In the last 24 hours I implemented Licenses validation, whitelisting, masking and database support to Entropy. When I started, I tried to find out if someone (maybe crazy like me?) had already made a list of free (as in freedom and/or beer) software licenses. I didn’t dig too much and decided to have a look at /usr/portage/licenses. OMG, 811 licenses to read! Yeah, I read them all and I’ve found something really funny. So, Who told ya that reading a license is boring? Who told me that reading 811 licenses took half a day? Well, nobody (apart from netvandal - our beloved “Michele”).

ZOO license: (moooo! WTF, 1200bps!??!? And what’s all that “compiled” non-sense?)

- You are prohibited from making this program available for
downloading via telecommunications if you charge a total of
more than $7.00 per hour at 1200 bps.
- You are prohibited from distributing this program as compiled
code unless you also distribute the source code from which
the compiled code was derived. This restriction does not
apply if the compiled code was created by me.
- The above restrictions may be relaxed by special agreement;
please contact me for details.

7plus license (HAM HAM HAM, No way, No read. No nothing. Okay??):

*** 7PLUS is HAMWARE. No commercial use. No Sale. Pass on only in it's
*** entirety! There is no warranty for the proper functioning. Use at own
*** risk.
***
*** TABSIZE when editing: 2; don't insert real TABs (^I), use spaces instead.
***
*** When porting or modifying this source, make SURE it can still be compiled
*** on all systems! Do this by using #ifdef directives! Please let me know
*** about the modifications or portations, so I can include them in the origi-
*** nal 7PLUS source.

3ware License (get that software and discover these REALLY IMPORTANT trade secrets please!):

The software contains trade secrets and in order to protect them,
you may not de-compile, reverse engineer, disassemble, or otherwise reduce the
3ware Software to a human-perceivable form.

ZendFramework-1.1 (Did you know…?)

* Neither the name of Zend Technologies USA, Inc. nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.

ZBL: ZIWTRA B00GIE LICENSE (ZBL) - (Translated: I am not guilty of making a horrible software)

2. You are not required to give credit to the original author.

YAZ (Remember, never write “index data” on your brochures):

* 2. The names of Index Data or the individual authors may not be used to
* endorse or promote products derived from this software without specific
* prior written permission.

xv (Note, I am going to change this comment before tomorrow at 9.00am. But the most important thing, is that we WANT MONEY, not your pathetic $50):

(Note: This has been changed, and hopefully clarified, from the 3.00
version of this info. Please read it.)
The latest version of XV (or at least a pointer to it) is available
via anonymous ftp on ftp.cis.upenn.edu, in the directory pub/xv. If
you're not sure if you have the latest version, or you are missing the
source or documentation for XV, PLEASE pick up the latest version of
the xv distribution. Do *not* send mail unless absolutely necessary
(ie, you don't have ftp capability).
This does *not* mean that you are required to register XV just because
you play with it on the workstation in your office. This falls under
the heading of 'personal use'. If you are a sysadmin, you can put XV
up in a public directory for your users amusement. Again, 'personal
use', albeit plural.
On the other hand, if you use XV in the course of doing your work,
whatever your 'work' may happen to be, you *must* register your
copy of XV. (Note: If you are a student, and you use XV to do
classwork or research, you should get your professor/teacher/advisor
to purchase an appropriate number of copies.)
Purchase orders for less than $50, while still accepted, are not
encouraged.
Please do *not* send electronic mail directly to the author, as he
gets more than enough as it is.

xtrans (I don’t accept your apologies!!! I will never do that!):

Our apologies if we missed anyone.

xshipwars (These ones have a modified modificating modificationing brain):

* Any modifications that you make (with the exception of individual or
partial distribution of compoents) must be accepted with written proof
by the authors -or- you may distribute with your modifications provided
that the modifications that you made are stated with reasonable
clarity along with the modified distribution.

xref.lisp (I’ve never used your software, it’s not that useful… (joking)):

This software is distributed in the hope that it will be useful (both
in and of itself and as an example of lisp programming)

xorg-xgml-doctools (It’s because they don’t give a shit man… it’s that simple! Someone should have told ya already):

This is a placeholder for a package whose license is not clear. Upstream has
not provided enough information to provide a license that covers this package.
If you're really interested, this placeholder usually only exists for smaller
packages and thus looking through the source code might reveal some copyrights
and other related information.

xorg-server (I had time to read 811 licenses, you don’t have time to read 2000 files, with probably the same header? So funny! ahah! In the end, you are right):

The normal process of generating licenses for modular X packages is to run
through all source files in an editor and copy all the copyright/license info
into the license file. However, in the case of xorg-server, there are almost
2000 source files. We're not paid enough to do that much work in a short
period of time. ;)

xf86-video-vermilion (did ya know? history history history… No, it wasn’t history, it was “developers developers developers developers”):

Intel funded Tungsten Graphics (http://www.tungstengraphics.com) to
develop this driver.

WTFPL-2 (This is my favorite one):

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2004 Sam Hocevar
22 rue de Plaisance, 75014 Paris, France
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.

Volano (as in, where’s the [X] button?):

Please read the following Agreement carefully.

VIGRA (VIAGRA? Probably what they got before starting to write this. So, take note, you, is you, yes, you!):

"You" is you, if you're thinking about using, copying, modifying or
distributing this Library.

ut2003 (Thanks thanks thanks. WTF? For what? Licensing?? Cramp? Styple? Isn’t that a serious license?):

1. Thanks. Congratulations and thank you for licensing our
software. We're sorry to cramp your style, but out lawyers tell
us that if we want to keep control and ownership of the cool
stuff we're developing, we have to make sure you understand and
agree that you are just getting a right to use it and that that
right is limited in certain ways. So here's what follows is what
you need to know and agree to.

Trolltech PUL 1.0 (even trolltech has a restricted license, bah, boring, I could have left this out):

(1) This Trolltech Personal Use License ("License") applies to software,
applications, and electronic and/or printed documentation (the
"Software") in the Qtopia suite of applications.

SVFL (It’s very, very, very free. That’s the point):

"Scott's Very Free License"

No-Problem-Bugroff (Houston, we’ve a problem! This placed 2nd on my personal ranking):

The "No problem Bugroff" license.

Richard Stallman of the Free Software Foundation devised, in addition
to some marvelous software, the GNU General Public License (GPL for
short). Or the CopyLeft it is sometimes called.

It is quite a revolutionary document, using the “copyright” tool to to
protect your right to use free software.

Unfortunately using copyright to protect free software is a lot like
using a Jackal to guard the hens.

In fact, various inconveniences relating to this have resulted in
modifications such as the LGPL (Library General Public License) and
more recently the NPL (Netscape Public License)

I call these matters mere inconveniences, the real damage will occur
when the Jackal’s, (sorry, I mean lawyers), actually get to test the
GPL in court for the first time.

Thus enter my version.

Its very simple.

Entirely consistent.

Completely unrestrictive.

Easy to apply.

The “No problem Bugroff” license is as follows…

mekanix (WTF is the SMS Power cause??? Who doesn’t have a SEGA 8-bit cartridge nowadays…):

Thanks. In this case, if you want to help further development and support
the author, you are welcome to register MEKA.

To do so, you will simply have to help the SMS Power cause. This can be
done by several ways. The first is to donate Sega 8-bit cartridges to us.
We would love that. Donating hardware is even more welcome. If you plan
to donate anything, be sure to e-mail me beforehand. And remember it is
not because a game or a system is common that I have it. I am actually
missing a billion of common game I would love to get.

BEER-WARE (My 3rd!!!!! This IS DA LICENSE. Approved by the Dutch ambassador Joost):
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------

Meta

  • Categories

  • Recent Posts

  • Spotlight


  • Archives

  • Links