grunt rpm创建一个符号链接

时间:2018-04-12 17:26:59

标签: gruntjs symlink rpm rpmbuild

我有这个为我创建rpm包的grunt文件,如何创建这样的符号链接作为示例:

  

link(" / usr / local / bin / tams-cli"," /opt/tams-cli/tams-cli.js")

无法找到,下面是我的源代码。

grunt.initConfig({
    pkg: grunt.file.readJSON('./package.json'),
    easy_rpm: {
      options: {
        buildArch,
        rpmDestination: './built/',
      },
      release: {
        files: [
          {
            src: ['node_modules/**/*',
              'js/**/*',
              'cfg/*',
              'package.json',
              'readme.md',
            ],
            dest: '/opt/tams-cli',
          },
          {
            src: 'tams-cli.js',
            dest: '/opt/tams-cli',
            mode: 0550,
          }
        ],
        excludeFiles: [
          'tmp-*',
          './built',
        ],
      },
    },

1 个答案:

答案 0 :(得分:1)

要在安装rpm软件包后创建符号链接,请使用easy_rpm任务中的postInstallScript选项。 postInstallScript的描述为:

  

<强> postInstallScript

     

Array<String>

     

安装后要执行的命令数组。数组中的每个元素代表一个命令。

在下面的Gruntfile.js摘录中,它使用ln命令使用另外两个选项创建符号链接:

  • -s制作符号链接而非硬链接。
  • -f删除现有目标文件(如果已存在)。

<强> Gruntfile.js

grunt.initConfig({
  // ...
  easy_rpm: {
    options: {
      postInstallScript: ['ln -s -f /opt/tams-cli/tams-cli.js /usr/local/bin/tams-cli'],
      // ..
    },
    // ...
  },
  // ...
});