Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Monday, February 22, 2010

Gentoo Mozilla Team meeting decisions

On Feb 21st, Sunday, the Gentoo Mozilla Team had an informal meeting to discuss some of the recent changes which have a large-ish impact on users. Below is a list of them and the decisions that were taken. After the list is a description of each decision.

SQLite with Firefox: Firefox will use the bundled sqlite by default. Users can select the system-wide sqlite by setting USE=system-sqlite.

Ebuilds for Extensions in-tree: The Gentoo Mozilla team will not ship ebuilds for extensions such as noscript and weave anymore. We will only have ebuilds for extensions which are linux-specific and compiled; such as enigmail.

Firefox and Thunderbird Alphas and Betas: In addition to the overlay, we are going to start placing alphas and betas of Firefox and Thunderbird in the tree with a package.mask and a big fat ewarn during installation. Adventurous users are encouraged try them out but report bugs only in the Gentoo bugzilla. Do not go to upstream unless we ask you.

NOTE: These ebuilds will not have language packs since upstream does not release packs for these.

NSS/NSPR Changes: This involves various cleanups to the ebuild, and moving of the libraries from ${libdir}/{nss/nspr} to ${libdir} and removal of the /etc/env.d/08{nss,nspr} LDPATH entries alongwith corresponding changes in firefox-bin and thunderbird-bin launchers. These changes should be completely transparent to the user.

Revival of #gentoo-moz @ FreeNode: The mozilla team has expanded in recent times, and with that we have decided to revive the ages-old #gentoo-moz irc channel. Users are welcome to idle, discuss, and ask for help on that channel. Come on over!


Why we made these decisions:

SQLite with Firefox: We've done flip-flops on using the system-installed sqlite for for XULRunner and Firefox. Initially, we used the internal one, but folks reported bugs about that (we prefer not to use bundled libraries), so we switched to the system sqlite.

Then with the next version of Firefox, people started reporting major bugs with using the system sqlite and we temporarily disabled it. Once the problems were resolved, we added USE=+sqlite to use the system-installed sqlite by default.

Recently, another issue cropped up: upstream mozilla was getting bug reports that the sqlite db was insecure, and trivial tools like grep could be used to get (private) deleted information from it. They traced that to distros using the system sqlite which didn't have support for SQLITE_SECURE_DELETE. They then made that a mandatory configure check with 3.6 (and we added a dep on the system sqlite for it). Soon, we started getting bug reports from people who did not want that enabled system-wide (since it zeroes out the data when deleting it, which has a performance penalty). Upstream made it clear that they would not make the check optional.

In the end, we decided to make firefox use the internal sqlite by default, and allow the user to select the system installed sqlite via USE=sytem-sqlite if they are ok with secure-delete being on system-wide.

Ebuilds for Extensions in-tree: We found that a number of extensions were being released at a very swift rate which meant two things:

  1. Bumping ebuilds was very tedious, which led to them becoming stale very quickly
  2. Judging whether an ebuild can go stable was not possible, and most often the extension developers just want the users to use the latest release.
This offset the benefit of users being able to install extensions system-wide and have it managed by portage. Users can still manually install and manage system-wide extensions if they so wish. They are also free to copy the old ebuilds to their local overlays and use them if they wish.

Firefox and Thunderbird Alphas and Betas: Mozilla Upstream has been complaining that their betas and release candidates don't get much testing on Linux since all the distros ship only the final releases. This means that bugs are caught very late, and aren't fixed till the next major version. To help with this, we've decided to revise our release strategy and give a bit more visibility to our alphas and betas (which are generally kept in the overlay) by pushing them to the tree under package.mask, and with large ewarns all over the place. Users are strongly advised NOT to report bugs with these directly to upstream. Please use the Gentoo Bugzilla.

NSS/NSPR Changes: the libraries for nss and nspr were installed in a prefix due to collisions with other packages (libssl.a for instance). Recently, Google decided to use portage for cross-compiling and managing ChromeOS. This combined with some bugs reported with NSS/NSPR led to some investigation, and a voluntary review of the ebuilds.

This led to a number of changes which included disabling static libraries for NSS and NSPR, and moving the rest to ${libdir}. Further details on the changes and their "why" are listed on the review bugs linked above.

Friday, October 31, 2008

GDM 2.24 aka SMB (Shoot Me Bloody)

That's the name of my proposed WorkOut for FOSS.IN/2008.

