Preparing a new box

Posted by Diego "Flameeyes" Pettenò Thu, 18 May 2006 18:09:00 GMT

So, I’ve started preparing a new box for Gentoo/FreeBSD beside farragut. Actually I started yesterday in my so-called break, as I’m going to need it for a job (I need to work with PHP and MySQL 4.1, and I don’t want to have them on my workstation or on farragut itself ;) ). This will also give me the opportunity of keyword more stuff, and you’ll now see that also PHP 4.4 is available on Gentoo/FreeBSD (at least for basic options), yuppie! :)

Unfortunately, seems like I did something wrong either when putting it up or with the stage, I’m not yet sure, as rpc.lockd dies at fork, and so does MySQL :/

A part that, I’ve now two boxes where distcc sends the data to build, watching freebsd-lib that compiles at -j5 is really good ;) I also already installed the cross compiler for PowerPC on that box, so that I can use the three of them to be distcc servers for the poor iBook.

New box at hand, I also keyworded a few more things, like hunspell and myspell-{it,en}.. you won’t probably know why, but they are dependencies of OpenOffice, and as I remembered people being working on having it built with GCJ, and that would help to get it working on Gentoo/FreeBSD ;) Thanks a lot to Kevin for having committed the libtool patch to have it built as a shared library, too :)

On a different note, my “no coke” policy is doing fine, it’s not 5 days and it’s the longest time I didn’t drink Coca-Cola in the last few years :) Although, I admit, it’s going to be difficult as the temperature is increasing too much for my likes. Why oh why do I leave in southern Europe? :P

Posted in ,  | Tags , , , ,  | 1 comment | no trackbacks

Today's little tricks

Posted by Diego "Flameeyes" Pettenò Wed, 17 May 2006 12:36:00 GMT

So, although I should be in break, also today I ended up doing some kind of work, a part updating the ALSA guide as I told before today, I’ve also taken a deeper look into my backlogs, and I found that I still had a few packages that needed to be fixed because they were stripping binaries.

As I was doing that, I wanted to provide a few useful pointers that might be not that obvious and I found interesting to know.

The first is a bash trick, or better a particular way to use bash that might come handy. Many people often use something like

for file in $(find . -type f); do stuff; done

I seen that used often also in ebuilds. Although it works, there are often better ways to do this (like using sed -i -e on multiple files instead of using a for to get file-by-file and use sed -e > tmpfile and so on). In those cases when the cycle is actually needed, there’s something that might come handy to know tho.

I found this myself when running the cycle that gets the list of files that are installed with stripped debug information (thing that makes my efforts to get the system fully debuggable useless :P). It was a for that used scanelf’s output, and it stuck waiting for scanelf to complete before starting looking at the files, probably because I was invoking a subshell with $(). If instead of doing that I do this:

scanelf -k '!.symtab' -F '#k%F' -qRB /usr/lib/debug \
   | while read file; do qfile -C ${file}; done

and thus use a pipe, I start getting output even if scanelf didn’t complete. I know this might be obvious to seasoned bash coders, but it’s probably a neat trick to know for the newbies.

The other is not exactly a trick but an information that I should probably add to the backtraces guide. Some time ago I asked to solar about some files that didn’t get the debug info copied in /usr/lib/debug before strip. The problem was difficult to reproduce and he wasn’t actually sure what the cause was. Well I can say now that the problem was either in GCC or in Binutils, as some packages like procps that had no debug information are now correctly copied. The same happened with some of the gcc’s libraries (although the c++ compiler still has debug information stripped). So if you ever see an “Invalid Operation” error from objcopy during stripping, you have to know that we probably can’t do much about that.

Posted in ,  | Tags , , ,  | 1 comment | no trackbacks

Why documentation is important

Posted by Diego "Flameeyes" Pettenò Wed, 17 May 2006 09:14:00 GMT

So, although I said I wanted to take a break, there was one bug I wanted to smash as soon as I can, it’s bug #131456. This bug is annoying for users and I can understand why it is, upstream fixed it so one might think it wouldn’t be difficult to backport. Yeah sure.

The upstream bug report is #0002067, and only references the bug as “Fixed on Hg repo.”, thing that does not really says much to me. I know that Hg is mercurial, but that’s just a clue. A quick glance to ALSA website doesn’t show me much about that repository.

