git: import from packages

Signed-off-by: Peter Wagner <tripolar@gmx.at>
This commit is contained in:
Peter Wagner 2014-06-16 11:39:30 +02:00
parent 2ed81adda6
commit 306378c90d
3 changed files with 315 additions and 0 deletions

70
net/git/Makefile Normal file
View File

@ -0,0 +1,70 @@
#
# Copyright (C) 2009-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=git
PKG_VERSION:=2.0.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/scm/git/
PKG_MD5SUM:=0646202ae979e4339f3e47f2375b5773
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/git
SECTION:=net
CATEGORY:=Network
SUBMENU:=Version Control Systems
DEPENDS:=+libopenssl +libpthread
TITLE:=The fast version control system
URL:=http://git-scm.com
endef
define Package/git/description
Git is a free & open source, distributed version control system
designed to handle everything from small to very large projects
with speed and efficiency.
endef
MAKE_FLAGS := \
CC="$(TARGET_CC)" \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="$(TARGET_CPPFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
NO_CURL="YesPlease" \
NO_EXPAT="YesPlease" \
NO_MKSTEMPS="YesPlease" \
NO_GETTEXT="YesPlease" \
NO_UNIX_SOCKETS="YesPlease" \
NO_IPV6="YesPlease" \
NO_ICONV="YesPlease" \
NO_NSEC="YesPlease" \
NO_PERL="YesPlease" \
NO_PYTHON="YesPlease" \
NO_TCLTK="YesPlease"
define Build/Configure
$(MAKE) -C $(PKG_BUILD_DIR) \
configure
( cd $(PKG_BUILD_DIR); \
./configure --prefix=/usr \
);
endef
define Package/git/install
$(INSTALL_DIR) $(1)
$(RM) $(PKG_INSTALL_DIR)/usr/bin/git-cvsserver
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
endef
$(eval $(call BuildPackage,git))

View File

