mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-06-09 01:10:44 +00:00
add support for debian packaging (#397)
* initial debian packaging * add action for debian packaging * trigger build * fix syntax
This commit is contained in:
parent
fb0aadeea9
commit
af578d4af2
38
.github/workflows/deb.yml
vendored
Normal file
38
.github/workflows/deb.yml
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
name: Build debian packages
|
||||
|
||||
on:
|
||||
push:
|
||||
release:
|
||||
types: [prereleased]
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
name: Debian sid
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:sid
|
||||
|
||||
steps:
|
||||
- name: Install git
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y git
|
||||
- name: Checking out sources
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
apt-get install -y build-essential dh-golang golang-any
|
||||
- name: Build
|
||||
run: |
|
||||
cp -r release/debian .
|
||||
dpkg-buildpackage -us -uc -i -b
|
||||
- name: Copy binary
|
||||
run: |
|
||||
cp ../*.deb ./
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: v2ray-debian-packages
|
||||
path: ./*.deb
|
||||
|
5
release/debian/changelog
Normal file
5
release/debian/changelog
Normal file
|
@ -0,0 +1,5 @@
|
|||
v2ray-core (4.32.1-1) unstable; urgency=medium
|
||||
|
||||
* Initial release
|
||||
|
||||
-- ymshenyu <ymshenyu@gmail.com> Sun, 08 Nov 2020 08:59:07 +0800
|
39
release/debian/control
Normal file
39
release/debian/control
Normal file
|
@ -0,0 +1,39 @@
|
|||
Source: v2ray-core
|
||||
Section: unknown
|
||||
Priority: optional
|
||||
Maintainer: ymshenyu <ymshenyu@gmail.com>
|
||||
Build-Depends: debhelper-compat (= 12),
|
||||
dh-golang,
|
||||
golang-any
|
||||
Standards-Version: 4.5.0
|
||||
Homepage: https://github.com/v2fly/v2ray-core
|
||||
#Vcs-Browser: https://salsa.debian.org/debian/v2ray-core
|
||||
#Vcs-Git: https://salsa.debian.org/debian/v2ray-core.git
|
||||
Rules-Requires-Root: no
|
||||
XS-Go-Import-Path: v2ray.com/core
|
||||
|
||||
Package: v2ray
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Recommends: v2ray-domain-list-community,
|
||||
v2ray-geoip
|
||||
Description: Library platform for building proxies in golang
|
||||
Project V2Ray is a set of network tools that help you to build your
|
||||
own computer network. It secures your network connections and thus
|
||||
protects your privacy.
|
||||
|
||||
Package: v2ray-domain-list-community
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Library platform for building proxies in golang (routing file)
|
||||
Project V2Ray is a set of network tools that help you to build your
|
||||
own computer network. It secures your network connections and thus
|
||||
protects your privacy.
|
||||
|
||||
Package: v2ray-geoip
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Library platform for building proxies in golang (routing file)
|
||||
Project V2Ray is a set of network tools that help you to build your
|
||||
own computer network. It secures your network connections and thus
|
||||
protects your privacy.
|
40
release/debian/copyright
Normal file
40
release/debian/copyright
Normal file
|
@ -0,0 +1,40 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: v2ray-core
|
||||
Upstream-Contact: https://github.com/v2fly/v2ray-core
|
||||
Source: https://github.com/v2fly/v2ray-core
|
||||
|
||||
Files: *
|
||||
Copyright: 2015-2020 V2Fly Community
|
||||
License: Expat
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2020 ymshenyu <ymshenyu@gmail.com>
|
||||
License: Expat
|
||||
|
||||
License: Expat
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# Please also look if there are files or directories which have a
|
||||
# different copyright/license attached and list them here.
|
||||
# Please avoid picking licenses with terms that are more restrictive than the
|
||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
||||
#
|
||||
# If you need, there are some extra license texts available in two places:
|
||||
# /usr/share/debhelper/dh_make/licenses/
|
||||
# /usr/share/common-licenses/
|
27
release/debian/rules
Executable file
27
release/debian/rules
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
BUILDDIR=_build
|
||||
|
||||
%:
|
||||
dh $@ --builddirectory=$(BUILDDIR) --buildsystem=golang --with=golang
|
||||
|
||||
execute_after_dh_auto_configure:
|
||||
go mod vendor
|
||||
cp -r vendor/* _build/src
|
||||
|
||||
override_dh_auto_clean:
|
||||
dh_auto_clean
|
||||
rm -rf vendor
|
||||
|
||||
override_dh_auto_build:
|
||||
DH_GOPKG="v2ray.com/core/main" dh_auto_build -- -ldflags "-s -w" -tags $(DEB_VERSION_UPSTREAM)
|
||||
cd $(BUILDDIR); mv bin/main bin/v2ray
|
||||
DH_GOPKG="v2ray.com/core/infra/control/main" dh_auto_build -- -ldflags "-s -w" -tags $(DEB_VERSION_UPSTREAM)
|
||||
cd $(BUILDDIR); mv bin/main bin/v2ctl
|
||||
|
||||
override_dh_auto_install:
|
||||
dh_auto_install -- --no-source
|
||||
|
||||
override_dh_auto_test:
|
1
release/debian/source/format
Normal file
1
release/debian/source/format
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
1
release/debian/v2ray-docs.docs
Normal file
1
release/debian/v2ray-docs.docs
Normal file
|
@ -0,0 +1 @@
|
|||
README.md
|
1
release/debian/v2ray-domain-list-community.install
Normal file
1
release/debian/v2ray-domain-list-community.install
Normal file
|
@ -0,0 +1 @@
|
|||
release/config/geosite.dat usr/share/v2ray
|
1
release/debian/v2ray-geoip.install
Normal file
1
release/debian/v2ray-geoip.install
Normal file
|
@ -0,0 +1 @@
|
|||
release/config/geoip.dat usr/share/v2ray
|
2
release/debian/v2ray.install
Normal file
2
release/debian/v2ray.install
Normal file
|
@ -0,0 +1,2 @@
|
|||
usr/bin
|
||||
release/config/config.json etc/v2ray
|
16
release/debian/v2ray.service
Normal file
16
release/debian/v2ray.service
Normal file
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=V2Ray Service
|
||||
Documentation=https://www.v2fly.org/
|
||||
After=network.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
NoNewPrivileges=true
|
||||
ExecStart=/usr/bin/v2ray -config /etc/v2ray/config.json
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=23
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
16
release/debian/v2ray@.service
Normal file
16
release/debian/v2ray@.service
Normal file
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=V2Ray Service
|
||||
Documentation=https://www.v2fly.org/
|
||||
After=network.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
NoNewPrivileges=true
|
||||
ExecStart=/usr/bin/v2ray -config /etc/v2ray/%i.json
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=23
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user