在PKGBUILD中使用svn时遇到make error的问题

其他Linux/Unix/BSD/OSX等发行版讨论
回复
janus
帖子: 156
注册时间: 2006-01-02 3:15

在PKGBUILD中使用svn时遇到make error的问题

#1

帖子 janus » 2013-05-06 16:47

我想使用AUR系统来编译一个开发版的R,所以使用了以下PKGBUILD文件:

代码: 全选

pkgname=r
_svnmod=r
pkgver=62717
pkgrel=1
pkgdesc="R is a language and environment for statistical computing and graphics"
arch=('i686' 'x86_64')
license=('GPL')
url=('http://www.r-project.org/')
depends=('blas' 'lapack' 'bzip2'  'libpng' 'libjpeg' 'libtiff'
         'ncurses' 'pcre' 'readline' 'zlib' 'perl' 'gcc-libs'
         'tk' 'libxt' 'libxmu' 'pango')
makedepends=('subversion' 'jre7-openjdk')
options=('!makeflags')
conflicts=('r')
provides=('r')

source=('r::svn+https://svn.r-project.org/R/trunk/')
md5sums=('SKIP')

pkgver() {
	cd "$SRCDEST/$_svnmod"
	svnversion
}

build() {
   cd "$srcdir/$_svnmod" 
    
   ./configure  --prefix=/usr \
 		 --libdir=/usr/lib \
 		 --datarootdir=/usr/share \
		 rsharedir=/usr/share/R/ \
		 rincludedir=/usr/include/R/ \
		 rdocdir=/usr/share/R/docs/ \
		 --enable-memory-profiling \
		 --with-readline \
		 --with-x \
		 --with-system-zlib \
		 --with-system-bzlib  \
		 --with-system-pcre \
		 --enable-R-shlib \
		 --with-lapack \
		 --with-blas \
		 --without-recommended-packages \
		 F77=gfortran \
		 LIBnn=lib

	 make
}

package() {
	cd "$srcdir/$_svnmod"
	make -j1 DESTDIR=${pkgdir} install
	#  Fixup R wrapper scripts.
	sed -i "s|${pkgdir} ||" ${pkgdir}/usr/bin/R
	rm ${pkgdir}/usr/lib/R/bin/R
	cd ${pkgdir}/usr/lib/R/bin
	ln -s ../../../bin/R
	
	# install some freedesktop.org compatibility
	install -Dm644 ${startdir}/r.desktop \
		${pkgdir}/usr/share/applications/r.desktop || return 1
	install -Dm644 ${startdir}/r.png \
		${pkgdir}/usr/share/pixmaps/r.png || return 1
}
执行makepkg -s之后遇到了一个make error显示为:

代码: 全选


make[1]: 进入目录“/home/lianpeng/Downloads/ABS/local/r/src/r/doc/manual”
creating RESOURCES
creating FAQ
creating doc/html/resources.html
make[1]: 离开目录“/home/lianpeng/Downloads/ABS/local/r/src/r/doc/manual”
ERROR: not an svn checkout
make: *** [svnonly] 错误 1
==> 错误: 在 build() 中发生一个错误。
    正在放弃...

看起来好像是说某个文件或者文件夹不是svn检出的版本,而导致make错误。我查找了AUR相关的wiki页面,发现了一个VCS PKGBUILD Guidelines https://wiki.archlinux.org/index.php/VC ... Guidelines的页面,里边说:The copy in $srcdir is made using svn export which does not create working copies. Any svn related command has to be used in the local repo in $SRCDEST. 所以, 我直接把cd "$srcdir/$_svnmod" 改为cd "$SRCDEST/$_svnmod",这样错误就消失了,但是svn 创建的本地仓库也被configure和make过程改变了。

不知道有人遇到过这类问题没有,有什么解决方法?谢谢!
回复