Arch安装墨刀(产品原型工具)

Arch通过aur安装墨刀的时候报错,查看PKGBUILD发现下载地址错误("https://s3.cn-north-1.amazonaws.com.cn/modao/download" 已改为 "https://s3.cn-north-1.amazonaws.com.cn/modao/linux")
于是更正下载地址后再次提交构建,又发现一个错误:当前的 MockingBot_amd64.deb 无法由tar解包
那就把它改成手动解压吧:把deb包加入noextract列表,在package()里面使用ar p MockingBot_amd64.deb data.tar.xz > data.tar.xz手动解压出来 data.tar.xz ,
再次构建。。。
然而使用ar解压的时候又报错:deb包畸形,
考虑到md5校验的部分跳过了,可能是下载的时候出错,所以干脆手工把压缩包下载下来放到/tmp,
并修改相应的 deb包 和 data.tar.xz 的路径,再次构建成功。

最后的PKGBUILD文件如下:

# Maintainer: levinit <levinit at outlook>

pkgname=mockingbot
pkgver=0.6.9
pkgrel=1
pkgdesc="A prototyping & collaboration tool.墨刀/modao/MockingBot"
arch=('i686' 'x86_64')
url="https://mockingbot.com/downloads"
license=('custom')
depends=('gconf')

source_common="https://s3.cn-north-1.amazonaws.com.cn/modao/linux"
source_x86_64=("$source_common/MockingBot_amd64.deb")
source_i686=("$source_common/MockingBot_i386.deb")
md5sums_x86_64=('SKIP')
md5sums_i686=('SKIP')

#pkgver() {
#    
#}

noextract=("MockingBot_amd64.deb")
package() {
    ar p /tmp/MockingBot_amd64.deb data.tar.xz > /tmp/data.tar.xz
    tar -xvJf /tmp/data.tar.xz -C ${pkgdir}

    cp -r ${pkgdir}/usr/bin/MockingBot ${pkgdir}/usr/bin/mockingbot

    #edit app's desktop file
    sed -i 's/Exec=MockingBot/Exec=mockingbot/' ${pkgdir}/usr/share/applications/MockingBot.desktop
    sed -i 's/Comment=MockingBot/Comment=Prototyping design tool/' ${pkgdir}/usr/share/applications/MockingBot.desktop
    sed -i 's/Categories=utils;/Categories=Graphics;/' ${pkgdir}/usr/share/applications/MockingBot.desktop
    echo -e '
Name[zh_CN]=墨刀
Name[zh_TW]=墨刀
Name[zh_HK]=墨刀
Name[zh_SG]=墨刀
Comment[zh_CN]=原型设计工具
Comment[zh_TW]=原型設計工具
Comment[zh_HK]=原型設計工具
Comment[zh_SG]=原型设计工具' >> ${pkgdir}/usr/share/applications/MockingBot.desktop

    chmod -R go-w "${pkgdir}"/usr
    install -dm755 "${pkgdir}/usr/bin"
}

https://wiki.archlinux.org/index.php/Creating_packages_(简体中文)
https://unix.stackexchange.com/questions/152368/create-pkgbuild-from-deb

原文地址:https://www.cnblogs.com/dylanchu/p/9917862.html