Installation GNUOctave:从目录而不是tarball构建包

Installation GNUOctave:从目录而不是tarball构建包,installation,octave,packages,Installation,Octave,Packages,我目前正在开发一个作为GNU倍频程包的库接口。通常GNU倍频程中的软件包是通过 pkg install tarball_of_the_package.tar.gz 但是压缩每个测试的包或多或少都会耗费时间。现在我的问题是,是否可以从一个目录调用pkg安装机制,该目录具有类似tarball中的有效包结构?运行 pkg install . 从该目录内部产生一个错误: unpack: FILETYPE must be "gunzip" for a directory 甚至将整个路径指定为 p

我目前正在开发一个作为GNU倍频程包的库接口。通常GNU倍频程中的软件包是通过

pkg install tarball_of_the_package.tar.gz 
但是压缩每个测试的包或多或少都会耗费时间。现在我的问题是,是否可以从一个目录调用
pkg安装
机制,该目录具有类似tarball中的有效包结构?运行

pkg install . 
从该目录内部产生一个错误:

unpack: FILETYPE must be "gunzip" for a directory
甚至将整个路径指定为

pkg install /path/to/the/package/source 
导致了同样的问题


目前,我正在使用GNUOctave4.0.0进行开发

大多数软件包在软件包的根目录下都有一个
Makefile
,它的目标是
install
,可以为您处理这个问题。例如,请参见允许您执行以下操作的示例:

$ hg clone http://hg.code.sf.net/p/octave/statistics
destination directory: statistics
requesting all changes
adding changesets
adding manifests
adding file changes
added 401 changesets with 996 changes to 172 files
updating to branch default
133 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd statistics/
$ make install
Creating package version 1.2.4 release ...
rm -rf "statistics-1.2.4"
hg archive --exclude ".hg*" --exclude "Makefile" --type files "statistics-1.2.4"
chmod -R a+rX,u+w,go-w "statistics-1.2.4"
tar cf - --posix "statistics-1.2.4" | gzip -9n > "statistics-1.2.4.tar.gz"
Installing package locally ...
octave --silent --eval 'pkg ("install", "statistics-1.2.4.tar.gz")'
For information about changes from previous versions of the statistics package, run 'news statistics'.

当然,没有什么可以阻止您从Octave会话本身调用
makeinstall
。统计数据包示例更好,因为它只有m个文件。如果你的软件包也有代码需要编译,那么镜像软件包就有一个更复杂的,但不是很复杂。

有趣的是,Debian人使用
pkg安装的方式。
将octave forge软件打包到一个deb包中,我在octave内部找不到任何差异或补丁来实现这一点。