+ -
当前位置:首页 → 问答吧 → 分享小弟自建的AUR源(x86_64)

分享小弟自建的AUR源(x86_64)

时间:2010-02-13

来源:互联网

因为常使用到AUR中的一些软件包,于是免不了常常makepkg。为了方便其他的朋友使用,特传到了服务器上,分享给大家使用。
主要的架构是x86_64,所含的软件以我目前正在使用的为主。
请在/etc/pacman.conf 中添加:
PHP 代码:
[dickeny]
Server = http://dickeny-pkgs.googlecode.com/files/ 
目前所包含的软件有:
PHP 代码:
$ date
2010年 04月 10日 星期六 10:11:45 CST
$ pacman -Sl dickeny
dickeny basket2-git 20100402-1
dickeny catalyst-nostock 10.4-333
dickeny chsdir 20090921-1
dickeny clifetion 76-1
dickeny extundelete 0.1.8-1
dickeny fcitx-svn 346-1
dickeny fcitx-utf8-svn 349-1
dickeny ffcast 20100228-1
dickeny gmchess 0.20-4
dickeny google-appengine 1.3.1-1
dickeny ipv6tunnel 20100124-1
dickeny kdeapps 201002-1
dickeny kdeapps-more 201002-1
dickeny kernel26-ice 2.6.33-4
dickeny kmymoney 3.96.1-2
dickeny kmymoney-svn 1111179-1
dickeny libpng12 1.2.40-1
dickeny linuxqq 1.0.2beta1-3
dickeny lrcshow-x 1.4.1-1
dickeny mac 3.99u4b5-4
dickeny man-pages-zh_cn 1.5.1-1
dickeny mentohust 0.3.1-2
dickeny microemulator 2.0.3-4
dickeny opera 10.10-2
dickeny opera-mini 4.2.13337-2
dickeny oxygen-molecule-theme 3.1-1
dickeny pacman-color 3.3.3-1
dickeny plymouth-git 20100224-1
dickeny plymouth-themes 20091019-1
dickeny python-pyfetion 76-1
dickeny qterm 0.5.8-1
dickeny rar 3.9.1-1
dickeny shntool 3.0.10-1
dickeny virtualbox_bin 3.1.2-2 
注:请不要使用本repo中的kernel26-ice包。这个是极度定制版,不是通用版。
不过我对AUR上的kernel26-ice添加了豹哥的中文UTF8补丁,方便console下显示中文。
有兴趣的可以下载src.tar.gz来看看:
http://code.google.com/p/dickeny-pkg...t?q=src.tar.gz
希望archlinux 越来越好!!

作者: dickeny   发布时间: 2010-02-13

支持一下 不错

作者: jiangkero   发布时间: 2010-02-13

原来AUR也能建源,支持

作者: princelai   发布时间: 2010-02-13

引用:
作者: princelai
原来AUR也能建源,支持
其实就是用了pacman包里的repo-add命令,将pkg.tar.gz文件的信息添加至db.tar.gz中。然后一起放在一个文件夹里——一个源就这么建立了。

这种招式来对付pacman -U时的提示“xxx和xxx冲突” 挺有用的,而且在本地硬盘上建源也是挺好玩的,建议试试。

作者: dickeny   发布时间: 2010-02-13

支持。。。。。

作者: inox   发布时间: 2010-02-13

必须支持,兄有空可参与一下archlinux.cn的建设。
详询鄙人或e6nian

作者: athurg   发布时间: 2010-02-15

能否把kernel26-ice的PKGBUILD贴出来给我参考一下,我加不上那个中文补丁

作者: cn2010   发布时间: 2010-02-16

引用:
作者: cn2010
能否把kernel26-ice的PKGBUILD贴出来给我参考一下,我加不上那个中文补丁
http://dickeny.com/archlinux/kernel2...-11.src.tar.gz

或者:
PHP 代码:
# Contributor: Giuseppe Calderaro <[email protected]>
# Contributor: (misc updates) Michael Evans <[email protected]>
# Contributor: (RT and misc) Ng Oon-Ee <ng oon ee AT gmail.com>

pkgext=-ice
pkgname=kernel26$pkgext
pkgver=2.6.32
pkgrel=11
pkgdesc="The Linux Kernel and modules with gentoo-sources patchset, tuxonice support, zh_utf8 patch and BFS support."
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.kernel.org"
backup=(boot/kconfig26$pkgext etc/mkinitcpio.d/${pkgname}.preset etc/mkinitcpio.d/${pkgname}-fallback.conf)
depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.15' 'kernel26-firmware>=2.6.32')
provides=('kernel26=2.6.32.8')
install=$pkgname.install