What is it about?
It's about getting GDM 2.24 in good enough shape to be considered for adoption by Ubuntu, Gentoo, Mandriva, Debian, *BSD; and not just Fedora and Foresight.

What's wrong with GDM 2.24?
Strictly speaking, there's nothing *wrong* with it. It works flawlessly on my system (except for the daemonisation bug/regression, which I had to patch up manually). I've been using it as my primary display manager since 2.23.1, and it has improved to the point of bug-free-ness.

However, there are reasons why most distros are shipping the older 2.20* series GDM instead. The aim of this WorkOut is to make inroads into fixing those problems.

That's all fine, but what *exactly* is wrong with GDM 2.24?
Oh, right. I should impose a hand-waving embargo on myself ;p

History: Sometime around the GNOME 2.18 release cycle, the GDM developers decided that it was high-time someone fixed all the problems with GDM and rewrote it from scratch. For this reason, a rewrite of GDM was started; aiming for the 2.22 release cycle.

However, during 2.22 cycle, GDM 2.20 was shipped due to several regressions. When GDM 2.24 was proposed, it caused intense debates involving the release team. However, it was included since the feature regressions were deemed minor enough.

Some of the regressions are listed below:
  • Lack of Themeing support: The architecture of the new GDM is very different from that of the old GDM. And hence, there is no way to "port" the older themes to the newer GDM, and there is currently no inbuilt support for themeing either.
  • No `gdmsetup`: The older gdmsetup had several security bugs, and hence was not ported to the new GDM. The configuration file is still the same however, so this is not a really large regression since there's no theming support anyway.
  • No XDMCP Chooser in the login screen: This is quite self-explanatory
  • No support for timed-logins: This is being worked on actively in-trunk
  • No support for backends other than PAM: This means that distributions like Slackware, *BSD, etc cannot use GDM 2.24

The aim of this WorkOut is to fix the above listed regressions, and some of the other regression bugs, TODOs, Visual Glitches, etc. And maybe even add some new features ;)

Details about the How, and When will be posted soon. Stay tuned!

~Nirbheek, hoping to see you during the discussions and @foss.in :)

Thursday, September 18, 2008

An important announcement

We interrupt your regular lazy-webbing to make this two important announcements:

A) AutotuA 0.0.1 released! Try it out and report bugs (if you can't follow the instructions in the link given, your services will be required when 0.0.2 is released :)

B) IMO, the two best distros in this world are:

  1. Foresight Linux
  2. Gentoo
    • The GNOME Team
    • Brent Baude (ranger): master-of-the-PPC-arch
    • Donnie Berkholz (dberkholz): X11, Council, and Desktop Team Emperor
    • Raúl Porcel (armin76): generic bitch; maintains half the arches and Firefox
    • Robin H. Johnson (robbat2): Infra demi-god
    • Zac Medico (zmedico): Portage demi-god
All these people are just too awesome (and too overworked) for words. If I hadn't got myself deep into Gentoo (which led to SoC too), I would've gone to Foresight :)


~Nirbheek,
Who has high hopes for AutotuA, and also hopes the best of Foresight and conary can be brought to Gentoo.

PS: Donnie, congrats once again! ;)

Tuesday, May 22, 2007

Why Linux? - I 1/2 ~ Why *BSD & OpenSolaris?

Why do experienced Linux users want to shift to {Open,Free,Net}BSD or OpenSolaris? They're non-intuitive to Linux users, have in general crappy hardware support (except for the wireless drivers in *BSD), and take up a lot of work setting up and getting used to. I'm not talking about "trying out" new stuff, thats an understandable thing, everyone likes to do that. I do it all the time. I'm talking about shifting to another OS.
You might say "same applies to people who shift from Windows to Linux". And you're right! To a certain extent.
Windows to Linux is an exception for reasons which I'll be introducing later; probably towards the end of this series of posts. All I'll say is that its related to "choice".

We have Ubuntu - A distro any newbie can use. And since any n00b can use Ubuntu, long time users of Ubuntu no longer feel "special", people who use Linux have normally been people with a desire to be "different". And they are no longer "different". So they shift to something a bit more unusual; say Gentoo, Slackware, or, for the truly masochistic, LFS (Linux From Scratch). What about those who've been using Gentoo all along? They don't want to get closer to all those Linux n00bs, they go one step higher. They shift to *BSD or OpenSolaris.


Yes Naresh, I'm looking at you. Gentoo traitor. :P

Thursday, May 17, 2007

Why Linux? - I

Why should I?


