Browse Source

Improve Debian packaging script.

if debuild or dpkg-buildpackage is used, it will generate 4 packages
to fit Debian's packaging policy.
pull/401/head
Boyuan Yang 9 years ago
parent
commit
643d579bdf
16 changed files with 793 additions and 32 deletions
  1. 4
      README.md
  2. 5
      debian/.gitignore
  3. 12
      debian/README.Debian
  4. 27
      debian/autopkg.sh
  5. 2
      debian/compat
  6. 47
      debian/control
  7. 54
      debian/copyright
  8. 23
      debian/copyright.original
  9. 1
      debian/docs
  10. 3
      debian/libshadowsocks-dev.install
  11. 3
      debian/libshadowsocks1.install
  12. 610
      debian/libshadowsocks1.symbols
  13. 9
      debian/rules
  14. 3
      debian/shadowsocks-libev.install
  15. 21
      debian/shadowsocks-libev.service
  16. 1
      debian/source/format

4
README.md

@ -69,8 +69,8 @@ sudo apt-get install shadowsocks-libev
``` bash
cd shadowsocks-libev
sudo apt-get install build-essential autoconf libtool libssl-dev gawk debhelper
dpkg-buildpackage -us -uc
sudo apt-get install build-essential automake libtool libssl-dev gawk debhelper dh-systemd
sh debian/autopkg.sh
cd ..
sudo dpkg -i shadowsocks-libev*.deb
```

5
debian/.gitignore

@ -0,0 +1,5 @@
*.substvars
libshadowsocks1/
libshadowsocks-dbg/
libshadowsocks-dev/
tmp/

12
debian/README.Debian

@ -1,6 +1,16 @@
shadowsocks-libev for Debian
----------------------
<possible notes regarding this package - if none, delete this file>
The Debian package has added systemd support. By default, the dpkg installer
will enable initscripts if the OS is using sysvinit, and systemd service unit
file if the OS is using systemd. This is done automatically.
Another problem is that shadowsocks-libev is licensed under GPLv3+. This will
conflict with OpenSSL License when linked against OpenSSL library. As a
result, this package faces licensing problem. Use it at your own risk.
-- Boyuan Yang <073plan@gmail.com> Fri, 11 Sep 2015 19:08:30 +0800
(No special notes.)
-- Max Lv <max.c.lv@gmail.com> Sat, 06 Apr 2013 16:59:15 +0800

27
debian/autopkg.sh

