Gentoo ebuild 以及安装步骤

出自WPS For Linux

跳转到: 导航, 搜索

目录

安装说明

按照下面的方法利用wps的deb包在系统中创建wps的ebuild 和 LICENSE 文件,在 package.accept_keywords 中接受 app-office/wps-office 的 ~KEYWORD 关键字,根据你的许可证设置可以选择在 package.license 中接受 WPS 的许可协议。最后 emerge wps-office 即可。 由于目前已发布的wps不同版本的命名规则有差异,我们下面用一个脚本来生成ebuild。

gentoo-zh overlay

# layman -f -a gentoo-zh
# echo "app-office/wps-office **" >> /etc/portage/package.keywords
# echo "app-office/wps-office WPS-EULA" >> /etc/portage/package.license
# emerge -av wps-office

创建本地overlay

没有创建 local overlay 的朋友请先按 Creating a Local Overlay with Portage 创建 local overlay。overlay新手指南 Gentoo Overlays: Users' Guide

这里假设您创建的local overlay位于/var/lib/layman/local/,source保存目录为/usr/portage/distfiles。将下载的deb包,放到/usr/portage/distfiles。

mkwpsEbuild 脚本

#!/bin/sh

NAME=wps-office
DEBDIR=${DEBDIR:-"/usr/portage/distfiles/"}
OVLDIR=${OVLDIR:-"/var/lib/layman/local/"}

mkdir -p ${OVLDIR}/app-office/$NAME
for FILE in $(/bin/ls $DEBDIR/wps-office*.deb)
do
  TMPVER=$(ar p $FILE control.tar.gz 2> /dev/null | tar zxO ./control 2> /dev/null | grep Version | awk '{print $2}')

  VERSION=$(echo $TMPVER | cut -d~ -f 1 | cut -d+ -f 1)
  TMPTESTVER=$(echo $TMPVER | cut -d~ -f 2)
  declare -i LEN=$(echo $TMPTESTVER | wc -m )-1

  if [ $LEN -gt 3 ]; then
    FIRST=${TMPTESTVER%[p][0-9]}
    SECOND=${TMPTESTVER#[ab][0-9]}
  else 
    FIRST=${TMPTESTVER}
  fi

  if [ ${FIRST:0:1} == a ];then
    TESTVER=${FIRST/a/alpha}${SECOND:+_$SECOND}
  elif [ ${FIRST:0:1} == b ];then
    TESTVER=${FIRST/b/beta}${SECOND:+_$SECOND}
  fi

  # creat ebuild script
  echo 'Creating '$NAME'-'$VERSION'_'$TESTVER'.ebuild ...'
  cat >$OVLDIR/app-office/$NAME/$NAME'-'$VERSION'_'$TESTVER.ebuild <<EOF
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# \$Header: $

EAPI="4"

inherit fdo-mime font unpacker versionator

DESCRIPTION="Kingsoft Office is an office productivity suite by Kingsoft. This software is of alpha quality, and may be unstable at times. Use at own risk."
HOMEPAGE="http://www.wps.cn"
SRC_URI="$FILE"

LICENSE="WPS-EULA"
SLOT="alpha"
KEYWORDS="~amd64 ~x86"
IUSE="+corefonts"

RDEPEND="
        x86? (
                app-arch/bzip2
                dev-libs/expat
                dev-libs/libffi
                dev-libs/glib:2
                x11-libs/libICE
                x11-libs/libX11
                x11-libs/libXau
                x11-libs/libxcb
                x11-libs/libXdmcp
                x11-libs/libXrender
                x11-libs/libXext
                x11-libs/libSM
                media-libs/fontconfig:1.0
                media-libs/freetype:2
                media-libs/libmng
                sys-libs/glibc:2.2
                sys-libs/e2fsprogs-libs
                sys-libs/zlib
                sys-devel/gcc
        )
        amd64? (
                app-emulation/emul-linux-x86-baselibs
                app-emulation/emul-linux-x86-xlibs
                app-emulation/emul-linux-x86-compat
                sys-devel/gcc[multilib]
                sys-libs/glibc[multilib]
        )
        corefonts? ( media-fonts/corefonts )
        media-libs/libpng:1.2
        net-nds/openldap"
DEPEND="\${RDEPEND}
        sys-devel/binutils"

S=\${WORKDIR}

src_install() {
        exeinto /usr/bin
        exeopts -m0755
        doexe \${S}/usr/bin/wps
        doexe \${S}/usr/bin/wpp
        doexe \${S}/usr/bin/et

        insinto /usr
        doins -r \${S}/usr/share

        insinto /
        doins -r \${S}/opt
        fperms 0755 /opt/kingsoft/wps-office/office6/wps
        fperms 0755 /opt/kingsoft/wps-office/office6/wpp
        fperms 0755 /opt/kingsoft/wps-office/office6/et
}

pkg_postinst() {
        font_pkg_postinst
        fdo-mime_desktop_database_update
        fdo-mime_mime_database_update
}

pkg_postrm() {
        fdo-mime_desktop_database_update
}
EOF

  ebuild $OVLDIR/app-office/$NAME/$NAME'-'$VERSION'_'$TESTVER.ebuild manifest
  unset FILE
  unset TMPVER
  unset VERSION
  unset TMPTESTVER
  unset LEN
  unset FIRST
  unset SECOND
  unset TESTVER
 
done

将以上代码存为 mkwpsEbuild,执行:

   # sh mkwpsEbuild

也可以指定您自己的overlay目录和distfiles目录:

   # DEBDIR=/your/path/to/distfiles OVLDIR=/your/path/to/overlay sh mkwpsEbuild

它将自动检测在distfiles目录下的wps-office deb包,然后为每个版本的deb包创建一个ebuild到本地overlay的app-office/wps-office/目录。

LICENSE 文件

WPS Office Linux版最终用户协议

测试包的安装与运行

开始安装:

   # emerge -av wps-office

运行:

   $ wpp
   $ wps
   $ et

测试环境

Gentoo amd64 的 KDE、openbox、awesome、Xfce4,Gentoo x86 的 KDE 和 GNOME 3 中测试均没问题。

Xfce4 应用程序菜单里安装的启动器没有图标。

个人工具