[package] update and optimize git package
[openwrt/svn-archive/archive.git] / net / git / patches / 001-convert_builtin.patch
1 diff -Nur git-1.7.3.2-orig/builtin/daemon.c git-1.7.3.2/builtin/daemon.c
2 --- git-1.7.3.2-orig/builtin/daemon.c 1970-01-01 01:00:00.000000000 +0100
3 +++ git-1.7.3.2/builtin/daemon.c 2010-11-17 12:30:47.977921001 +0100
4 @@ -0,0 +1 @@
5 +#include "../daemon.c"
6 diff -Nur git-1.7.3.2-orig/builtin/fast-import.c git-1.7.3.2/builtin/fast-import.c
7 --- git-1.7.3.2-orig/builtin/fast-import.c 1970-01-01 01:00:00.000000000 +0100
8 +++ git-1.7.3.2/builtin/fast-import.c 2010-11-17 12:30:47.977921001 +0100
9 @@ -0,0 +1 @@
10 +#include "../fast-import.c"
11 diff -Nur git-1.7.3.2-orig/builtin/http-backend.c git-1.7.3.2/builtin/http-backend.c
12 --- git-1.7.3.2-orig/builtin/http-backend.c 1970-01-01 01:00:00.000000000 +0100
13 +++ git-1.7.3.2/builtin/http-backend.c 2010-11-17 12:30:47.977921001 +0100
14 @@ -0,0 +1 @@
15 +#include "../http-backend.c"
16 diff -Nur git-1.7.3.2-orig/builtin/imap-send.c git-1.7.3.2/builtin/imap-send.c
17 --- git-1.7.3.2-orig/builtin/imap-send.c 1970-01-01 01:00:00.000000000 +0100
18 +++ git-1.7.3.2/builtin/imap-send.c 2010-11-17 12:30:47.977921001 +0100
19 @@ -0,0 +1 @@
20 +#include "../imap-send.c"
21 diff -Nur git-1.7.3.2-orig/builtin/shell.c git-1.7.3.2/builtin/shell.c
22 --- git-1.7.3.2-orig/builtin/shell.c 1970-01-01 01:00:00.000000000 +0100
23 +++ git-1.7.3.2/builtin/shell.c 2010-11-17 12:30:47.977921001 +0100
24 @@ -0,0 +1 @@
25 +#include "../shell.c"
26 diff -Nur git-1.7.3.2-orig/builtin/upload-pack.c git-1.7.3.2/builtin/upload-pack.c
27 --- git-1.7.3.2-orig/builtin/upload-pack.c 1970-01-01 01:00:00.000000000 +0100
28 +++ git-1.7.3.2/builtin/upload-pack.c 2010-11-17 12:30:47.977921001 +0100
29 @@ -0,0 +1 @@
30 +#include "../upload-pack.c"
31 diff -Nur git-1.7.3.2-orig/builtin.h git-1.7.3.2/builtin.h
32 --- git-1.7.3.2-orig/builtin.h 2010-10-22 05:49:16.000000000 +0200
33 +++ git-1.7.3.2/builtin.h 2010-11-17 12:30:47.977921001 +0100
34 @@ -139,5 +139,11 @@
35 extern int cmd_show_ref(int argc, const char **argv, const char *prefix);
36 extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
37 extern int cmd_replace(int argc, const char **argv, const char *prefix);
38 +extern int cmd_shell(int argc, char **argv, const char *prefix);
39 +extern int cmd_upload_pack(int argc, char **argv, const char *prefix);
40 +extern int cmd_http_backend(int argc, char **argv, const char *prefix);
41 +extern int cmd_daemon(int argc, char **argv, const char *prefix);
42 +extern int cmd_imap_send(int argc, char **argv, const char *prefix);
43 +extern int cmd_fast_import(int argc, const char **argv, const char *prefix);
44
45 #endif
46 diff -Nur git-1.7.3.2-orig/daemon.c git-1.7.3.2/daemon.c
47 --- git-1.7.3.2-orig/daemon.c 2010-10-22 05:49:16.000000000 +0200
48 +++ git-1.7.3.2/daemon.c 2010-11-17 12:30:47.977921001 +0100
49 @@ -963,7 +963,7 @@
50 return service_loop(socknum, socklist);
51 }
52
53 -int main(int argc, char **argv)
54 +int cmd_daemon(int argc, char **argv, const char *prefix)
55 {
56 int listen_port = 0;
57 char *listen_addr = NULL;
58 diff -Nur git-1.7.3.2-orig/fast-import.c git-1.7.3.2/fast-import.c
59 --- git-1.7.3.2-orig/fast-import.c 2010-10-22 05:49:16.000000000 +0200
60 +++ git-1.7.3.2/fast-import.c 2010-11-17 12:30:47.977921001 +0100
61 @@ -2912,7 +2912,7 @@
62 read_marks();
63 }
64
65 -int main(int argc, const char **argv)
66 +int cmd_fast_import(int argc, const char **argv, const char *prefix)
67 {
68 unsigned int i;
69
70 diff -Nur git-1.7.3.2-orig/git.c git-1.7.3.2/git.c
71 --- git-1.7.3.2-orig/git.c 2010-10-22 05:49:16.000000000 +0200
72 +++ git-1.7.3.2/git.c 2010-11-17 12:30:47.977921001 +0100
73 @@ -240,11 +240,11 @@
74
75 struct cmd_struct {
76 const char *cmd;
77 - int (*fn)(int, const char **, const char *);
78 + int (*fn)(int, char **, const char *);
79 int option;
80 };
81
82 -static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
83 +static int run_builtin(struct cmd_struct *p, int argc, char **argv)
84 {
85 int status, help;
86 struct stat st;
87 @@ -293,7 +293,7 @@
88 return 0;
89 }
90
91 -static void handle_internal_command(int argc, const char **argv)
92 +static void handle_internal_command(int argc, char **argv)
93 {
94 const char *cmd = argv[0];
95 static struct cmd_struct commands[] = {
96 @@ -405,6 +405,12 @@
97 { "verify-pack", cmd_verify_pack },
98 { "show-ref", cmd_show_ref, RUN_SETUP },
99 { "pack-refs", cmd_pack_refs, RUN_SETUP },
100 + { "shell", cmd_shell },
101 + { "upload-pack", cmd_upload_pack },
102 + { "http-backend", cmd_http_backend },
103 + { "daemon", cmd_daemon },
104 + { "imap-send", cmd_imap_send },
105 + { "fast-import", cmd_fast_import },
106 };
107 int i;
108 static const char ext[] = STRIP_EXTENSION;
109 diff -Nur git-1.7.3.2-orig/http-backend.c git-1.7.3.2/http-backend.c
110 --- git-1.7.3.2-orig/http-backend.c 2010-10-22 05:49:16.000000000 +0200
111 +++ git-1.7.3.2/http-backend.c 2010-11-17 12:30:47.977921001 +0100
112 @@ -542,7 +542,7 @@
113 {"POST", "/git-receive-pack$", service_rpc}
114 };
115
116 -int main(int argc, char **argv)
117 +int cmd_http_backend(int argc, char **argv, const char *prefix)
118 {
119 char *method = getenv("REQUEST_METHOD");
120 char *dir;
121 diff -Nur git-1.7.3.2-orig/imap-send.c git-1.7.3.2/imap-send.c
122 --- git-1.7.3.2-orig/imap-send.c 2010-10-22 05:49:16.000000000 +0200
123 +++ git-1.7.3.2/imap-send.c 2010-11-17 12:30:47.977921001 +0100
124 @@ -1528,7 +1528,7 @@
125 return 0;
126 }
127
128 -int main(int argc, char **argv)
129 +int cmd_imap_send(int argc, char **argv, const char *prefix)
130 {
131 struct msg_data all_msgs, msg;
132 struct store *ctx = NULL;
133 diff -Nur git-1.7.3.2-orig/Makefile git-1.7.3.2/Makefile
134 --- git-1.7.3.2-orig/Makefile 2010-10-22 05:49:16.000000000 +0200
135 +++ git-1.7.3.2/Makefile 2010-11-17 12:46:11.309922603 +0100
136 @@ -398,12 +398,7 @@
137 # ... and all the rest that could be moved out of bindir to gitexecdir
138 PROGRAMS += $(EXTRA_PROGRAMS)
139
140 -PROGRAM_OBJS += fast-import.o
141 -PROGRAM_OBJS += imap-send.o
142 -PROGRAM_OBJS += shell.o
143 PROGRAM_OBJS += show-index.o
144 -PROGRAM_OBJS += upload-pack.o
145 -PROGRAM_OBJS += http-backend.o
146
147 PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))
148
149 @@ -750,6 +745,12 @@
150 BUILTIN_OBJS += builtin/verify-pack.o
151 BUILTIN_OBJS += builtin/verify-tag.o
152 BUILTIN_OBJS += builtin/write-tree.o
153 +BUILTIN_OBJS += builtin/shell.o
154 +BUILTIN_OBJS += builtin/upload-pack.o
155 +BUILTIN_OBJS += builtin/http-backend.o
156 +BUILTIN_OBJS += builtin/daemon.o
157 +BUILTIN_OBJS += builtin/imap-send.o
158 +BUILTIN_OBJS += builtin/fast-import.o
159
160 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
161 EXTLIBS =
162 @@ -1244,10 +1245,9 @@
163 EXTLIBS += -lz
164
165 ifndef NO_POSIX_ONLY_PROGRAMS
166 - PROGRAM_OBJS += daemon.o
167 endif
168 ifndef NO_OPENSSL
169 - OPENSSL_LIBSSL = -lssl
170 + EXTLIBS += -lssl
171 ifdef OPENSSLDIR
172 BASIC_CFLAGS += -I$(OPENSSLDIR)/include
173 OPENSSL_LINK = -L$(OPENSSLDIR)/$(lib) $(CC_LD_DYNPATH)$(OPENSSLDIR)/$(lib)
174 @@ -1919,10 +1919,6 @@
175 git-%$X: %.o $(GITLIBS)
176 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
177
178 -git-imap-send$X: imap-send.o $(GITLIBS)
179 - $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
180 - $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL)
181 -
182 git-http-fetch$X: revision.o http.o http-walker.o http-fetch.o $(GITLIBS)
183 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
184 $(LIBS) $(CURL_LIBCURL)
185 @@ -2120,23 +2116,22 @@
186
187 bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
188 execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
189 + ln -s ../../bin/git "$$execdir/git" && \
190 { test "$$bindir/" = "$$execdir/" || \
191 - for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
192 + for p in $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
193 $(RM) "$$execdir/$$p" && \
194 test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
195 - ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \
196 + ln -s git "$$execdir/$$p" 2>/dev/null || \
197 cp "$$bindir/$$p" "$$execdir/$$p" || exit; \
198 done; \
199 } && \
200 for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
201 $(RM) "$$bindir/$$p" && \
202 - ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
203 ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
204 cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
205 done && \
206 for p in $(BUILT_INS); do \
207 $(RM) "$$execdir/$$p" && \
208 - ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
209 ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
210 cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
211 done && \
212 diff -Nur git-1.7.3.2-orig/shell.c git-1.7.3.2/shell.c
213 --- git-1.7.3.2-orig/shell.c 2010-10-22 05:49:16.000000000 +0200
214 +++ git-1.7.3.2/shell.c 2010-11-17 12:30:47.981921001 +0100
215 @@ -45,7 +45,7 @@
216 { NULL },
217 };
218
219 -int main(int argc, char **argv)
220 +int cmd_shell(int argc, char **argv, const char *prefix)
221 {
222 char *prog;
223 struct commands *cmd;
224 diff -Nur git-1.7.3.2-orig/upload-pack.c git-1.7.3.2/upload-pack.c
225 --- git-1.7.3.2-orig/upload-pack.c 2010-10-22 05:49:16.000000000 +0200
226 +++ git-1.7.3.2/upload-pack.c 2010-11-17 12:30:47.981921001 +0100
227 @@ -676,7 +676,7 @@
228 }
229 }
230
231 -int main(int argc, char **argv)
232 +int cmd_upload_pack(int argc, char **argv, const char *prefix)
233 {
234 char *dir;
235 int i;