### User/Environment defined variables
bfs_scheduler=${bfs_scheduler:-1}
enable_fastboot=${enable_fastboot:-0}
keep_source_code=${keep_source_code:-0}
menuconfig=${menuconfig:-0}
realtime_patch=${realtime_patch:-0}
use_config_gz=${use_config_gz:-1}
enable_reiser4=${enable_reiser4:-1}
enable_zh_utf8=${enable_zh_utf8:-1}
###

### Files / Versions
file_kernel="linux-2.6.32.tar.bz2"
file_kernel_patch="patch-2.6.32.8.bz2"
file_rt="patch-2.6.31.12-rt20.bz2"
file_reiser4="reiser4-for-2.6.32.patch.bz2"
file_toi="tuxonice-3.0.99.48-for-2.6.32.patch.bz2"
file_bfs="2.6.32-sched-bfs-313.patch"
file_fastboot="Auke-Kok-s-patch-to-kernel-2.6.30.patch"
file_zh_utf8="utf8-kernel-2.6.32-core-1.patch.bz2 utf8-kernel-2.6-fonts-2.patch.bz2"
md5s_zh_utf8="f37649ebde983a9aea20ac881ed9f0e7 b7f8561498606f6e1d730bbd1ca699ab"
###

source=(http://kernel.org/pub/linux/kernel/v2.6/${file_kernel}
    http://www.kernel.org/pub/linux/kernel/v2.6/${file_kernel_patch}
    http://www.kernel.org/pub/linux/kernel/projects/rt/${file_rt}
    http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.32/4200_fbcondecor-0.9.6.patch
    http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.32/4400_alpha-sysctl-uac.patch
    http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/${file_reiser4}
    http://www.tuxonice.net/downloads/all/${file_toi}
    http://ck.kolivas.org/patches/bfs/${file_bfs}
    ${file_fastboot}
    config
    config.x86_64
    $pkgname.preset
    ${file_zh_utf8}
    mkinitcpio-$pkgname.conf)

md5sums=('260551284ac224c3a43c4adac7df4879'
         'eabf01da4c72f7ea5b4e4bf8e8535e5f'
         'b23b4e242bf1a4626cf2ce972c0b6fbd'
         '6906c45acbaf073915fe24ec2632130b'
         '21562518ab45d8be9c67d316aef9399f'
         '3246397973d9271eb8e6d7c97c5d2d91'
         'b0e13852faf656a52eef2e1ff44e709e'
         '8741e030cb6242cb42e061b127407875'
         '5bd5c60b7e7664e8794279e99cafd185'
         '059817957023637030aaac986f71cece'
         'cbdcf252fbb542c269ea60406a26cfea'
         '541973d72e24a2def82d33884a781ee1'
         ${md5s_zh_utf8}
         '07dc6997d19340b654f92c1d6a120cc0')

