如何编写一个简单的推导来打包 nix 程序以及如何创建 PR 将其包含在 nixpkgs 中?
(我写这篇文章是因为我找不到简单的解释)
考虑这个简单的 debian 软件包:wolframscript.deb(要检查,您必须单击 Linux 的下载链接)。解压后,文件结构如下:
\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 opt\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Wolfram\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 WolframScript\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wolframscript\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 usr\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 local\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 share\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 man\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 man1\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wolframscript.1\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 share\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 icons\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 hicolor\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 128x128\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mimetypes\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application-vnd.wolfram.wls.png\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 32x32\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mimetypes\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application-vnd.wolfram.wls.png\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 64x64\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mimetypes\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application-vnd.wolfram.wls.png\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mime\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 packages\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application-vnd.wolfram.wls.xml\n
Run Code Online (Sandbox Code Playgroud)\n\n唯一相关的文件是opt/Wolfram/WolframScript/bin/wolframscript …
所以我知道我可以将 she-bangs 更改为,#!/usr/bin/env bash
并且我将为我的脚本执行此操作,但实际上我希望能够使用#!/bin/bash
she-bang 运行许多脚本。有时很容易更改,有时则不然,因为脚本是由其他东西运行的,而不是由您直接运行,并且它位于您真正不想触及的地方。
我可以在系统配置中启用一些选项来获取链接/bin/bash
,还有什么原因我不应该这样做,为什么这不是标准?(请不要告诉我有关滑坡的事情,/bin/bash
这可能是对 Unix 系统最常见的假设之一)