mirror of
https://github.com/saltstack-formulas/packages-formula.git
synced 2025-04-16 09:40:23 +00:00
feat(golang): add go package management
This commit is contained in:
parent
8941b20835
commit
284b240c33
9 changed files with 69 additions and 4 deletions
10
README.rst
10
README.rst
|
@ -176,6 +176,16 @@ You can specify:
|
||||||
|
|
||||||
Centos has no native ``snapd`` package at this time.
|
Centos has no native ``snapd`` package at this time.
|
||||||
|
|
||||||
|
|
||||||
|
``packages.golang``
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
You can specify:
|
||||||
|
|
||||||
|
* ``clean`` golang packages, removed using ``go clean -i <item>...``.
|
||||||
|
* ``goget`` golang packages, installed using ``go get``.
|
||||||
|
|
||||||
|
|
||||||
``packages.remote_pkgs``
|
``packages.remote_pkgs``
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ packages-archive-wanted-target-{{ package }}-directory:
|
||||||
{%- if packages.tmpdir != '/tmp' %}
|
{%- if packages.tmpdir != '/tmp' %}
|
||||||
- {{ packages.tmpdir }}
|
- {{ packages.tmpdir }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- user: {{ 'root' if 'user' not in archive else archive.user }}
|
- user: {{ packages.rootuser if 'user' not in archive else archive.user }}
|
||||||
- mode: {{ '0755' if 'mode' not in archive else archive.mode }}
|
- mode: {{ '0755' if 'mode' not in archive else archive.mode }}
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
- require_in:
|
- require_in:
|
||||||
|
@ -85,7 +85,7 @@ packages-archive-wanted-download-{{ package }}:
|
||||||
- name: {{ archive.dest }}/{{ archivename }}
|
- name: {{ archive.dest }}/{{ archivename }}
|
||||||
- source: {{ archive.dl.source }}
|
- source: {{ archive.dl.source }}
|
||||||
- mode: {{ '0755' if archive.dl.format in ('bin',) else '0644' if 'mode' not in archive else archive.mode }}
|
- mode: {{ '0755' if archive.dl.format in ('bin',) else '0644' if 'mode' not in archive else archive.mode }}
|
||||||
- user: {{ 'root' if 'user' not in archive else archive.user }}
|
- user: {{ packages.rootuser if 'user' not in archive else archive.user }}
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
{%- if 'hashsum' in archive.dl and archive.dl.hashsum %}
|
{%- if 'hashsum' in archive.dl and archive.dl.hashsum %}
|
||||||
- source_hash: {{ archive.dl.hashsum }}
|
- source_hash: {{ archive.dl.hashsum }}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
packages:
|
packages:
|
||||||
tmpdir: /tmp/saltstack-packages-formula-archives
|
tmpdir: /tmp/saltstack-packages-formula-archives
|
||||||
|
rootuser: root
|
||||||
remote_pkgs: {}
|
remote_pkgs: {}
|
||||||
pkgs:
|
pkgs:
|
||||||
held: {}
|
held: {}
|
||||||
|
@ -40,6 +41,9 @@ packages:
|
||||||
required:
|
required:
|
||||||
states: []
|
states: []
|
||||||
pkgs: []
|
pkgs: []
|
||||||
|
golang:
|
||||||
|
goget: []
|
||||||
|
clean: []
|
||||||
archives:
|
archives:
|
||||||
pkgs:
|
pkgs:
|
||||||
required: ['curl', 'bzip2', 'gzip']
|
required: ['curl', 'bzip2', 'gzip']
|
||||||
|
|
15
packages/golang/clean.sls
Normal file
15
packages/golang/clean.sls
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import packages with context %}
|
||||||
|
|
||||||
|
{%- for package in packages.golang.clean %}
|
||||||
|
|
||||||
|
packages-golang-clean-cmd-run-go-clean-{{ package }}:
|
||||||
|
cmd.run:
|
||||||
|
- name: go clean -i {{ package }}...
|
||||||
|
- runas: {{ packages.rootuser }}
|
||||||
|
|
||||||
|
{%- endfor %}
|
15
packages/golang/goget.sls
Normal file
15
packages/golang/goget.sls
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import packages with context %}
|
||||||
|
|
||||||
|
{%- for package in packages.golang.goget %}
|
||||||
|
|
||||||
|
packages-golang-goget-cmd-run-go-get-{{ package }}:
|
||||||
|
cmd.run:
|
||||||
|
- name: go get {{ package }}
|
||||||
|
- runas: {{ packages.rootuser }}
|
||||||
|
|
||||||
|
{%- endfor %}
|
6
packages/golang/init.sls
Normal file
6
packages/golang/init.sls
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
include:
|
||||||
|
- .clean
|
||||||
|
- .goget
|
|
@ -18,3 +18,10 @@
|
||||||
),
|
),
|
||||||
base='packages')
|
base='packages')
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
{#- Post-processing for specific non-YAML customisations #}
|
||||||
|
{%- do packages.update({'kernel': grains.kernel | lower}) %}
|
||||||
|
{%- if grains.os == 'MacOS' %}
|
||||||
|
{%- set macos_user = salt['cmd.run']("stat -f '%Su' /dev/console") %}
|
||||||
|
{%- do packages.update({'rootuser': macos_user}) %}
|
||||||
|
{%- endif %}
|
||||||
|
|
|
@ -32,8 +32,8 @@ npm_req_pkgs:
|
||||||
npms_dir:
|
npms_dir:
|
||||||
file.directory:
|
file.directory:
|
||||||
- name: {{ packages.npms.dir }}
|
- name: {{ packages.npms.dir }}
|
||||||
- user: {{ 'root' if 'user' not in packages.npms else packages.npms.user }}
|
- user: {{ packages.rootuser if 'user' not in packages.npms else packages.npms.user }}
|
||||||
- group: {{ 'root' if 'group' not in packages.npms else packages.npms.group }}
|
- group: {{ packages.rootuser if 'group' not in packages.npms else packages.npms.group }}
|
||||||
- mode: {{ '0755' if 'mode' not in packages.npms else packages.npms.mode }}
|
- mode: {{ '0755' if 'mode' not in packages.npms else packages.npms.mode }}
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -61,6 +61,14 @@ packages:
|
||||||
unwanted:
|
unwanted:
|
||||||
- goodbye-world
|
- goodbye-world
|
||||||
|
|
||||||
|
golang:
|
||||||
|
goget:
|
||||||
|
- github.com/golang/example/hello
|
||||||
|
- github.com/golang/example/outyet
|
||||||
|
clean:
|
||||||
|
- github.com/golang/example/hello
|
||||||
|
- github.com/golang/example/outyet
|
||||||
|
|
||||||
npms:
|
npms:
|
||||||
dir: /home/kitchen/npms # The target directory in which to install the package, or None for global installation
|
dir: /home/kitchen/npms # The target directory in which to install the package, or None for global installation
|
||||||
user: kitchen # The user to run NPM with (and to assign to `dir`)
|
user: kitchen # The user to run NPM with (and to assign to `dir`)
|
||||||
|
|
Loading…
Add table
Reference in a new issue