@ -0,0 +1,27 @@
#!/bin/sh
# Automatic deb packaging script for shadowsocks-libev
#
set -e
if [ "$(basename $(pwd))x" = "debianx" ]; then
cd ..
else
if [ ! "$(basename $(pwd))x" = "shadowsocks-libevx" ]; then
echo "Unknown Working Directory, won't continue."
exit 1
fi
fi
git clean -Xdf
git reset --hard HEAD
autoreconf --install
rm -f ../*.tar.xz ../*.deb ../*.tar.gz ../*.build ../*.dsc ../*.changes
CURR_PKG_DIR=$(pwd)
tar -czvf ../$(basename $CURR_PKG_DIR)_$(cat ./configure.ac | grep AC_INIT | grep -o '[0-9]\.[0-9]\.[0-9]').orig.tar.gz . --exclude-vcs
#dh_make --multi --createorig --yes --copyright gpl3
A=$(which debuild > /dev/null 2> /dev/null; echo $?)
if [ "${A}x" = "0x" ]; then
debuild -us -uc
else
dpkg-buildpackage -us -uc
fi

2
debian/compat

@ -1 +1 @@
7
9

47
debian/control

@ -2,8 +2,8 @@ Source: shadowsocks-libev
Section: net
Priority: extra
Maintainer: Max Lv <max.c.lv@gmail.com>
Build-Depends: debhelper (>= 7.0.50~), libssl-dev (>= 0.9.8), autotools-dev, mime-support, gawk
Standards-Version: 3.8.4
Build-Depends: debhelper (>= 9), dh-systemd (>= 1.5), pkg-config, libssl-dev (>= 0.9.8), autotools-dev, mime-support, gawk
Standards-Version: 3.9.6
Homepage: http://www.shadowsocks.org
Vcs-Git: https://github.com/shadowsocks/shadowsocks-libev.git
Vcs-Browser: https://github.com/shadowsocks/shadowsocks-libev
@ -13,5 +13,44 @@ Replaces: shadowsocks (<< 1.5.3-2)
Breaks: shadowsocks (<< 1.5.3-2)
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A lightweight and secure socks5 proxy.
Shadowsocks-libev is a lightweight and secure socks5 proxy for embedded devices and low end boxes.
Description: lightweight and secure socks5 proxy
Shadowsocks-libev is a lightweight and secure socks5 proxy for
embedded devices and low end boxes.
Package: libshadowsocks1
Architecture: any
Multi-Arch: same
Section: libs
Priority: extra
Breaks: shadowsocks-libev (<< 2.3.1)
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: lightweight and secure socks5 proxy (shared library)
Shadowsocks-libev is a lightweight and secure socks5 proxy for
embedded devices and low end boxes.
.
This package provides shared libraries.
Package: libshadowsocks-dev
Architecture: any
Section: libdevel
Priority: extra
Breaks: shadowsocks-libev (<< 2.3.1)
Depends: libshadowsocks1 (= ${binary:Version}), ${misc:Depends}
Description: lightweight and secure socks5 proxy (development files)
Shadowsocks-libev is a lightweight and secure socks5 proxy for
embedded devices and low end boxes.
.
This package provides C header files for the libraries.
Package: libshadowsocks-dbg
Architecture: any
Section: debug
Priority: extra
Breaks: shadowsocks-libev (<< 2.3.1)
Depends: libshadowsocks1 (= ${binary:Version}), ${misc:Depends}
Description: debugging symbols for the libshadowsocks1 library
Shadowsocks-libev is a lightweight and secure socks5 proxy for
embedded devices and low end boxes.
.
This package contains the debugging symbols for libshadowsocks1.

54
debian/copyright

@ -1,23 +1,31 @@
This work was packaged for Debian by:
Max Lv <max.c.lv@gmail.com> on Sat, 06 Apr 2013 16:59:15 +0800
It was downloaded from:
https://github.com/madeye/shadowsocks-libev
Upstream Author(s):
clowwindy <clowwindy42@gmail.com>
Copyright:
Copyright (C) 2013 Max Lv
License:
GPLv3
The Debian packaging is:
Copyright (C) 2013 Max Lv <max.c.lv@gmail.com>
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: shadowsocks-libev
Upstream-Contact: Max Lv <max.c.lv@gmail.com>
Source: https://github.com/shadowsocks/shadowsocks-libev
Files: *
Copyright: 2013-2015 Clow Windy <clowwindy42@gmail.com>
2013-2015 Max Lv <max.c.lv@gmail.com>
License: GPL-3+
Files: debian/*
Copyright: 2013-2015 Max Lv <max.c.lv@gmail.com>
2015, Boyuan Yang <073plan@gmail.com>
License: GPL-3+
License: GPL-3+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

23
debian/copyright.original

@ -0,0 +1,23 @@
This work was packaged for Debian by:
Max Lv <max.c.lv@gmail.com> on Sat, 06 Apr 2013 16:59:15 +0800
It was downloaded from:
https://github.com/madeye/shadowsocks-libev
Upstream Author(s):
clowwindy <clowwindy42@gmail.com>
Copyright:
Copyright (C) 2013 Max Lv
License:
GPLv3
The Debian packaging is:
Copyright (C) 2013 Max Lv <max.c.lv@gmail.com>

1
debian/docs

@ -1 +1,2 @@
README.md
debian/copyright.original

3
debian/libshadowsocks-dev.install

@ -0,0 +1,3 @@
usr/include/
usr/lib/*/pkgconfig/
usr/lib/*/libshadowsocks.so

3
debian/libshadowsocks1.install

@ -0,0 +1,3 @@
usr/lib/*/libshadowsocks.so.1
usr/lib/*/libshadowsocks.so.1.0.0
usr/lib/*/libshadowsocks.la

610
debian/libshadowsocks1.symbols

