archlinux pkgbuild pacman 笔记

# 查看软件包信息
pacman -Qi 软件包名称      
# 列出软件包的文件
pacman -Ql 软件包名称
# 查看某一文件属于哪个软件包
pacman -Qo 文件名


# 只删除软件包,不删除该软件包的依赖
pacman -R 软件包名称
# 删除软件包的同时,也将删除其依赖
pacman -Rs 软件包名称
# 删除软件包、依赖关系、配置文件
pacman -Rsn 软件包名称  
# 删除包时不检查依赖
pacman -Rd 软件包名称  

yaourt -S package_name - 从AUR安装软件包
yaourt -Ss password - 使用关键字搜索软件包
yaourt -Syu --aur - 从AUR升级本地软件数据库并安装更新
yaourt -Si package_name - 列出软件包信息
yaourt -Sc - 从缓存中清楚旧的软件包
yaourt -Su - 安装AUR中的更新软件包
yaourt -Sy - 获取最新的AUR软件包数据库
yaourt -Cd - 清楚AUR软件包数据库
yaourt -R package_name - 删除软件包

#http://wiki.archlinux.org/index.php/Arch_%E5%AE%89%E8%A3%85%E5%8C%85%E5%88%B6%E4%BD%9C%E6%8C%87%E5%8D%97_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29
#Arch_安装包制作指南_(简体中文
#http://wiki.archlinux.org/index.php/Arch_CVS_&_SVN_PKGBUILD_%E7%BC%96%E5%86%99%E6%8C%87%E5%8D%97_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29
#Arch CVS & SVN PKGBUILD 编写指南 (简体中文)

#http://www.mike.org.cn/blog/index.php?load=read&id=644 yaourt 文档
#http://linuxtoy.org/docs/guide/ch31s09.html linuxtoy 上的文档
#http://linuxtoy.org/archives/archlinux-guide.html 打造完美的 Linux 桌面 Archlinux 2007.08-2 (电子版)
#yaourt  操作时使用 /tmp 目录作为临时目录操作,可以通过 /etc/yaourtrc 来修改
#变量说明
${pkgname}
${srcdir}
${startdir}
${pkgdir}


_gitroot="git://repo.or.cz/cmus.git"
_gitname="cmus"
msg "输出信息"

makedepends=('git' 'patch')
options=(docs !strip)
depends=("qoauth" "qt>=4.5.0") #可以使用 >= 表示版本号的范围
provides=('lib32-libgl' 'lib32-nvidia-utils')

pkgrel=1 #修订版本号
build() {
cd $srcdir/${pkgname}-${pkgver}
qmake PREFIX=/usr  #默认的前缀
make || return 1
make INSTALL_ROOT=$pkgdir install || return 1
#make DESTDIR="${pkgdir}" install || return 1
}

#冲突的版本
conflicts=('lib32-libgl' 'lib32-ati-fglrx-utils' 'lib32-nvidia-utils' 'lib32-nvidia-utils-beta')
#

#安装的
install -d -m644 /usr/share/${pkgname}/
install -D -m755 ${pkgname} /usr/share/${pkgname}/
find $startdir/pkg_temp/usr -type d -exec chmod 755 {} \;

#http://wiki.archlinux.org/index.php/Arch_%E5%AE%89%E8%A3%85%E5%8C%85%E5%88%B6%E4%BD%9C%E6%8C%87%E5%8D%97
1.
pacman -Up <package file>
示例: /usr/share/pacman/PKGBUILD.proto
/usr/share/pacman/

2. pkgrel, 从1开始, 每次新发布加一, 新版本发布回到1
3. md5sums 可以通过makepkg -g >>PKGBUILD 添加到文件末尾
4. build() 函数
${pkgver//_/-}  替换所有的 _ 为- , 因为arch规定pkgver不能有-

5.
install=${pkgname}.install

# 本文件是post-install脚本范例。
# 使用的时候,将您要使用的函数取消注释,其他内容可以删除掉

#pre_install() {
# 安装前执行的函数;参数arg 1代表新版本号
#}

#post_install() {
# 安装后执行的函数;参数arg 1代表新版本号
#}

#pre_upgrade() {
# 升级前执行的函数;参数arg 1代表新版本号,参数arg 2代表旧版本号
#}

#post_upgrade() {
# 升级后执行的函数;参数arg 1代表新版本号,参数arg 2代表旧版本号
#}

#pre_remove() {
# 卸载前执行的函数;参数arg 1代表旧版本号
#}

#post_remove() {
# 卸载后执行的函数;参数arg 1代表旧版本号
#}

6. 测试PKGBUILD
pacman -Qlp <package file>
pacman -Qip <package file>

7. 本地文件
source=(myfilea
myfileb)

8.
makepkg -p
make DESTDIR=${pkgdir} install
make prefix=${pkgdir}/usr install
cd $startdir/src/$pkgname-pkgver
cd $srcdir
./configure --prefix=/usr
make || return 1
make prefix=$pkgdir/usr install

你可能感兴趣的:(#学习笔记类)