Announce : ybuild/ycross/mipkg
时间:2007-03-24 来源:hellwolf
|
|
system and a new package manager.
First of all, you can download a chroot-able build environment from
here:
ftp://ftp.fedora.cn/pub/fedora-cn/ycross/ycross-20070324.tar.gz
Then, you find a suitable place and extract this by running:
cat ycross-20070324.tar.gz | tar zxp --numeric-owner
(DO REMEMBER THE --numeric-owner option)
After successfully extracting, you will get a directory "ycross", on the
top of which there is a excutable program called dive_into. So let's now
dive into it as root :
# ycross/dive_into
Then, you should got a command line alike
[ycross@hostname ~]$
Now your username is "ycross", and whenever you want root privilege, you
can use "sudo" without a password.
In $HOME/SOFTWARES, there's three softwares : ybuild ycross and mipkg.
1. ybuild is a portage-like build system which can build packages from
scripts and download sources automatically from web.
2. ycross is a extension for ybuild, which makes ybuild can build cross
platform packages. And ycross also along with a tool called "ycrop"
which can crop the sysroot maintained by ybuild to a bunch of ipk
package.
3. mipkg is a package manager based on original ipk with multirepo
ability.The attachment "mipkg-brief.pdf" is a brief introduction to this
software, and a online version is here :
http://blog.chinaunix.net/u/8057/showart_264007.html
### build
Now, let's just start to build softwares :
$ ls $HOME/arm-linux/yrepos/base
busybox glibc global.settings libgcc libmudflap libssp libstdc++
udev
$ ybuild -c $HOME/arm-linux/base.config add busybox glibc libgcc
libmudflap libssp libstdc++
...
$ ybuild -c $HOME/arm-linux/base.config list | xargs ybuild -c
$HOME/arm-linux/base.config build
...
It will costs a lot of time(mainly for the glibc).
After everything goes well, you should install some of them to sysroot
by :
$ ybuild -c $HOME/arm-linux/base.config install glibc glibc-devel udev
libgcc libssp busybox
( NOTE: $HOME/arm-linux/yrepos/base/glibc/cookbooks/glibc.spec
has a mistake, please change %post %preun section to :
%post
/sbin/install-info %{_infodir}/libc.info %{_infodir}/libc.info
%preun
/sbin/install-info --delete %{_infodir}/libc.info %{_infodir}/libc.info
)
### system crop
Create a file :
$ cat /usr/share/ycross/arm-linux/sysroot/etc/ycrop/rules
+ .*
- doc
- lang:.*
+ lang:zh_CN
This is the global crop rule, which is to say that we don't want any
docs and only preserve zh_CN locale data.
And optionally you can create a package overlay rule such as :
$ cat /usr/share/ycross/arm-linux/sysroot/etc/ycrop/glibc.rules
- (file|dir):/usr/share/i18n.*
- file:/usr/lib/gconv/.*
- doc
+ file:/usr/lib/gconv/GBK.so
+ file:/usr/lib/gconv/gconv-modules
- (file|dir):/usr/share/zoneinfo.*
Which controls more precicely
Use these rule you run "ycrop" like this:
$ sudo /usr/share/ycross/tools/ycrop arm-linux SOMEDIR
this will output a ipkg repository to SOMEDIR, each ipkg is a croped
version of originally full software created by ybuild
You can check a sample ipkg repository here :
ftp://ftp.fedora.cn/pub/fedora-cn/ycross/arm-linux/ipkgs/base
###########################
# package manager
###########################
Refer to here : http://blog.chinaunix.net/u/8057/showart_264007.html
or see the attachment.
This project is now hosted on sourceforege,
http://sourceforge.net/projects/ybuild/. Feel free to give me more
suggestions on it.
Late at night here, sorry for the roughness for this document. I will
make more documents on it later.
ZC Miao
--
http://hellwolf.cublog.cn
gpg --keyserver pgp.mit.edu --recv-key 0x6B174C6F
[Crash programs] fail because they are based on the theory that, with nine
women pregnant, you can get a baby a month.
-- Wernher von Braun
相关阅读 更多 +