@ -0,0 +1,233 @@
--- a/Makefile
+++ b/Makefile
@@ -532,16 +532,7 @@ EXTRA_PROGRAMS =
# ... and all the rest that could be moved out of bindir to gitexecdir
PROGRAMS += $(EXTRA_PROGRAMS)
-PROGRAM_OBJS += credential-store.o
-PROGRAM_OBJS += daemon.o
-PROGRAM_OBJS += fast-import.o
-PROGRAM_OBJS += http-backend.o
-PROGRAM_OBJS += imap-send.o
-PROGRAM_OBJS += sh-i18n--envsubst.o
-PROGRAM_OBJS += shell.o
-PROGRAM_OBJS += show-index.o
-PROGRAM_OBJS += upload-pack.o
-PROGRAM_OBJS += remote-testsvn.o
+PROGRAM_OBJS =
# Binary suffix, set to .exe for Windows builds
X =
@@ -1002,6 +993,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/daemon.o
+BUILTIN_OBJS += builtin/fast-import.o
+BUILTIN_OBJS += builtin/http-backend.o
+BUILTIN_OBJS += builtin/imap-send.o
+BUILTIN_OBJS += builtin/shell.o
+BUILTIN_OBJS += builtin/upload-pack.o
GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
EXTLIBS =
@@ -1165,7 +1162,7 @@ endif
EXTLIBS += -lz
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)
@@ -2049,10 +2046,6 @@ endif
git-%$X: %.o GIT-LDFLAGS $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
-git-imap-send$X: imap-send.o GIT-LDFLAGS $(GITLIBS)
- $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
- $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
-
git-http-fetch$X: http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
$(LIBS) $(CURL_LIBCURL)
@@ -2364,24 +2357,22 @@ endif
bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
{ 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_INSTALL_HARDLINKS)$(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" && \
test -z "$(NO_INSTALL_HARDLINKS)" && \
- 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" && \
test -z "$(NO_INSTALL_HARDLINKS)" && \
- 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/builtin.h
+++ b/builtin.h
@@ -136,5 +136,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_daemon(int argc, char **argv, const char *prefix);
+extern int cmd_fast_import(int argc, char **argv, const char *prefix);
+extern int cmd_http_backend(int argc, char **argv, const char *prefix);
+extern int cmd_imap_send(int argc, 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);
#endif
--- /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/daemon.c
+++ b/daemon.c
@@ -1125,7 +1125,7 @@ static int serve(struct string_list *lis
return service_loop(&socklist);
}
-int main(int argc, char **argv)
+int cmd_daemon(int argc, char **argv, const char *prefix)
{
int listen_port = 0;
struct string_list listen_addr = STRING_LIST_INIT_NODUP;
--- a/fast-import.c
+++ b/fast-import.c
@@ -3356,7 +3356,7 @@ static void parse_argv(void)
read_marks();
}
-int main(int argc, char **argv)
+int cmd_fast_import(int argc, char **argv, const char *prefix)
{
unsigned int i;
--- a/git.c
+++ b/git.c
@@ -275,11 +275,11 @@ static int handle_alias(int *argcp, cons
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;
@@ -359,6 +359,7 @@ static struct cmd_struct commands[] = {
{ "config", cmd_config, RUN_SETUP_GENTLY },
{ "count-objects", cmd_count_objects, RUN_SETUP },
{ "credential", cmd_credential, RUN_SETUP_GENTLY },
+ { "daemon", cmd_daemon },
{ "describe", cmd_describe, RUN_SETUP },
{ "diff", cmd_diff },
{ "diff-files", cmd_diff_files, RUN_SETUP | NEED_WORK_TREE },
@@ -377,6 +378,8 @@ static struct cmd_struct commands[] = {
{ "grep", cmd_grep, RUN_SETUP_GENTLY },
{ "hash-object", cmd_hash_object },
{ "help", cmd_help },
+ { "http-backend", cmd_http_backend },
+ { "imap-send", cmd_imap_send },
{ "index-pack", cmd_index_pack, RUN_SETUP_GENTLY },
{ "init", cmd_init_db },
{ "init-db", cmd_init_db },
@@ -424,6 +427,7 @@ static struct cmd_struct commands[] = {
{ "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE },
{ "rm", cmd_rm, RUN_SETUP },
{ "send-pack", cmd_send_pack, RUN_SETUP },
+ { "shell", cmd_shell },
{ "shortlog", cmd_shortlog, RUN_SETUP_GENTLY | USE_PAGER },
{ "show", cmd_show, RUN_SETUP },
{ "show-branch", cmd_show_branch, RUN_SETUP },
@@ -440,6 +444,7 @@ static struct cmd_struct commands[] = {
{ "update-server-info", cmd_update_server_info, RUN_SETUP },
{ "upload-archive", cmd_upload_archive },
{ "upload-archive--writer", cmd_upload_archive_writer },
+ { "upload-pack", cmd_upload_pack },
{ "var", cmd_var, RUN_SETUP_GENTLY },
{ "verify-pack", cmd_verify_pack },
{ "verify-tag", cmd_verify_tag, RUN_SETUP },
--- a/http-backend.c
+++ b/http-backend.c
@@ -563,7 +563,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
@@ -1362,7 +1362,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 strbuf all_msgs = STRBUF_INIT;
struct strbuf msg = STRBUF_INIT;
--- a/shell.c
+++ b/shell.c
@@ -142,7 +142,7 @@ static struct commands {
{ NULL },
};
-int main(int argc, char **argv)
+int cmd_shell(int argc, char **argv, const char *prefix)
{
char *prog;
const char **user_argv;
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -790,7 +790,7 @@ static int upload_pack_config(const char
return parse_hide_refs_config(var, value, "uploadpack");
}
-int main(int argc, char **argv)
+int cmd_upload_pack(int argc, char **argv, const char *prefix)
{
char *dir;
int i;

View File

@ -0,0 +1,12 @@
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -17,9 +17,6 @@ endif
# because maintaining the nesting to match is a pain. If
# we had "elif" things would have been much nicer...
-ifeq ($(uname_M),x86_64)
- XDL_FAST_HASH = YesPlease
-endif
ifeq ($(uname_S),OSF1)
# Need this for u_short definitions et al
BASIC_CFLAGS += -D_OSF_SOURCE