Posts

Showing posts with the label gentoo

about gentoo-cn.org

There's been some problem renewing this domain. We might as well abandon this domain name altogether and switch to gentoo-zh.org. Actually I have already registered the later one. Probably will set it up this weekend. Meanwhile you can access the site using zhangle.is-a-geek.org. Everything works fine, except sub domains, like {planet,irc...}.gentoo-cn.org. Sorry for the convenience caused, if any.

gentoo-zh overlay

So gentoo-china and gentoo-taiwan overlay will merge. The new overlay will be called gentoo-zh. I have already added gentoo-zh overlay to repositories.xml based on which layman-global.txt is generated. Thanks to microcai for merging the repository of these two projects. EDIT: sorry there is an error about the source type. already fixed.

Works I have done related to Loongson in recent months

I got a donation of a Lemote Loongson 2F box somewhere around July this year and have been working on it in my spare time since I got it. The other day I made a summary about what I have done so far and posted it on Lemote's bbs. The links is http://www.lemote.com/bbs/viewthread.php?tid=20134 My work involves toolchain, kernel, xorg-server MIPS or Loongson support and userland library/application gcc 4.4 patch. The most prominent achievement so far is an N32 ABI stage3 (well, actually just a tarball, not made using catalyst) optimized for Loongson 2F with MIPS PLT support. It is actually not that easy as you would've imagined, N32 has many problems as you can see from the above posted link. I posted it on Lemote's bbs along with some instructions of how to use it: http://www.lemote.com/bbs/viewthread.php?tid=20125 According to some testers, performance of some applications in this system has an up to 30% increase comparing with the performance of the same apps in system Usi...

EAPI 2: SRC_URI Arrows implementation in portage

Background: http://ciaranm.wordpress.com/2008/09/28/eapi-2-src_uri-arrows/ Today I found arrows in SRC_URI is not working in my box, so I took a look at the code, found something, and sent this: http://www.nabble.com/a-little-patch-related-to-arrow-in-SRC_URI-td20732745.html However, as Zac pointed out, the better solution is not to define your own fetch and resume command but rely on the default one. The default ones are defined in /etc/make.globals: FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" The rules of thumb is to make sure you save the file at ${DISTDIR}/${FILE}, since FILE is just the file name, doesn't include path. Previously I have fetch and resume command defined in make.conf, and have used "-P ${DISTDIR}" instead of "-O ${DISTDIR}/${FILE}". Maybe...

A problem in Loongson 2F specific integer operation instruction patch

I have reported on gcc mailing list. http://gcc.gnu.org/ml/gcc/2008-11/msg00076.html Also I found the solution: http://gcc.gnu.org/ml/gcc/2008-11/msg00087.html Now I have built gcc-4.4 with my modified patch with "-march=mips3", and am building itself again using "-march=loongson2f". Note that enabling -O2 in later stages is not working yet. Please check this bug report for more information if you are interested: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38052 EDIT: just heard from Kumba, this flag used together with -O1 will trigger this bug: -foptimize-sibling-calls Optimize sibling and tail recursive calls. Enabled at levels -O2, -O3, -Os. The modified gcc 4.4 ebuild is here and some relevant libraries here .

improvements (Gentoo specific) to distcc zeroconf support

distcc's got zeroconf support That is cool! However, there are problems (althouth not everyone got these problems). One of them is that if you have multiple version of gcc's or even cross compilers, distcc clients can't discover them, since distccd will only register your current active gcc. And if you want to change your native compiler's version, you must restart distccd in order to let it take effect. Having multiple gcc's may not be common in other distribution, but this is common in gentoo. This is what I have on my x86 notebook: gcc-config -l [1] i686-pc-linux-gnu-4.3.1 * [2] mipsel-unknown-linux-gnu-4.3.0-alpha20080731 [3] mipsel-unknown-linux-gnu-4.3.1 [4] mipsel-unknown-linux-gnu-4.4.0-alpha20080718 * [5] mipsel-unknown-linux-gnu-4.4.0-alpha20080801 [6] powerpc-unknown-linux-gnu-4.2.3 * So I made a little patch: https://bugs.gentoo.org/show_bug.cgi?id=233843 Hope there will be a distcc-2.18.3-r14 or distcc-3.0_rc4 in tree soon, ;)

portage-2.2 preserve-libs FEATURES explained