@ -0,0 +1,610 @@
libshadowsocks.so.1 libshadowsocks1 #MINVER#
ERROR@Base 2.3.1
FATAL@Base 2.3.1
_crypto_stream_salsa20@Base 2.3.1
_crypto_stream_salsa20_xor_ic@Base 2.3.1
_dns_format_code@Base 2.3.1
acl_contains_ip@Base 2.3.1
bytes_to_key@Base 2.3.1
cache_create@Base 2.3.1
cache_delete@Base 2.3.1
cache_insert@Base 2.3.1
cache_key_exist@Base 2.3.1
cache_lookup@Base 2.3.1
cache_remove@Base 2.3.1
cipher_context_init@Base 2.3.1
cipher_context_release@Base 2.3.1
cipher_context_set_iv@Base 2.3.1
cipher_iv_size@Base 2.3.1
cipher_key_size@Base 2.3.1
create_remote_socket@Base 2.3.1
create_server_socket@Base 2.3.1
crypto_aead_chacha20poly1305_abytes@Base 2.3.1
crypto_aead_chacha20poly1305_decrypt@Base 2.3.1
crypto_aead_chacha20poly1305_encrypt@Base 2.3.1
crypto_aead_chacha20poly1305_keybytes@Base 2.3.1
crypto_aead_chacha20poly1305_npubbytes@Base 2.3.1
crypto_aead_chacha20poly1305_nsecbytes@Base 2.3.1
crypto_auth@Base 2.3.1
crypto_auth_bytes@Base 2.3.1
crypto_auth_hmacsha256@Base 2.3.1
crypto_auth_hmacsha256_bytes@Base 2.3.1
crypto_auth_hmacsha256_final@Base 2.3.1
crypto_auth_hmacsha256_init@Base 2.3.1
crypto_auth_hmacsha256_keybytes@Base 2.3.1
crypto_auth_hmacsha256_update@Base 2.3.1
crypto_auth_hmacsha256_verify@Base 2.3.1
crypto_auth_hmacsha512256@Base 2.3.1
crypto_auth_hmacsha512256_bytes@Base 2.3.1
crypto_auth_hmacsha512256_final@Base 2.3.1
crypto_auth_hmacsha512256_init@Base 2.3.1
crypto_auth_hmacsha512256_keybytes@Base 2.3.1
crypto_auth_hmacsha512256_update@Base 2.3.1
crypto_auth_hmacsha512256_verify@Base 2.3.1
crypto_auth_hmacsha512@Base 2.3.1
crypto_auth_hmacsha512_bytes@Base 2.3.1
crypto_auth_hmacsha512_final@Base 2.3.1
crypto_auth_hmacsha512_init@Base 2.3.1
crypto_auth_hmacsha512_keybytes@Base 2.3.1
crypto_auth_hmacsha512_update@Base 2.3.1
crypto_auth_hmacsha512_verify@Base 2.3.1
crypto_auth_keybytes@Base 2.3.1
crypto_auth_primitive@Base 2.3.1
crypto_auth_verify@Base 2.3.1
crypto_box@Base 2.3.1
crypto_box_afternm@Base 2.3.1
crypto_box_beforenm@Base 2.3.1
crypto_box_beforenmbytes@Base 2.3.1
crypto_box_boxzerobytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_afternm@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_beforenm@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_beforenmbytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_boxzerobytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_keypair@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_macbytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_noncebytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_open@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_open_afternm@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_publickeybytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_secretkeybytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_seed_keypair@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_seedbytes@Base 2.3.1
crypto_box_curve25519xsalsa20poly1305_zerobytes@Base 2.3.1
crypto_box_detached@Base 2.3.1
crypto_box_easy@Base 2.3.1
crypto_box_keypair@Base 2.3.1
crypto_box_macbytes@Base 2.3.1
crypto_box_noncebytes@Base 2.3.1
crypto_box_open@Base 2.3.1
crypto_box_open_afternm@Base 2.3.1
crypto_box_open_detached@Base 2.3.1
crypto_box_open_easy@Base 2.3.1
crypto_box_primitive@Base 2.3.1
crypto_box_publickeybytes@Base 2.3.1
crypto_box_secretkeybytes@Base 2.3.1
crypto_box_seed_keypair@Base 2.3.1
crypto_box_seedbytes@Base 2.3.1
crypto_box_zerobytes@Base 2.3.1
crypto_core_hsalsa20@Base 2.3.1
crypto_core_hsalsa20_constbytes@Base 2.3.1
crypto_core_hsalsa20_inputbytes@Base 2.3.1
crypto_core_hsalsa20_keybytes@Base 2.3.1
crypto_core_hsalsa20_outputbytes@Base 2.3.1
crypto_core_salsa20@Base 2.3.1
crypto_core_salsa20_constbytes@Base 2.3.1
crypto_core_salsa20_inputbytes@Base 2.3.1
crypto_core_salsa20_keybytes@Base 2.3.1
crypto_core_salsa20_outputbytes@Base 2.3.1
crypto_generichash@Base 2.3.1
crypto_generichash_blake2b@Base 2.3.1
crypto_generichash_blake2b_bytes@Base 2.3.1
crypto_generichash_blake2b_bytes_max@Base 2.3.1
crypto_generichash_blake2b_bytes_min@Base 2.3.1
crypto_generichash_blake2b_final@Base 2.3.1
crypto_generichash_blake2b_init@Base 2.3.1
crypto_generichash_blake2b_init_salt_personal@Base 2.3.1
crypto_generichash_blake2b_keybytes@Base 2.3.1
crypto_generichash_blake2b_keybytes_max@Base 2.3.1
crypto_generichash_blake2b_keybytes_min@Base 2.3.1
crypto_generichash_blake2b_personalbytes@Base 2.3.1
crypto_generichash_blake2b_salt_personal@Base 2.3.1
crypto_generichash_blake2b_saltbytes@Base 2.3.1
crypto_generichash_blake2b_update@Base 2.3.1
crypto_generichash_bytes@Base 2.3.1
crypto_generichash_bytes_max@Base 2.3.1
crypto_generichash_bytes_min@Base 2.3.1
crypto_generichash_final@Base 2.3.1
crypto_generichash_init@Base 2.3.1
crypto_generichash_keybytes@Base 2.3.1
crypto_generichash_keybytes_max@Base 2.3.1
crypto_generichash_keybytes_min@Base 2.3.1
crypto_generichash_primitive@Base 2.3.1
crypto_generichash_update@Base 2.3.1
crypto_hash@Base 2.3.1
crypto_hash_bytes@Base 2.3.1
crypto_hash_primitive@Base 2.3.1
crypto_hash_sha256@Base 2.3.1
crypto_hash_sha256_bytes@Base 2.3.1
crypto_hash_sha256_final@Base 2.3.1
crypto_hash_sha256_init@Base 2.3.1
crypto_hash_sha256_update@Base 2.3.1
crypto_hash_sha512@Base 2.3.1
crypto_hash_sha512_bytes@Base 2.3.1
crypto_hash_sha512_final@Base 2.3.1
crypto_hash_sha512_init@Base 2.3.1
crypto_hash_sha512_update@Base 2.3.1
crypto_onetimeauth@Base 2.3.1
crypto_onetimeauth_bytes@Base 2.3.1
crypto_onetimeauth_final@Base 2.3.1
crypto_onetimeauth_init@Base 2.3.1
crypto_onetimeauth_keybytes@Base 2.3.1
crypto_onetimeauth_poly1305@Base 2.3.1
crypto_onetimeauth_poly1305_bytes@Base 2.3.1
crypto_onetimeauth_poly1305_final@Base 2.3.1
crypto_onetimeauth_poly1305_implementation_name@Base 2.3.1
crypto_onetimeauth_poly1305_init@Base 2.3.1
crypto_onetimeauth_poly1305_keybytes@Base 2.3.1
crypto_onetimeauth_poly1305_set_implementation@Base 2.3.1
crypto_onetimeauth_poly1305_update@Base 2.3.1
crypto_onetimeauth_poly1305_verify@Base 2.3.1
crypto_onetimeauth_primitive@Base 2.3.1
crypto_onetimeauth_update@Base 2.3.1
crypto_onetimeauth_verify@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_ll@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_memlimit_interactive@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_opslimit_interactive@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_saltbytes@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_str@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_str_verify@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_strbytes@Base 2.3.1
crypto_pwhash_scryptsalsa208sha256_strprefix@Base 2.3.1
crypto_scalarmult@Base 2.3.1
crypto_scalarmult_base@Base 2.3.1
crypto_scalarmult_bytes@Base 2.3.1
crypto_scalarmult_curve25519@Base 2.3.1
crypto_scalarmult_curve25519_base@Base 2.3.1
crypto_scalarmult_curve25519_bytes@Base 2.3.1
crypto_scalarmult_curve25519_scalarbytes@Base 2.3.1
crypto_scalarmult_primitive@Base 2.3.1
crypto_scalarmult_scalarbytes@Base 2.3.1
crypto_secretbox@Base 2.3.1
crypto_secretbox_boxzerobytes@Base 2.3.1
crypto_secretbox_detached@Base 2.3.1
crypto_secretbox_easy@Base 2.3.1
crypto_secretbox_keybytes@Base 2.3.1
crypto_secretbox_macbytes@Base 2.3.1
crypto_secretbox_noncebytes@Base 2.3.1
crypto_secretbox_open@Base 2.3.1
crypto_secretbox_open_detached@Base 2.3.1
crypto_secretbox_open_easy@Base 2.3.1
crypto_secretbox_primitive@Base 2.3.1
crypto_secretbox_xsalsa20poly1305@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_boxzerobytes@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_keybytes@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_macbytes@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_noncebytes@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_open@Base 2.3.1
crypto_secretbox_xsalsa20poly1305_zerobytes@Base 2.3.1
crypto_secretbox_zerobytes@Base 2.3.1
crypto_shorthash@Base 2.3.1
crypto_shorthash_bytes@Base 2.3.1
crypto_shorthash_keybytes@Base 2.3.1
crypto_shorthash_primitive@Base 2.3.1
crypto_shorthash_siphash24@Base 2.3.1
crypto_shorthash_siphash24_bytes@Base 2.3.1
crypto_shorthash_siphash24_keybytes@Base 2.3.1
crypto_sign@Base 2.3.1
crypto_sign_bytes@Base 2.3.1
crypto_sign_detached@Base 2.3.1
crypto_sign_ed25519@Base 2.3.1
crypto_sign_ed25519_bytes@Base 2.3.1
crypto_sign_ed25519_detached@Base 2.3.1
crypto_sign_ed25519_keypair@Base 2.3.1
crypto_sign_ed25519_open@Base 2.3.1
crypto_sign_ed25519_pk_to_curve25519@Base 2.3.1
crypto_sign_ed25519_publickeybytes@Base 2.3.1
crypto_sign_ed25519_secretkeybytes@Base 2.3.1
crypto_sign_ed25519_seed_keypair@Base 2.3.1
crypto_sign_ed25519_seedbytes@Base 2.3.1
crypto_sign_ed25519_sk_to_curve25519@Base 2.3.1
crypto_sign_ed25519_sk_to_pk@Base 2.3.1
crypto_sign_ed25519_sk_to_seed@Base 2.3.1
crypto_sign_ed25519_verify_detached@Base 2.3.1
crypto_sign_keypair@Base 2.3.1
crypto_sign_open@Base 2.3.1
crypto_sign_primitive@Base 2.3.1
crypto_sign_publickeybytes@Base 2.3.1
crypto_sign_secretkeybytes@Base 2.3.1
crypto_sign_seed_keypair@Base 2.3.1
crypto_sign_seedbytes@Base 2.3.1
crypto_sign_verify_detached@Base 2.3.1
crypto_stream@Base 2.3.1
crypto_stream_chacha20@Base 2.3.1
crypto_stream_chacha20_keybytes@Base 2.3.1
crypto_stream_chacha20_noncebytes@Base 2.3.1
crypto_stream_chacha20_xor@Base 2.3.1
crypto_stream_chacha20_xor_ic@Base 2.3.1
crypto_stream_keybytes@Base 2.3.1
crypto_stream_noncebytes@Base 2.3.1
crypto_stream_primitive@Base 2.3.1
crypto_stream_salsa20@Base 2.3.1
crypto_stream_salsa20_keybytes@Base 2.3.1
crypto_stream_salsa20_noncebytes@Base 2.3.1
crypto_stream_salsa20_xor@Base 2.3.1
crypto_stream_salsa20_xor_ic@Base 2.3.1
crypto_stream_xor@Base 2.3.1
crypto_stream_xsalsa20@Base 2.3.1
crypto_stream_xsalsa20_keybytes@Base 2.3.1
crypto_stream_xsalsa20_noncebytes@Base 2.3.1
crypto_stream_xsalsa20_xor@Base 2.3.1
crypto_verify_16@Base 2.3.1
crypto_verify_16_bytes@Base 2.3.1
crypto_verify_32@Base 2.3.1
crypto_verify_32_bytes@Base 2.3.1
crypto_verify_64@Base 2.3.1
crypto_verify_64_bytes@Base 2.3.1
daemonize@Base 2.3.1
dns_a4ptodn@Base 2.3.1
dns_a4todn@Base 2.3.1
dns_a4todn_@Base 2.3.1
dns_a6ptodn@Base 2.3.1
dns_a6todn@Base 2.3.1
dns_a6todn_@Base 2.3.1
dns_active@Base 2.3.1
dns_add_serv@Base 2.3.1
dns_add_serv_s@Base 2.3.1
dns_add_srch@Base 2.3.1
dns_cancel@Base 2.3.1
dns_classname@Base 2.3.1
dns_classtab@Base 2.3.1
dns_close@Base 2.3.1
dns_defctx@Base 2.3.1
dns_dnequal@Base 2.3.1
dns_dnlabels@Base 2.3.1
dns_dnlen@Base 2.3.1
dns_dntodn@Base 2.3.1
dns_dntop@Base 2.3.1
dns_dntop_size@Base 2.3.1
dns_dntosp@Base 2.3.1
dns_findname@Base 2.3.1
dns_free@Base 2.3.1
dns_getdn@Base 2.3.1
dns_inaddr_arpa_dn@Base 2.3.1
dns_init@Base 2.3.1
dns_initparse@Base 2.3.1
dns_ioevent@Base 2.3.1
dns_ip6_arpa_dn@Base 2.3.1
dns_new@Base 2.3.1
dns_nextrr@Base 2.3.1
dns_ntop@Base 2.3.1
dns_open@Base 2.3.1
dns_parse_a4@Base 2.3.1
dns_parse_a6@Base 2.3.1
dns_parse_mx@Base 2.3.1
dns_parse_naptr@Base 2.3.1
dns_parse_ptr@Base 2.3.1
dns_parse_srv@Base 2.3.1
dns_parse_txt@Base 2.3.1
dns_ptodn@Base 2.3.1
dns_pton@Base 2.3.1
dns_random16@Base 2.3.1
dns_rcodename@Base 2.3.1
dns_rcodetab@Base 2.3.1
dns_reset@Base 2.3.1
dns_resolve@Base 2.3.1
dns_resolve_a4@Base 2.3.1
dns_resolve_a4dnsbl@Base 2.3.1
dns_resolve_a4dnsbl_txt@Base 2.3.1
dns_resolve_a4ptr@Base 2.3.1
dns_resolve_a6@Base 2.3.1
dns_resolve_a6dnsbl@Base 2.3.1
dns_resolve_a6dnsbl_txt@Base 2.3.1
dns_resolve_a6ptr@Base 2.3.1
dns_resolve_dn@Base 2.3.1
dns_resolve_mx@Base 2.3.1
dns_resolve_naptr@Base 2.3.1
dns_resolve_p@Base 2.3.1
dns_resolve_rhsbl@Base 2.3.1
dns_resolve_rhsbl_txt@Base 2.3.1
dns_resolve_srv@Base 2.3.1
dns_resolve_txt@Base 2.3.1
dns_rewind@Base 2.3.1
dns_set_dbgfn@Base 2.3.1
dns_set_opt@Base 2.3.1
dns_set_opts@Base 2.3.1
dns_set_tmcbck@Base 2.3.1
dns_setstatus@Base 2.3.1
dns_skipdn@Base 2.3.1
dns_sock@Base 2.3.1
dns_status@Base 2.3.1
dns_stdrr_finish@Base 2.3.1
dns_stdrr_size@Base 2.3.1
dns_strerror@Base 2.3.1
dns_submit_a4@Base 2.3.1
dns_submit_a4dnsbl@Base 2.3.1
dns_submit_a4dnsbl_txt@Base 2.3.1
dns_submit_a4ptr@Base 2.3.1
dns_submit_a6@Base 2.3.1
dns_submit_a6dnsbl@Base 2.3.1
dns_submit_a6dnsbl_txt@Base 2.3.1
dns_submit_a6ptr@Base 2.3.1
dns_submit_dn@Base 2.3.1
dns_submit_mx@Base 2.3.1
dns_submit_naptr@Base 2.3.1
dns_submit_p@Base 2.3.1
dns_submit_rhsbl@Base 2.3.1
dns_submit_rhsbl_txt@Base 2.3.1
dns_submit_srv@Base 2.3.1
dns_submit_txt@Base 2.3.1
dns_timeouts@Base 2.3.1
dns_typename@Base 2.3.1
dns_typetab@Base 2.3.1
dns_version@Base 2.3.1
enc_ctx_init@Base 2.3.1
enc_get_iv_len@Base 2.3.1
enc_init@Base 2.3.1
enc_key_init@Base 2.3.1
enc_md5@Base 2.3.1
enc_table_init@Base 2.3.1
ev_async_send@Base 2.3.1
ev_async_start@Base 2.3.1
ev_async_stop@Base 2.3.1
ev_backend@Base 2.3.1
ev_break@Base 2.3.1
ev_check_start@Base 2.3.1
ev_check_stop@Base 2.3.1
ev_child_start@Base 2.3.1
ev_child_stop@Base 2.3.1
ev_cleanup_start@Base 2.3.1
ev_cleanup_stop@Base 2.3.1
ev_clear_pending@Base 2.3.1
ev_default_loop@Base 2.3.1
ev_default_loop_ptr@Base 2.3.1
ev_depth@Base 2.3.1
ev_embed_start@Base 2.3.1
ev_embed_stop@Base 2.3.1
ev_embed_sweep@Base 2.3.1
ev_embeddable_backends@Base 2.3.1
ev_feed_event@Base 2.3.1
ev_feed_fd_event@Base 2.3.1
ev_feed_signal@Base 2.3.1
ev_feed_signal_event@Base 2.3.1
ev_fork_start@Base 2.3.1
ev_fork_stop@Base 2.3.1
ev_idle_start@Base 2.3.1
ev_idle_stop@Base 2.3.1
ev_invoke@Base 2.3.1
ev_invoke_pending@Base 2.3.1
ev_io_start@Base 2.3.1
ev_io_stop@Base 2.3.1
ev_iteration@Base 2.3.1
ev_loop_destroy@Base 2.3.1
ev_loop_fork@Base 2.3.1
ev_loop_new@Base 2.3.1
ev_now@Base 2.3.1
ev_now_update@Base 2.3.1
ev_once@Base 2.3.1
ev_pending_count@Base 2.3.1
ev_periodic_again@Base 2.3.1
ev_periodic_start@Base 2.3.1
ev_periodic_stop@Base 2.3.1
ev_prepare_start@Base 2.3.1
ev_prepare_stop@Base 2.3.1
ev_recommended_backends@Base 2.3.1
ev_ref@Base 2.3.1
ev_resume@Base 2.3.1
ev_run@Base 2.3.1
ev_set_allocator@Base 2.3.1
ev_set_invoke_pending_cb@Base 2.3.1
ev_set_io_collect_interval@Base 2.3.1
ev_set_loop_release_cb@Base 2.3.1
ev_set_syserr_cb@Base 2.3.1
ev_set_timeout_collect_interval@Base 2.3.1
ev_set_userdata@Base 2.3.1
ev_signal_start@Base 2.3.1
ev_signal_stop@Base 2.3.1
ev_sleep@Base 2.3.1
ev_stat_start@Base 2.3.1
ev_stat_stat@Base 2.3.1
ev_stat_stop@Base 2.3.1
ev_supported_backends@Base 2.3.1
ev_suspend@Base 2.3.1
ev_time@Base 2.3.1
ev_timer_again@Base 2.3.1
ev_timer_remaining@Base 2.3.1
ev_timer_start@Base 2.3.1
ev_timer_stop@Base 2.3.1
ev_unref@Base 2.3.1
ev_userdata@Base 2.3.1
ev_verify@Base 2.3.1
ev_version_major@Base 2.3.1
ev_version_minor@Base 2.3.1
event_active@Base 2.3.1
event_add@Base 2.3.1
event_base_dispatch@Base 2.3.1
event_base_free@Base 2.3.1
event_base_get_method@Base 2.3.1
event_base_loop@Base 2.3.1
event_base_loopexit@Base 2.3.1
event_base_new@Base 2.3.1
event_base_once@Base 2.3.1
event_base_priority_init@Base 2.3.1
event_base_set@Base 2.3.1
event_del@Base 2.3.1
event_dispatch@Base 2.3.1
event_get_callback@Base 2.3.1
event_get_method@Base 2.3.1
event_get_version@Base 2.3.1
event_init@Base 2.3.1
event_loop@Base 2.3.1
event_loopexit@Base 2.3.1
event_once@Base 2.3.1
event_pending@Base 2.3.1
event_priority_init@Base 2.3.1
event_priority_set@Base 2.3.1
event_set@Base 2.3.1
free_acl@Base 2.3.1
free_addr@Base 2.3.1
free_cb@Base 2.3.1
free_udprelay@Base 2.3.1
get_cipher_type@Base 2.3.1
get_digest_type@Base 2.3.1
get_sockaddr@Base 2.3.1
get_sockaddr_len@Base 2.3.1
init_acl@Base 2.3.1
init_udprelay@Base 2.3.1
ipmap_done@Base 2.3.1
ipmap_free@Base 2.3.1
ipmap_init@Base 2.3.1
ipmap_ip_get@Base 2.3.1
ipmap_ip_set@Base 2.3.1
ipmap_ip_set_network@Base 2.3.1
ipmap_ipv4_get@Base 2.3.1
ipmap_ipv4_set@Base 2.3.1
ipmap_ipv4_set_network@Base 2.3.1
ipmap_ipv6_get@Base 2.3.1
ipmap_ipv6_set@Base 2.3.1
ipmap_ipv6_set_network@Base 2.3.1
ipmap_is_empty@Base 2.3.1
ipmap_is_equal@Base 2.3.1
ipmap_load@Base 2.3.1
ipmap_memory_size@Base 2.3.1
ipmap_new@Base 2.3.1
ipmap_save@Base 2.3.1
ipmap_save_to_stream@Base 2.3.1
ipset_assignment_clear@Base 2.3.1
ipset_assignment_cut@Base 2.3.1
ipset_assignment_equal@Base 2.3.1
ipset_assignment_expand@Base 2.3.1
ipset_assignment_free@Base 2.3.1
ipset_assignment_get@Base 2.3.1
ipset_assignment_new@Base 2.3.1
ipset_assignment_set@Base 2.3.1
ipset_bdd_iterator_advance@Base 2.3.1
ipset_bdd_iterator_free@Base 2.3.1
ipset_bit_array_assignment@Base 2.3.1
ipset_bool_array_assignment@Base 2.3.1
ipset_contains_ip@Base 2.3.1
ipset_contains_ipv4@Base 2.3.1
ipset_contains_ipv6@Base 2.3.1
ipset_done@Base 2.3.1
ipset_expanded_assignment_advance@Base 2.3.1
ipset_expanded_assignment_free@Base 2.3.1
ipset_free@Base 2.3.1
ipset_init@Base 2.3.1
ipset_init_library@Base 2.3.1
ipset_ip_add@Base 2.3.1
ipset_ip_add_network@Base 2.3.1
ipset_ip_remove@Base 2.3.1
ipset_ip_remove_network@Base 2.3.1
ipset_ipv4_add@Base 2.3.1
ipset_ipv4_add_network@Base 2.3.1
ipset_ipv4_remove@Base 2.3.1
ipset_ipv4_remove_network@Base 2.3.1
ipset_ipv6_add@Base 2.3.1
ipset_ipv6_add_network@Base 2.3.1
ipset_ipv6_remove@Base 2.3.1
ipset_ipv6_remove_network@Base 2.3.1
ipset_is_empty@Base 2.3.1
ipset_is_equal@Base 2.3.1
ipset_iterate@Base 2.3.1
ipset_iterate_networks@Base 2.3.1
ipset_iterator_advance@Base 2.3.1
ipset_iterator_free@Base 2.3.1
ipset_load@Base 2.3.1
ipset_memory_size@Base 2.3.1
ipset_new@Base 2.3.1
ipset_node_cache_free@Base 2.3.1
ipset_node_cache_load@Base 2.3.1
ipset_node_cache_new@Base 2.3.1
ipset_node_cache_nodes_equal@Base 2.3.1
ipset_node_cache_nonterminal@Base 2.3.1
ipset_node_cache_save@Base 2.3.1
ipset_node_cache_save_dot@Base 2.3.1
ipset_node_decref@Base 2.3.1
ipset_node_evaluate@Base 2.3.1
ipset_node_fprint@Base 2.3.1
ipset_node_incref@Base 2.3.1
ipset_node_insert@Base 2.3.1
ipset_node_iterate@Base 2.3.1
ipset_node_memory_size@Base 2.3.1
ipset_node_reachable_count@Base 2.3.1
ipset_save@Base 2.3.1
ipset_save_dot@Base 2.3.1
ipset_save_to_stream@Base 2.3.1
json_parse@Base 2.3.1
json_parse_ex@Base 2.3.1
json_value_free@Base 2.3.1
json_value_free_ex@Base 2.3.1
json_value_none@Base 2.3.1
logfile@Base 2.3.1
new_server_ctx@Base 2.3.1
parse_addr@Base 2.3.1
rand_bytes@Base 2.3.1
randombytes@Base 2.3.1
randombytes_buf@Base 2.3.1
randombytes_close@Base 2.3.1
randombytes_implementation_name@Base 2.3.1
randombytes_random@Base 2.3.1
randombytes_salsa20_implementation@Base 2.3.1
randombytes_salsa20_implementation_name@Base 2.3.1
randombytes_salsa20_random@Base 2.3.1
randombytes_salsa20_random_buf@Base 2.3.1
randombytes_salsa20_random_close@Base 2.3.1
randombytes_salsa20_random_stir@Base 2.3.1
randombytes_salsa20_random_uniform@Base 2.3.1
randombytes_set_implementation@Base 2.3.1
randombytes_stir@Base 2.3.1
randombytes_sysrandom@Base 2.3.1
randombytes_sysrandom_buf@Base 2.3.1
randombytes_sysrandom_close@Base 2.3.1
randombytes_sysrandom_implementation@Base 2.3.1
randombytes_sysrandom_implementation_name@Base 2.3.1
randombytes_sysrandom_stir@Base 2.3.1
randombytes_sysrandom_uniform@Base 2.3.1
randombytes_uniform@Base 2.3.1
read_jconf@Base 2.3.1
run_as@Base 2.3.1
set_nofile@Base 2.3.1
setinterface@Base 2.3.1
setnonblocking@Base 2.3.1
sodium_allocarray@Base 2.3.1
sodium_bin2hex@Base 2.3.1
sodium_free@Base 2.3.1
sodium_hex2bin@Base 2.3.1
sodium_init@Base 2.3.1
sodium_library_version_major@Base 2.3.1
sodium_library_version_minor@Base 2.3.1
sodium_malloc@Base 2.3.1
sodium_memcmp@Base 2.3.1
sodium_memzero@Base 2.3.1
sodium_mlock@Base 2.3.1
sodium_mprotect_noaccess@Base 2.3.1
sodium_mprotect_readonly@Base 2.3.1
sodium_mprotect_readwrite@Base 2.3.1
sodium_munlock@Base 2.3.1
sodium_runtime_get_cpu_features@Base 2.3.1
sodium_runtime_has_neon@Base 2.3.1
sodium_runtime_has_sse2@Base 2.3.1
sodium_runtime_has_sse3@Base 2.3.1
sodium_version_string@Base 2.3.1
ss_check_hash@Base 2.3.3
ss_decrypt@Base 2.3.1
ss_decrypt_all@Base 2.3.1
ss_encrypt@Base 2.3.1
ss_encrypt_all@Base 2.3.1
ss_gen_hash@Base 2.3.3
ss_itoa@Base 2.3.1
ss_onetimeauth@Base 2.3.1
ss_onetimeauth_verify@Base 2.3.1
ss_strndup@Base 2.3.1
start_ss_local_server@Base 2.3.1
udns_jraninit@Base 2.3.1
udns_jranval@Base 2.3.1
usage@Base 2.3.1
use_tty@Base 2.3.1
verbose@Base 2.3.1

9
debian/rules

@ -16,9 +16,16 @@
# This has to be exported to make some magic below work.
export DH_OPTIONS
# Enable Multi-Arch support.
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
override_dh_strip:
dh_strip --dbg-package=libshadowsocks-dbg
sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`
override_dh_auto_configure:
dh_auto_configure -- \
--enable-shared
%:
dh $@
dh $@ --with systemd

3
debian/shadowsocks-libev.install

@ -0,0 +1,3 @@
usr/bin/
usr/share/man/
debian/config.json etc/shadowsocks-libev

21
debian/shadowsocks-libev.service

@ -0,0 +1,21 @@
# This file is part of shadowsocks-libev.
#
# Shadowsocks-libev is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This file is default for Debian packaging.
[Unit]
Description=Shadowsocks-libev Default Server Service
After=network.target
[Service]
Type=simple
User=nobody
ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
[Install]
WantedBy=multi-user.target

1
debian/source/format

@ -0,0 +1 @@
3.0 (quilt)
Loading…
Cancel
Save