There’s a Development Wiki but no reference, the only reference I found, in the place I wasn’t thinking of, is in the Download page. Sigh. Now it’s time to check how to get the right patch out of hg, hopefully it won’t take that much time, but the checkout itself takes a bit.

I think I’ll have the ALSA Maintainer Guide to describe the Mercurial repository later today, and here goes all my break idea.

Okay okay, I can simply put that on my TODO list and do all tomorrow, but well.. I will probably forgot at this point :(

Posted in ,  | Tags , , ,  | no comments | no trackbacks

I'll take a little break

Posted by Diego "Flameeyes" Pettenò Wed, 17 May 2006 00:41:00 GMT

So, tomorrow I’ll try to take a little break. I need some time to keep up with what’s happening in my life lately. I’m having a bit of troubles, not only in my personal life but also in my health and that’s something I can’t really allow to break.

Also, flamefests are things I can’t really stand and I always hate to be part of – but I can’t even allow to be treated like an idiot.

Anyway, for tomorrow my presence will be limited, very very limited indeed. I won’t connect on IRC unless I really need to, I won’t look at mails that are not addressed directly to me. I will connect to jabber, for the ones who knows how to reach me.

I probably won’t be working on RubyTag++ either, I really need some time for myself, without development. I will probably pass the day cleaning up and watching some TV series to pass the time.

I should probably say something about the progresses of RubyTag++ and of the bindings generator, but I’m not in the mood for that right now.

There are times when I think why I’m still here with all the bullshit I’m told sometimes, and the continuing flames, and the whole situations that makes me think if people think I’m stupid or what.

Luckily, after thinking a bit more on that, I only find myself feeling pity for who has nothing else to do than to criticise me and anyone else thinks differently from them. I find I’m doing what I’m doing because I trust people in general to be in good faith, and and I do have faith in the project I’m involved in. I do sincerely hope that Gentoo continues to be the distribution it is, almost bleeding edge, with a good – good a lot – multimedia support (thanks to the fact that we can provide users what they have right to have if they don’t live in USA, like win32codecs and mp3 decoders, as we don’t redistribute the binaries anyway), and optimum support for development (no damn -devel package to install, thing that I always hated from any other distribution. I’m a bit too well used to having alll the development libraries I need to do my job ;)

So, although I’m stressed, depressed, and somehow disenhanced of how some people reacts when they find difficulties over their path (crybabies are even preferrable), although I don’t really feel like my job in Gentoo is actually useful, I’ll be continuing doing my best, also for all the users who trust me, and that counts on me to resolve their problems.

But I need a day off :)

Posted in ,  | Tags ,  | 4 comments | no trackbacks

Update to 6.1

Posted by Diego "Flameeyes" Pettenò Tue, 09 May 2006 08:19:00 GMT

So, today FreeBSD 6.1-RELEASE was finally made public, and now it’s time for me to rebuild my system, see if it works, and then commit the new ebuilds to the tree.

It is interesting to note that for now I’ll leave 6.0 around, I’ll try in the future to leave one or two FreeBSD releases around, so that if people have problem with one, the other is still available. Fixes would be backported if needed.

Other than the ebuild, being a release instead of a beta or rc, this time I’ll have to rebuild a new stage, so that new users won’t have to pass through CHOST change and so on. It will be an important stage for me, because this will be the first stage to have SSP support out of of the box (not built with hardened compiler, so no stack protector enabled, but the libc will have the symbols already).

In this release I’ll probably also sneak in my rtld patch, that worked fine and allows to have crosscompilers working, thanks to Mike now crossdev works out of the box, I’ll have to keyword it later today.

Other important things that will change with this release are the dropped support for ftpd and lukemftpd (you can use one of the FTP daemons in portage, if you want something like lukemftpd I’ll see to add tnftpd – its evolution – in portage), and a few more cleanup in which packages we use from portage and which from FreeBSD. I know that there are still conflicts with manpages, I hope to fix them before the actual stage release, which means that the stage will be likely on mirrors later this week, rather than directly today.