Maybe I am not the right person to write about it. But I felt the necessity to write about it. So I will just write something about preserve-libs, leaving other FEATURES to more competent people. Portage-2.2 has already entered unstable tree. Many people has started using it. It has many new features, like preserve-libs, sets, license filter and so on. Please check README and RELEASE-NOTES for a complete list. I will only talk about preserve-libs. To understand why we need it, we have to know some background information. First of all, applications are not built from scratch. Any non trivial apps use lot of libraries. In GNU/Linux, most of them are shared libraries, i.e. .so files. You can use `ldd /usr/bin/mplayer` to check what shared libraries an app has been linked to, replace mplayer to whatever program you'd like to check. Shared libraries have versions. E.g. /usr/lib/libavformat.so.51, here 51 denotes its version. After upgrading, the version number may change. E.g. /usr/lib/...

The new Simplified Chinese doc translation page is ready

I put it on my gentoo-cn.org: http://www.gentoo-cn.org/trads I have done some modification to neysx's trads script. And I have written a new perl script which could generate a totally new trads.xml (think it like a config file to trads) from scratch. I am using git as version control software. The gitweb page is here: http://www.gentoo-cn.org/gitweb/?p=trads;a=summary The gen_trads_xml.pl script is here: http://www.gentoo-cn.org/gitweb/?p=trads;a=tree;f=xml

Shiny new Simplified Chinese doc translation list

First of all, thanks to neysx and his excellent tool . Also thanks to Simone Li for translating the original French template to English. Actually, it is not finished yet. I have to finish translating the page to Chinese, then write a script to auto update trads.xml which records the priority, translated version, current version of each doc. Anyway if you want to take a preview, the URL is here: http://dev.gentoo.org/~r0bertz/trads-zh_cn.xml Notice: don't be fooled, :) Although the current list on the above page is almost empty, we have actually translated a lot of docs into Chinese, especially the whole handbook, ;) So, check it out: http://www.gentoo.org/doc/zh_cn/list.xml

A live binutils ebuild

I have written a live binutils ebuild. It is now in my loongson overlay. I wrote it because binutils cvs already got loongson 2e and 2f support, but new version is not released yet. The ebuild itself is quite simple, thanks to cvs.eclass and toolchain.eclass. However, in order to make it really work, I have to modify cvs.eclass. The reason is: The checked out directory name of binutils is called "src". While cvs.eclass expects the checked out directory name is the same as the package name, i.e. "binutils". Unfortunately, "co -d binutils binutils" doesn't work. If I use "co -d binutils binutils", I can only checked out the "binutils" directory, while the actual binutils module contains more than that. So, the most straight forward way to solve this would be to "mv src binutils" after checking it out, and this was exactly what I did. I need a new variable name to hold "src". I call it ECVS_CO_DIR. Some other things...

official Simplified Chinese doc translation team lead

I have passed doc quiz, :) Now I can commit docs direclty. The following is what neysx sent to me. -- Zhang Le wrote: > Hi, neysx! > > Please find my quiz answer and fix-me.xml in the attachment. Not perfect, but good enough :) You're now in charge of / doc/zh_cn / Cheers, -- / Xavier Neys \_ Gentoo Documentation Project / /\ http://www.gentoo.org/doc/en/

Pulseaudio-0.96 on MIPS