build() {
    [ "${CARCH}" = "i686" ]   && KARCH=x86
    [ "${CARCH}" = "x86_64" ] && KARCH=x86

    cd $startdir/src/linux-$pkgver

    # Applying official patch
    if [ -n "${file_kernel_patch%.bz2}" ] ; then
        echo "Applying ${file_kernel_patch%.bz2}"
        patch -Np1 -i $startdir/src/${file_kernel_patch%.bz2} || return 1
    fi

    # Applying zh_utf8 patch
    if [ "$enable_zh_utf8" = "1" ]; then
       echo "Applying zh utf8 patch"
       for f in ${file_zh_utf8}; do
         patch -Np1 -i "${srcdir}/${f%.bz2}" || return 1
       done
    fi

    # Applying realtime patch
    if [ "$realtime_patch" = "1" ]; then
       echo "Applying real time patch"
       # Strip './Makefile' changes
       bzip2 -dkc $startdir/src/${file_rt} 
         | sed '/diff --git a\/Makefile b\/Makefile/,/*DOCUMENTATION*/d' 
         | patch -Np1 || return 1
    fi

    if [ "$realtime_patch" = "0" ]; then
      # Applying base and extra gentoo patches
      for i in $(ls $startdir/src/[1-9][0-9][0-9][0-9]*); do
        echo "Applying $i"
        patch -Np1 -i $i || return 1
      done
    else
      # Applying only those specific patches which work with RT patchset
      for i in $(ls $startdir/src/{1900,2700,4100,4400}*); do
        echo "Applying $i"
        patch -Np1 -i $i || return 1
      done
    fi

    # applying reiserfs4 patch
    if [ "$enable_reiser4" = "1" ]; then
        echo "Applying ${file_reiser4%.gz}"
        bzip2 -dc $startdir/src/${file_reiser4} | patch -Np1 || return 1
    fi

    # applying tuxonice patch
    echo "Applying ${file_toi%.bz2}"
    # fix to tuxonice patch to work with rt
    if [ "$realtime_patch" = "1" ]; then
       bzip2 -dck $startdir/src/${file_toi} 
         | sed '/diff --git a\/kernel\/fork.c b\/kernel\/fork.c/,/{/d' 
         | patch -Np1 || return 1
    else
       bzip2 -dck $startdir/src/${file_toi} | patch -Np1 || return 1
    fi

    if [ "$enable_fastboot" = "1" ]; then
       # applying fastboot patch
       echo "Applying fastboot (${file_fastboot})"
       patch -Np1 -i $startdir/src/${file_fastboot} || return 1
    fi

    if [ "$bfs_scheduler" = "1" ]; then
       # applying BFS scheduler patch
       echo "Applying BFS scheduler patch"
       ## Delete the Makefile changes that break patching.
       sed '/Index: linux-2.6.32-ck1\/Makefile/,/To see a list of typical targets execute "make help"/d' 
         $startdir/src/${file_bfs} | patch -Np1 || return 1
    fi

    # remove extraversion
    sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile

    # load configuration for i686 or x86_64
    if [ "$CARCH" = "x86_64" ]; then
    cat ../config.x86_64 > ./.config
    else
    cat ../config > ./.config
    fi

    # use existing config.gz
    if [ "$use_config_gz" = "1" ]; then
      zcat /proc/config.gz > ./.config
      make oldconfig
    fi

    # hack to prevent output kernel from being marked as dirty or git
    sed 's/head=`git rev-parse --verify --short HEAD 2>\/dev\/null`/0/' 
      $srcdir/linux-$pkgver/scripts/setlocalversion 
      > $srcdir/linux-$pkgver/scripts/setlocalversion

    # get kernel version
    make prepare
    _kernver="$(make kernelrelease)"

    # configure kernel
    if [ "$menuconfig" = "1" ]; then
      make menuconfig
    fi
    yes "" | make config

    # get kernel version if it has been changed in make config
    # Is this the best way to do it? Should make config just run before make prepare?
    #      - ngoonee
    make prepare
    _kernver="$(make kernelrelease)"

    if [ "$keep_source_code" = "1" ]; then
    echo -n "Copying source code..."
    # Keep the source code
    cd $startdir || return 1
    mkdir -p $startdir/pkg/usr/src || return 1
    cp -a $startdir/src/linux-$pkgver $startdir/pkg/usr/src/linux-$_kernver || return 1

    #Add a link from the modules directory
    mkdir -p $startdir/pkg/lib/modules/$_kernver || return 1
    cd $startdir/pkg/lib/modules/$_kernver || return 1
    rm -f source
    ln -s ../../../usr/src/linux-$_kernver source || return 1
    echo "OK"
    fi

    cd $startdir/src/linux-$pkgver
    # build kernel
    make bzImage modules || return 1
    mkdir -p $startdir/pkg/{lib/modules,boot}
    make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
    install -D -m644 System.map $startdir/pkg/boot/System.map26$pkgext
    install -D -m644 arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26$pkgext
    install -D -m644 Makefile $startdir/pkg/usr/src/linux-$_kernver/Makefile
    install -D -m644 kernel/Makefile $startdir/pkg/usr/src/linux-$_kernver/kernel/Makefile
    install -D -m644 .config $startdir/pkg/usr/src/linux-$_kernver/.config
    install -D -m644 .config $startdir/pkg/boot/kconfig26$pkgext
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/include

    for i in acpi asm-{generic,$KARCH} config linux math-emu media net pcmcia scsi sound trace video; do
    cp -a include/$i $startdir/pkg/usr/src/linux-$_kernver/include/
    done

    # copy arch includes for external modules
    mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
    cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/

    # copy files necessary for later builds, like nvidia and vmware
    cp Module.symvers $startdir/pkg/usr/src/linux-$_kernver
    cp -a scripts $startdir/pkg/usr/src/linux-$_kernver

    # fix permissions on scripts dir
    chmod og-w -R $startdir/pkg/usr/src/linux-$_kernver/scripts

    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/kernel

    cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/
    if [ "${CARCH}" = "i686" ]; then
    cp arch/$KARCH/Makefile_32.cpu $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/
    fi
    cp arch/$KARCH/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/kernel/

    # add headers for lirc package
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video
    cp drivers/media/video/*.h  $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/
    for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301
    do
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/$i
    cp -a drivers/media/video/$i/*.h $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/$i
    done

    # add dm headers
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/md
    cp drivers/md/*.h  $startdir/pkg/usr/src/linux-$_kernver/drivers/md

    # add inotify.h
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/include/linux
    cp include/linux/inotify.h $startdir/pkg/usr/src/linux-$_kernver/include/linux/

    # add CLUSTERIP file for iptables
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/net/ipv4/netfilter/
    cp net/ipv4/netfilter/ipt_CLUSTERIP.c $startdir/pkg/usr/src/linux-$_kernver/net/ipv4/netfilter/

    # add wireless headers
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/net/mac80211/
    cp net/mac80211/*.h $startdir/pkg/usr/src/linux-$_kernver/net/mac80211/

    # add xfs and shmem for aufs building
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/fs/xfs
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/mm
    cp fs/xfs/xfs_sb.h $startdir/pkg/usr/src/linux-$_kernver/fs/xfs/xfs_sb.h
    cp mm/shmem.c $startdir/pkg/usr/src/linux-$_kernver/mm/shmem.c

    # add vmlinux
    cp vmlinux $startdir/pkg/usr/src/linux-$_kernver

    # copy in Kconfig files
    for i in $(find . -name "Kconfig*")
    do
    mkdir -p $startdir/pkg/usr/src/linux-$_kernver/$(echo $i | sed 's|/Kconfig.*||')
    cp $i $startdir/pkg/usr/src/linux-$_kernver/$i
    done

    cd $startdir/pkg/usr/src/linux-$_kernver/include && ln -s asm-$KARCH asm

    chown -R root.root $startdir/pkg/usr/src/linux-$_kernver
    find $startdir/pkg/usr/src/linux-$_kernver -type d -exec chmod 755 {} \;
    cd $startdir/pkg/lib/modules/$_kernver && (rm -f source build; ln -sf ../../../usr/src/linux-$_kernver build)

    # install fallback mkinitcpio.conf file and preset file for kernel
    install -m644 -D $startdir/src/$pkgname.preset $startdir/pkg/etc/mkinitcpio.d/$pkgname.preset || return 1
    install -m644 -D $startdir/src/mkinitcpio-$pkgname.conf $startdir/pkg/etc/mkinitcpio.d/$pkgname-fallback.conf || return 1

    # set correct depmod command for install
    sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/$pkgname.install
    echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > $startdir/pkg/etc/mkinitcpio.d/$pkgname.kver

    if [ "$keep_source_code" = "0" ]; then
    # remove unneeded architectures
    rm -rf $startdir/pkg/usr/src/linux-$_kernver/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
    fi

    # Delete firmware directory
    rm -rf ${pkgdir}/lib/firmware

作者: dickeny   发布时间: 2010-02-16

非常感谢楼主,再问一个问题,打好安装中文补丁内核 后,需不需要其它的设置,语言需要设置?如果要,如何设置?

作者: cn2010   发布时间: 2010-02-16

引用:
作者: cn2010
非常感谢楼主,再问一个问题,打好安装中文补丁内核 后,需不需要其它的设置,语言需要设置?如果要,如何设置?
一般我设置LANGUAGE="zh_CN.UTF-8"。这样,应用程序(如df)就会显示中文的locale了。

此外,我也会同时设置LC_ALL="zh_CN.UTF-8"。一切皆用中文。

作者: dickeny   发布时间: 2010-02-18

还要什么中文补丁,原来的内核不行么?

作者: ch_fb   发布时间: 2010-02-23

原来的内核kernek26无法在纯命令行下显示中文的。只显示一堆问号。所以才需要这个补丁

作者: dickeny   发布时间: 2010-02-23

这是二进制包嘛,怎么能说是AUR呢

作者: tocai   发布时间: 2010-03-03

http://gnu.xinqing100.net/archlinux/

用官方wiki上的脚本跑的heanet的完整源。
现在cron job有点问题,不能自动执行,主要是给自己局域网内用呵呵。
应该教育网和网通能有不错的速度。

作者: shierji   发布时间: 2010-03-05

不错 。

作者: sokoo   发布时间: 2010-04-22

热门下载

更多