Leaving a part Gentoo/FreeBSD, today Albert Lee posted a patch in xine-devel mailing list to fix FAAD2 5.1 support, I’m going to test it now, and I’ll commit a -r6 to xine-lib today if it works. This will mean that yet another reason not to use xine is fading away :) Now, I do actually have a couple of bugs open that needs to be fixed, I hope to do that today, if possible, and ask next month for a stable on xine-lib to finally close most of the issues, as -r6 respect to -r1 is quite a big set of changes.

On another unrelated note, I should probably release a new unieject version, with the new fixes added and the new visibility handling: -fvisibility=hidden if supported, plus #pragma to get the public symbols visible, and the old method in fallback.

Posted in ,  | Tags , , , ,  | no comments | no trackbacks

CUPS and Gentoo/FreeBSD

Posted by Diego "Flameeyes" Pettenò Mon, 08 May 2006 21:39:00 GMT

Okay a combined status update for you today :)

So, the CUPS problem I had with the USB printer turned out being an error with the way cups was configured in Gentoo and somehow to the way CUPS tries to enforce security. To summarise, if the SystemGroup setting in the cups.conf file was set to “lp”, the backend runned as “lp:nobody” instead of “lp:lp”, so the “root:lp” device was unaccessible. Thanks to genstef, the new ebuild now creates an “lpadmin” group and use that as group for printers administration, while lp is left to be used to for accessing the device. Please note that if you configured lp in particular ways, you’d have to fix it at this point.

Now I can print safely from the Linux box; I’m also waiting for kdelibs to build to test the kdeprint patches needed to work with cups 1.2, so that finally we would be all set for upgrade, almost.

Also genstef added libpaper to the tree (Ubuntu version) so that people can set the default paper format they want to use (in my case A4). I’ve already marked the ebuild ~x86-fbsd so that Gentoo/FreeBSD users can be safe.

Still, there are problems with using Gentoo/FreeBSD as printing server, although it works fine with a networked printer, right now the devices has no permissions set at all. This is a problem because FreeBSD to set the permissions uses a series of scripts that are run by rc, and by devd.

Using the same scripts would probably be possible, but I wouldn’t suggest that, as we have a structure quite different, so… well… I hope someone will have time to work on a gentoo-bsd-devfs scriptset :)

Posted in ,  | Tags , , ,  | no comments | no trackbacks

Playing again with crosscompiling

Posted by Diego "Flameeyes" Pettenò Mon, 08 May 2006 09:34:00 GMT

Okay, today I said I would have paid more attention to Gentoo, as yesterday I took a fraction of a break. As I woke up extremely early (5.30am), I started working on the patch for FreeBSD’s loader to mime the behaviour of GLIBC’s loader, of falling back when a library fails to load.

I’m still testing this, so I’m not going to commit it immediately, but it seems to me that it works fine. I’ll send it to a FreeBSD developer (thanks again to David for giving me the name of a developer who handles rtld :) ).

Anyway, I really hope that now the two projects (FreeBSD and Gentoo/FreeBSD) can proceed friendly to reach the same objective: having better support for FreeBSD system, either vanilla or with Gentoo framework, as users prefers, without flames and grudge.

Anyway, the weather outside doesn’t seem that good, so I’m still in my room, although I’d actually like to go outside to work on Gentoo and rubytag++.

Anyway, thanks to vapier now crossdev is fixed, so the only point remaining to be fixed to have working crosscompilers is just the rtld :)

Posted in ,  | Tags , ,  | no comments | no trackbacks

Little details that make you happy (maybe?)

Posted by Diego "Flameeyes" Pettenò Mon, 08 May 2006 00:19:00 GMT

So, today I was finally feeling better, I finally was able to sleep decently, so I tried to focus on other things, like cleaning up my room, that’s really messed up. I also tried to try to get CUPS 1.2 to work with the USB printer on FreeBSD, but that failed, too.

Then I decided to commit one of the first details that I worked on in the last days, so now all the KDE users in ~arch will now see that kbuildsycoca is run after the packages’ merge. Why this? because that way it updates the global level sycoca database, so all the KDE stuff merged should be available immediately to users, and should fix problems like amaroK requiring kbuildsycoca to be run by the user to get the engines loaded.

I’ll see if that change can be moved to arch before 3.5.2 release, that should probably help users updating, too, but I want to test it more before.

