-
Notifications
You must be signed in to change notification settings - Fork 2
/
build_release
executable file
·148 lines (119 loc) · 3.13 KB
/
build_release
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#!/bin/sh
WINLOCAL=/home/jm/H-win/local
set -e
if [ -z "$1" ]; then
echo "build_release <version> [nobin]"
exit 1
fi
TMP=tmp.build_release
RELDIR=`pwd`/Release
VER=$1
NOW=`date +%Y-%m-%d`
echo "Version: $VER - $NOW"
DATEw=`head -n 3 wpa_supplicant/ChangeLog | tail -n 1 | sed "s/ .*//"`
DATEh=`head -n 3 hostapd/ChangeLog | tail -n 1 | sed "s/ .*//"`
if [ "$DATEw" != "$NOW" -o "$DATEh" != "$NOW" ]; then
echo "NOTE! Date mismatch in ChangeLog: wpa_supplicant $DATEw hostapd $DATEh != $NOW"
fi
if [ -r $TMP ]; then
echo "Temporary directory '$TMP' exists. Remove it before running this."
exit 1
fi
mkdir $TMP
mkdir -p $RELDIR
git archive --format=tar --prefix=wpa-$VER/ HEAD \
README COPYING patches src wpa_supplicant hostapd |
gzip > $RELDIR/wpa-$VER.tar.gz
git archive --format=tar --prefix=hostapd-$VER/ HEAD \
README COPYING patches src hostapd |
gzip > $RELDIR/hostapd-$VER.tar.gz
git archive --format=tar --prefix=wpa_supplicant-$VER/ HEAD \
README COPYING patches src wpa_supplicant |
tar --directory=$TMP -xf -
cd $TMP
make -C wpa_supplicant-$VER/wpa_supplicant/doc/docbook man
rm -f wpa_supplicant-$VER/wpa_supplicant/doc/docbook/manpage.{links,refs}
tar czf $RELDIR/wpa_supplicant-$VER.tar.gz wpa_supplicant-$VER
cd ..
rm -r $TMP
if [ "$2" = "nobin" ]; then
exit 0
fi
cd $RELDIR
PDIR=wpa_supplicant-$VER
WDIR=wpa_supplicant-windows-bin-$VER
tar xzf $PDIR.tar.gz
mkdir "$WDIR"
cd "$PDIR/wpa_supplicant"
cat > .config <<EOF
CONFIG_DRIVER_NDIS=y
CONFIG_NATIVE_WINDOWS=y
CC=i586-mingw32msvc-gcc
STRIP=i586-mingw32msvc-strip
PLATFORMSDKLIB=$WINLOCAL/lib
CONFIG_NDIS_EVENTS_INTEGRATED=y
CFLAGS += -I$WINLOCAL/include
LIBS += -L$WINLOCAL/lib
LIBS_w += -L$WINLOCAL/lib
LIBS_p += -L$WINLOCAL/lib
CONFIG_EAP_SIM=y
CONFIG_SIM_SIMULATOR=y
CONFIG_EAP_AKA=y
CONFIG_USIM_SIMULATOR=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_FAST=y
CONFIG_EAP_TLS=y
CONFIG_CTRL_IFACE=y
CONFIG_EAP_FAST=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_TTLS=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_GTC=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PAX=y
CONFIG_EAP_SAKE=y
CONFIG_EAP_PSK=y
CONFIG_EAP_TNC=y
CONFIG_PKCS12=y
CONFIG_PCSC=y
CONFIG_WPS=y
CONFIG_L2_PACKET=winpcap
CONFIG_MAIN=main_winsvc
CONFIG_BACKEND=winreg
CONFIG_ELOOP=eloop_win
CFLAGS += -DCONFIG_DEBUG_FILE
EOF
# First, build the Windows service & registry version and rename it
make -j2 windows-bin
mv wpa_supplicant.exe wpasvc.exe
# Then, build "the standard" wpa_supplicant.exe
cat >> .config <<EOF
CONFIG_MAIN=main
CONFIG_BACKEND=file
EOF
make -j2 windows-bin
for i in COPYING; do
unix2dos < ../$i > ../../"$WDIR"/$i
done
for i in README README-Windows.txt wpa_supplicant.conf; do
unix2dos < $i > ../../"$WDIR"/$i
done
mv *.exe ../../"$WDIR"
cp win_example.reg ../../"$WDIR"
cd wpa_gui-qt4
make -C icons
qmake -spec win32-x-g++
make -j2
cp release/wpa_gui.exe ../../../"$WDIR"
lrelease wpa_gui.pro
cp lang/wpa_gui_de.qm ../../../"$WDIR"
cd ../../..
rm -rf "$PDIR"
zip "$WDIR.zip" "$WDIR"/*
rm -rf "$WDIR"
cd $RELDIR/..
./build_nsis.sh "$RELDIR/$WDIR.zip"
mv wpa_supplicant-$VER.exe $RELDIR
ls -l $RELDIR/*$VER*
exit 0