packages/net/git/patches/001-convert_builtin.patch

221 lines
6.6 KiB
Diff
Raw Normal View History

--- /dev/null
+++ b/builtin/daemon.c
@@ -0,0 +1 @@
+#include "../daemon.c"
--- /dev/null
+++ b/builtin/fast-import.c
@@ -0,0 +1 @@
+#include "../fast-import.c"
--- /dev/null
+++ b/builtin/http-backend.c
@@ -0,0 +1 @@
+#include "../http-backend.c"
--- /dev/null
+++ b/builtin/imap-send.c
@@ -0,0 +1 @@
+#include "../imap-send.c"
--- /dev/null
+++ b/builtin/shell.c
@@ -0,0 +1 @@
+#include "../shell.c"
--- /dev/null
+++ b/builtin/upload-pack.c
@@ -0,0 +1 @@
+#include "../upload-pack.c"
--- a/builtin.h
+++ b/builtin.h
@@ -139,5 +139,11 @@ extern int cmd_verify_pack(int argc, con
extern int cmd_show_ref(int argc, const char **argv, const char *prefix);
extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
extern int cmd_replace(int argc, const char **argv, const char *prefix);
+extern int cmd_shell(int argc, char **argv, const char *prefix);
+extern int cmd_upload_pack(int argc, char **argv, const char *prefix);
+extern int cmd_http_backend(int argc, char **argv, const char *prefix);
+extern int cmd_daemon(int argc, char **argv, const char *prefix);
+extern int cmd_imap_send(int argc, char **argv, const char *prefix);
+extern int cmd_fast_import(int argc, const char **argv, const char *prefix);
#endif
--- a/daemon.c
+++ b/daemon.c
@@ -963,7 +963,7 @@ static int serve(char *listen_addr, int
return service_loop(socknum, socklist);
}
-int main(int argc, char **argv)
+int cmd_daemon(int argc, char **argv, const char *prefix)
{
int listen_port = 0;
char *listen_addr = NULL;
--- a/fast-import.c
+++ b/fast-import.c
@@ -2912,7 +2912,7 @@ static void parse_argv(void)
read_marks();
}
-int main(int argc, const char **argv)
+int cmd_fast_import(int argc, const char **argv, const char *prefix)
{
unsigned int i;
--- a/git.c
+++ b/git.c
@@ -240,11 +240,11 @@ const char git_version_string[] = GIT_VE
struct cmd_struct {
const char *cmd;
- int (*fn)(int, const char **, const char *);
+ int (*fn)(int, char **, const char *);
int option;
};
-static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
+static int run_builtin(struct cmd_struct *p, int argc, char **argv)
{
int status, help;
struct stat st;
@@ -293,7 +293,7 @@ static int run_builtin(struct cmd_struct
return 0;
}
-static void handle_internal_command(int argc, const char **argv)
+static void handle_internal_command(int argc, char **argv)
{
const char *cmd = argv[0];
static struct cmd_struct commands[] = {
@@ -405,6 +405,12 @@ static void handle_internal_command(int
{ "verify-pack", cmd_verify_pack },
{ "show-ref", cmd_show_ref, RUN_SETUP },
{ "pack-refs", cmd_pack_refs, RUN_SETUP },
+ { "shell", cmd_shell },
+ { "upload-pack", cmd_upload_pack },
+ { "http-backend", cmd_http_backend },
+ { "daemon", cmd_daemon },
+ { "imap-send", cmd_imap_send },
+ { "fast-import", cmd_fast_import },
};
int i;
static const char ext[] = STRIP_EXTENSION;
--- a/http-backend.c
+++ b/http-backend.c
@@ -540,7 +540,7 @@ static struct service_cmd {
{"POST", "/git-receive-pack$", service_rpc}
};
-int main(int argc, char **argv)
+int cmd_http_backend(int argc, char **argv, const char *prefix)
{
char *method = getenv("REQUEST_METHOD");
char *dir;
--- a/imap-send.c
+++ b/imap-send.c
@@ -1528,7 +1528,7 @@ static int git_imap_config(const char *k
return 0;
}
-int main(int argc, char **argv)
+int cmd_imap_send(int argc, char **argv, const char *prefix)
{
struct msg_data all_msgs, msg;
struct store *ctx = NULL;
--- a/Makefile
+++ b/Makefile
@@ -398,12 +398,7 @@ EXTRA_PROGRAMS =
# ... and all the rest that could be moved out of bindir to gitexecdir
PROGRAMS += $(EXTRA_PROGRAMS)
-PROGRAM_OBJS += fast-import.o
-PROGRAM_OBJS += imap-send.o
-PROGRAM_OBJS += shell.o
PROGRAM_OBJS += show-index.o
-PROGRAM_OBJS += upload-pack.o
-PROGRAM_OBJS += http-backend.o
PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))
@@ -750,6 +745,12 @@ BUILTIN_OBJS += builtin/var.o
BUILTIN_OBJS += builtin/verify-pack.o
BUILTIN_OBJS += builtin/verify-tag.o
BUILTIN_OBJS += builtin/write-tree.o
+BUILTIN_OBJS += builtin/shell.o
+BUILTIN_OBJS += builtin/upload-pack.o
+BUILTIN_OBJS += builtin/http-backend.o
+BUILTIN_OBJS += builtin/daemon.o
+BUILTIN_OBJS += builtin/imap-send.o
+BUILTIN_OBJS += builtin/fast-import.o
GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
EXTLIBS =
@@ -1244,10 +1245,9 @@ endif
EXTLIBS += -lz
ifndef NO_POSIX_ONLY_PROGRAMS
- PROGRAM_OBJS += daemon.o
endif
ifndef NO_OPENSSL
- OPENSSL_LIBSSL = -lssl
+ EXTLIBS += -lssl
ifdef OPENSSLDIR
BASIC_CFLAGS += -I$(OPENSSLDIR)/include
OPENSSL_LINK = -L$(OPENSSLDIR)/$(lib) $(CC_LD_DYNPATH)$(OPENSSLDIR)/$(lib)
@@ -1923,10 +1923,6 @@ endif
git-%$X: %.o $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
-git-imap-send$X: imap-send.o $(GITLIBS)
- $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
- $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
-
git-http-fetch$X: revision.o http.o http-walker.o http-fetch.o $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
$(LIBS) $(CURL_LIBCURL)
@@ -2124,23 +2120,22 @@ endif
bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
+ ln -s ../../bin/git "$$execdir/git" && \
{ test "$$bindir/" = "$$execdir/" || \
- for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
+ for p in $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
$(RM) "$$execdir/$$p" && \
test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
- ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \
+ ln -s git "$$execdir/$$p" 2>/dev/null || \
cp "$$bindir/$$p" "$$execdir/$$p" || exit; \
done; \
} && \
for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
$(RM) "$$bindir/$$p" && \
- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
done && \
for p in $(BUILT_INS); do \
$(RM) "$$execdir/$$p" && \
- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
done && \
--- a/shell.c
+++ b/shell.c
@@ -45,7 +45,7 @@ static struct commands {
{ NULL },
};
-int main(int argc, char **argv)
+int cmd_shell(int argc, char **argv, const char *prefix)
{
char *prog;
struct commands *cmd;
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -676,7 +676,7 @@ static void upload_pack(void)
}
}
-int main(int argc, char **argv)
+int cmd_upload_pack(int argc, char **argv, const char *prefix)
{
char *dir;
int i;