I think I’ll be remembered to be one of the most annoying developers and the one of the minor details that nobody cares about :P

Anwyay, I want to thanks again David Xu for committing the patch to FreeBSD’s sources, I should have submitted the PR for the kernel patch already, but today for one thing and the other I hadn’t had time to do this. I’ll submit everything tomorrow as I’ll be working more on Gentoo probably, as now I’m without a job for a while :P

Now a personal question for everyone ;) Reading a books’ magazine today, I found a suggestion on a book from Markus Heitz, “Le cinque stirpi”, most probably in original “Der Krieg der Zwerge”, a fantasy book, that is. Now, I don’t really like to base my choices on only reviews from books’ magazines, so if someone read that and can tell me if it’s worth or not, it would be much appreciated :)

Posted in ,  | Tags , ,  | no comments | no trackbacks

Updates on Gentoo/FreeBSD and crosscompilers

Posted by Diego "Flameeyes" Pettenò Sun, 07 May 2006 17:00:00 GMT

Okay, some updates on the status of creating a crosscompiler between FreeBSD and Linux are needed, as I have news, not exactly the best news ever, but at least news.

First before, I want to thanks David Xu from FreeBSD for being so kind when I asked him about the freebsd-lib patch to build with binutils 2.16.92, he also pointed me how to submit the patches to kernel sources and the rest. I hope this can be the start of a collaboration between projects that will lead to a general improvement :)

Anyway returning on the crosscompile issues, yesterday I fixed kernel-2.eclass and linux-headers ebuild so that they can be built on Gentoo/FreeBSD, and I got a stage1 crosscompiler working.

Unfortunately the libstdc++ build script sets LD_LIBRARY_PATH also when crosscompiling to the just built libraries, so when anything is run, or at least tried to, the runtime loader tries to load the libgcc_s.so.1 from the LD_LIBRARY_PATH, but that file is a PowerPC ELF binary in my case, so the loader can’t recognise it, and bails out.

There are two solutions to this problem: the first is to change FreeBSD’s rtld to behave like GNU’s, and fallback to the next library when one fails to load, but that requires hacking the sources a bit, although I’d like such a feature and I’ll probably be working on that in the next days; the second way is to fix gcc to not set LD_LIBRARY_PATH when building a crosscompiler, and this might be simpler and can go directly upstream.

As soon as that’s resolved I suppose the crosscompile will work (after fixing crossdev, that I still have to submit the patches to vapier for).

Posted in ,  | Tags , , ,  | no comments | no trackbacks

CUPS 1.2, problems and impressions

Posted by Diego "Flameeyes" Pettenò Sat, 06 May 2006 23:33:00 GMT

So, today I started looking at CUPS 1.2 to add the needed patches to KDE, as I was asked by genstef.

Unfortunately, it doesn’t work that well for me, actually it doesn’t work at all. Ignoring some problems with multilib-strict that might be better handled by following upstream on this, my USB printer doesn’t seem to work. I’ve submitted a bug to upstream and I’m now waiting for them to find the cause and a solution.

Right now, I won’t suggest to anybody to use that version of cups, considering this problem that might hit others, too. I’ll anyway hope to get the proper KDE patches merged as soon as I can print with my printer.

But a part the problems, I got a really good impression on CUPS 1.2, the configuration file is finally human readable (no more crufted Apache-like configuration file long entire pages), the Web interface is really improved, more friendly and better looking.

One of the things I really loved of the new CUPS is the administration interface, with the list of identified USB printers and a button to add them directly. Not bad at all, although the drivers selection might be better, rightnow it moves you directly on the brand of printer you have, but it fails to recognise my Kyocera Mita as what it is and brings me to “Kyocera” page (where my model isn’t found obviously).

I hope this will really improve the support for printing in Linux. Already the usage of CUPS by Apple in Mac OSX gave us better support for printers as many vendors started to provide PPDs for CUPS to work (this is the case of Kyocera Mita, too), now if the interface becomes also more friendly for the basic user, it’s a big leap forward.

Myself, I love not having to change anything but enabling browsing to have my laptop to print on the amd64 station, both on Linux and OSX.

++ for CUPS :)

Posted in ,  | Tags , ,  | 1 comment | no trackbacks

Older posts: 1 ... 41 42 43 44 45 46