mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-05-28 04:03:29 -04:00
Added command-line option parser and an unsigned build option to build_all.py
Modified win/build_all.py so that it parses command-line options using getopt. Added option "-u / --unsigned" which allows forcing unsigned builds and a "-h / --help" option. By default a signed build is generated, provided that the Python SignTool module is installed. If not, the build is interrupted. Signed-off-by: Samuli Seppänen <samuli@openvpn.net> Acked-by: Peter Stuge <peter@stuge.se> Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
This commit is contained in:
parent
e98124dfba
commit
f20c2f0d6b
1 changed files with 56 additions and 15 deletions
|
|
@ -1,18 +1,59 @@
|
|||
from config_all import main as config_all
|
||||
from build import main as build_openvpn
|
||||
from build_ddk import main as build_ddk
|
||||
from sign import main as sign
|
||||
from make_dist import main as make_dist
|
||||
|
||||
def main(config):
|
||||
config_all(config)
|
||||
build_openvpn()
|
||||
build_ddk(config, 'tap', 'all')
|
||||
build_ddk(config, 'tapinstall', 'all')
|
||||
sign(config, 'all')
|
||||
make_dist(config)
|
||||
|
||||
# if we are run directly, and not loaded as a module
|
||||
import getopt, sys
|
||||
from config_all import main as config_all
|
||||
from build import main as build_openvpn
|
||||
from build_ddk import main as build_ddk
|
||||
from make_dist import main as make_dist
|
||||
|
||||
def Usage():
|
||||
'''Show usage information'''
|
||||
print "Usage: build_all.py [OPTIONS]..."
|
||||
print "Build OpenVPN using Visual Studio tools"
|
||||
print
|
||||
print " -h, --help Show this help"
|
||||
print " -u, --unsigned Do not sign the TAP drivers"
|
||||
sys.exit(1)
|
||||
|
||||
def main(config):
|
||||
|
||||
# Do a signed build by default
|
||||
signedBuild=True
|
||||
|
||||
# Parse the command line argument(s)
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:], "hu", ["help", "unsigned"])
|
||||
except getopt.GetoptError:
|
||||
Usage()
|
||||
|
||||
for o, a in opts:
|
||||
if o in ("-h","--help"):
|
||||
Usage()
|
||||
if o in ("-u", "--unsigned"):
|
||||
signedBuild=False
|
||||
|
||||
|
||||
# Check if the SignTool module is present. This avoids ImportErrors popping
|
||||
# up annoyingly _after_ the build.
|
||||
if signedBuild:
|
||||
try:
|
||||
from signtool import SignTool
|
||||
except (ImportError):
|
||||
print "ERROR: SignTool python module not found! Can't do a signed build."
|
||||
sys.exit(1)
|
||||
else:
|
||||
print "Doing an unsigned build as requested"
|
||||
|
||||
# Start the build
|
||||
config_all(config)
|
||||
build_openvpn()
|
||||
build_ddk(config, 'tap', 'all')
|
||||
build_ddk(config, 'tapinstall', 'all')
|
||||
|
||||
if signedBuild:
|
||||
sign(config, 'all')
|
||||
|
||||
make_dist(config)
|
||||
|
||||
# if we are run directly, and not loaded as a module
|
||||
if __name__ == "__main__":
|
||||
from wb import config
|
||||
main(config)
|
||||
|
|
|
|||
Loading…
Reference in a new issue