Pulseaudio depends on libatomic_ops. However, libatomic_ops don't have support for mips. I've created a patch for mips, though only work on 32bit userland. Get it here . Pulseaudio now compiled and installed on my loongson box. Can't use it to play though. The following is some detailed info, if you are interested in. My setup is to use alsa's pulse plugin. I tried aplay, for example: $ aplay /usr/share/sounds/alsa/Front_Right.wav aplay: pulsecore/mutex-posix.c:75: pa_mutex_lock: Assertion `_r == 0' failed. Aborted Before this assertion failed, aplay is stuck on a futex system call. connect(7, {sa_family=AF_FILE, path="/var/run/pulse/native"}, 110) = 0 send(6, "W", 1, MSG_NOSIGNAL) = -1 ENOTSOCK (Socket operation on non-socket) write(6, "W", 1) = 1 gettimeofday({1187375795, 973686}, NULL) = 0 write(6, "W", 1) = 1 futex(0x45dd1c, FUTEX_WAIT, 1, NULL

Chinese docs committed

Thanks to neysx! Take a look: http://www.gentoo.org/doc/zh_cn/handbook/ I have just submitted /doc/zh_cn/{index,metadoc}.xml https://bugs.gentoo.org/show_bug.cgi?id=189247 Two problems have been discovered since I wrote the stardict 3.0.0's ebuild. One is that stardict 3.0.0 needs gconf-2.m4 file in the m4 dir in order to run eautoreconf successfully. Because stardict can disable gnome support, and as a result user may not have gconf installed. The other problem is related to newest speech-tools. This one is stardict 3.0.0's dependency. you can find details here: https://bugs.gentoo.org/show_bug.cgi?id=188820

I have written an ebuild for stardict-3.0.0

layman -a gentoo-china to get it, or view it online: http://gentoo-china-overlay.googlecode.com/svn/trunk/app-dicts/stardict/ I wrote two patches which could make it compile when --disable-gnome-support. Stardict 3.0.0 supports text-to-speech engine festival. It requires the latest version of festival and speech-tools. So I wrote ebuilds for them. They are also in gentoo-china overlay now. I haven't become an ebuild dev yet, so I can just put them there. I will submit to bugs.g.o later. I have reported relevant issues to stardict.sf.net. You can find it here.

Simplified Chinese Gentoo Handbook all finished!

Synced with English version. Take a look: http://www.gentoo-cn.org Progress: http://www.gentoo-cn.org/doc/zh_cn/progress.xml BTW, this website is powered by my loongson machine, ;)

More on mldonkey and loongson

My little patch to mldonkey's Makefile donesn't satisfy mldonkey developer. I didn't come up with a better solution. So I resorted to modify mldonkey's ebuild. Maybe not so elegant, but it works, at least for me. I added the following snippet to src_install(): EXE="mlnet mld_hash get_range copysources make_torrent subconv" if [ -f mlnet.byte ]; then for i in $EXE; do mv $i.byte $i done fi dobin $EXE || die "dobin failed" The ebuild could found here: http://www.gentoo-cn.org/loongson-overlay/net-p2p/mldonkey/ This overlay is independent from the one on dev.lemote.com, although the latter was actually registered by me. Because I can't access dev.lemote.com's svn repository, probably due to network problem. So I just maintain this overlay locally, using git. To get it, run: git-clone http://www.gentoo-cn.org/loongson-overlay/.git BTW, I have just registered a domain name: gentoo-cn.org. I will make it theportal site...

Mldonkey can work on Loongson

In short, ocaml doesn't have native code compiler for mips linux, but it can compile byte code which is also an ELF executable. The only difference is that bytecode runs slower than native code. But there is a little problem with mldoney's Makefile. I will try to make a patch to solve the problem. PS: maybe i misunderstood something. I found that mlnet.byte can't run on its own, it needs bytecode file. PPS: I found the mlnet.byte i have installed into /usr/bin is not the right one. PPPS: it is the right one, but gentoo stripped it, haha, now it works, finally! http://caml.inria.fr/pub/ml-archives/caml-list/2002/08/492887df149fb58b1c21ffa89e6fee66.en.html The following is a conversation happened on #mldonkey @ freenode (r0bertz) what is the difference between mlnet and mlnet.byte * lb001_ has quit (Remote closed the connection) * lb001_ (i=irc@gateway/tor/x-f2c1251672831851) has joined #mldonkey (jave) r0bertz: mlnet.byte is byte compiled (jave) you will normaly use plain ml...

my patch to strace was accepted

https://sourceforge.net/tracker/?func=detail&atid=102861&aid=1659465&group_id=2861 This is a mips related patch. I made this patch when I porting Gentoo to loongson. -- Zhang Le, Robert http://r0bertz.blogspot.com http://zh.gentoo-wiki.com http://savannah.nongnu.org/projects/pgubook http://groups.google.com/group/gentoo-china http://groups.google.com/group/szlug

How to use trads.rb to manage translations and generate a Lead Translator's page

http://gentoo.neysx.org/mystuff/trads/doc/trads-doc.xml gotta read this this will help me to generate a beautiful page showing the status of translation. Our current status page is beautiful too, but it is missing some functions, e.g. the diff between the latest translated en doc and the latest en doc. The script in the above mentioned doc could do this. Wonderful! The result could be seen at http://www.gentoo.de/trads/. However, this script only works with gorg. That means gentoo.linuxsir.org is no longer a suitable place to hold the status page (which is known as progress.xml currently)

emerging KDE on loongson

I have got DRI working in Gentoo on loongson. mesa/libdrm/kernel/xorg-server/xf86-video-ati need to be patched in order to achieve this. I have set up a loongson overlay, including the necessary patches. Get it here: http://gentoo.linuxsir.org/download/loongson-overlay.tar.bz2