1. Windows is enough for me, never had any problems with it, why bother?
2. Stuff doesn't work on Linux, I won't be able to do the stuff that I do on windows.
3. Linux is not user-friendly/easy to use. I'll end up spending all my time fixing problems with it.
4. How can software made by people for free even begin to compare with software made by big corporations?
5. I'll have to use the console to do everything, how do you expect me to remember all those commands?
6. Everything will be too alien, there's too much of a learning curve.
7. The installation is too painful.

Why do people?


1. They are fascinated by the concept of "Open Source" and its philosophy.
2. They like hacking code, and like playing around with code. Hence they like Open Source.
3. They have to work on Linux/Unix (Yes, most academic work is done on Unix/Linux).
4. They run servers (Linux/Unix/BSD are perfect for servers. I'll come to this later)
There are two more reasons which I will introduce later.

We(Navya) recently held our semester-ly Lecture Series. The lecture was opened by Ankit Rohatgi, where he talked about the philosophy of open source, free software and choice. After ~1/2 hour, I was on stage. I began my lecture (no ppt :P) with

Okay. I'm an engineer. I don't care about the boring philosophy of Open Source, its intricacies and the hype around it. I'm a simple engineer who has to work on Linux, for whatever reason, and hence has to use Linux. And I'm here to show you how you can do all that. And more.


I then started off with the basic things people do on Windows; listen to music, watch movies, use GTalk or Yahoo!, check mail, surf the web, etc and showed them that it could be done with the same ease on Linux as well. I then asked them what else they do on Windows, and then proceeded to show them how it works on Linux as well (and in some cases, better than windows).

The height of the lecture was when one guy asked me if we could use usb keys/music players on Linux. I whipped out Naresh's mp3 player (which I had borrowed from him) and plugged it into the usb port of the laptop I was using to give the lecture. An icon showed up on the desktop showing the usb drive and a window popped up with its contents. I then opened Rhythmbox, which had detected it as an mp3 player and proceeded to play music from it. Sound any different from Windows?

Some people wanted to know if one can play games on Linux. Here's a list of open source games for Linux. For other games, there's Wine and Cedega. All in all, unless you're a hardcore gamer, you will be able to play 90% of the games you play on windows on Linux.
For completeness, lets list it all out[1] (for Ubuntu, the most popular flavour of Linux):

Daily Use:

  • Web Browsing ~ Firefox*#(default)

  • Music ~ Rhythmbox#(default), Exaile

  • Movies ~ Totem(default), MPlayer*#, VLC*

  • IM ~ Pidgin[2]*#(defacto standard), Gajim, Tapioca

  • E-mail ~ Evolution(default), Thunderbird*#(most popular)

  • Image editing ~ GIMP*#(default)

  • CD-Burning ~ Nautilus[3](default), Gnomebaker, Brasero#

  • Document Editing ~ OpenOffice*#(default, compatible with MS Office)

  • PDF Reader ~ Evince(default), Acrobat Reader*#

  • Photo Album management ~ Picasa*, F-Spot(default)

  • p2p Software ~ Azureus*#, Linuxdcpp#

  • Desktop Search ~ Beagle#, Tracker

  • Desktop Applets ~ Gdesklets



Advanced Use:

  • C/C++ Compiler ~ gcc#(default, the best in the world)

  • Java Compiler ~ Sun-JDK*#(most popular), gcj(default)

  • Integrated Desktop Environment ~ Eclipse*, Netbeans*, many more

  • Vector Graphics Editor ~ Inkscape*#

  • 3D-Modelling ~ Blender*#

  • Computer Algebra Systems ~ Matlab*, Octave*#

  • Non-Linear Video Editing ~ Avidemux*#, Cinelerra

  • Non-Linear Audio Editing ~ Audacity*#

  • Linear Video Editing ~ mencoder*#

  • Many, many, many more.



* Cross-Platform
# Used by me
"Default" means default in Ubuntu.

This obliterates Point no. 2 of "Why Should I?". I'll talk about Point no. 3 in my next post. About Point no. 4,

How many of you have used Firefox? Most of you probably use it everyday. Can you still say that Free Software is inferior to Proprietary Software? If you do, "Why Linux? - III" will elaborate how Free Software is superior to Proprietary Software.

1. I've listed this for Gnome, a desktop environment. Its not something an end-user needs to bother himself about, so I'll talk about desktop environments later.
2. Formerly called Gaim.
3. Nautilus isn't actually a CD-Burning software, its the file manager of Gnome. Similar to "Explorer" of Windows. You can use it to drag-drop and burn stuff.