void-packages/srcpkgs/android-tools/patches/android-tools.patch

823 lines
16 KiB
Diff

diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000000..4644fc0b62ad
--- /dev/null
+++ Makefile
@@ -0,0 +1,47 @@
+all:
+ $(MAKE) -C core/libcutils all
+ $(MAKE) -C libselinux all
+ $(MAKE) -C core/libziparchive all
+ $(MAKE) -C extras/ext4_utils all
+ $(MAKE) -C core/libsparse all
+ $(MAKE) -C core/libutils all
+ $(MAKE) -C core/liblog all
+ $(MAKE) -C core/base all
+ $(MAKE) -C gtest all
+ $(MAKE) -C extras/f2fs_utils all
+ $(MAKE) -C core/adb all
+ $(MAKE) -C core/fastboot all
+
+install: all
+ $(MAKE) -C core/adb install
+ $(MAKE) -C core/fastboot install
+
+clean:
+ $(MAKE) -C core/libcutils clean
+ $(MAKE) -C libselinux clean
+ $(MAKE) -C core/libziparchive clean
+ $(MAKE) -C extras/ext4_utils clean
+ $(MAKE) -C core/libsparse clean
+ $(MAKE) -C core/libutils clean
+ $(MAKE) -C core/liblog clean
+ $(MAKE) -C core/adb libdiagnose_usb
+ $(MAKE) -C core/base clean
+ $(MAKE) -C gtest clean
+ $(MAKE) -C extras/f2fs_utils clean
+ $(MAKE) -C core/adb clean
+ $(MAKE) -C core/fastboot clean
+
+mrproper:
+ $(MAKE) -C core/libcutils mrproper
+ $(MAKE) -C libselinux mrproper
+ $(MAKE) -C core/libziparchive mrproper
+ $(MAKE) -C extras/ext4_utils mrproper
+ $(MAKE) -C core/libsparse mrproper
+ $(MAKE) -C core/libutils mrproper
+ $(MAKE) -C core/liblog mrproper
+ $(MAKE) -C core/adb libdiagnose_usb
+ $(MAKE) -C core/base mrproper
+ $(MAKE) -C gtest mrproper
+ $(MAKE) -C extras/f2fs_utils mrproper
+ $(MAKE) -C core/adb mrproper
+ $(MAKE) -C core/fastboot mrproper
diff --git core/adb/Makefile core/adb/Makefile
new file mode 100644
index 0000000..8ef539b
--- /dev/null
+++ core/adb/Makefile
@@ -0,0 +1,97 @@
+adb_version := $(shell git -C . rev-parse --short=12 HEAD 2>/dev/null)-android
+
+SRCS+= \
+ adb_client.cpp \
+ client/main.cpp \
+ console.cpp \
+ commandline.cpp \
+ file_sync_client.cpp \
+ line_printer.cpp \
+ services.cpp \
+ shell_service_protocol.cpp \
+
+LIBADB_SRCS= \
+ adb.cpp \
+ adb_auth.cpp \
+ adb_io.cpp \
+ adb_listeners.cpp \
+ adb_trace.cpp \
+ adb_utils.cpp \
+ fdevent.cpp \
+ sockets.cpp \
+ transport.cpp \
+ transport_local.cpp \
+ transport_usb.cpp \
+ adb_auth_host.cpp \
+ get_my_path_linux.cpp \
+ sysdeps_unix.cpp \
+ usb_linux.cpp \
+
+LIBDIAGNOSE_USB_SRCS= \
+ diagnose_usb.cpp
+
+
+override CXXFLAGS+= \
+ -I. \
+ -I../include \
+ -I../base/include \
+ -D_Nonnull="" \
+ -D_Nullable="" \
+ -D_GNU_SOURCE \
+ -Wall \
+ -Wextra \
+ -Wno-unused-parameter \
+ -Wno-missing-field-initializers \
+ -Wvla \
+ -DADB_REVISION='"$(adb_version)"' \
+ -std=gnu++14 \
+ -DADB_HOST=1 \
+ -fpermissive \
+ -fvisibility=hidden
+
+
+LIBS= \
+ ./libadb.a \
+ ./libdiagnose_usb.a \
+ ../base/libbase.a \
+ ../libcutils/libcutils.a \
+ ../liblog/liblog.a
+
+override LDFLAGS+= -lssl -lcrypto -lpthread
+
+OBJS= $(SRCS:.cpp=.o)
+LIBADB_OBJS= $(LIBADB_SRCS:.cpp=.o)
+LIBDIAGNOSE_USB_OBJS= $(LIBDIAGNOSE_USB_SRCS:.cpp=.o)
+
+BIN= adb
+
+all: $(BIN)
+
+adb: $(OBJS) libadb libdiagnose_usb
+ $(CXX) -o $@ $(OBJS) $(LIBS) $(LDFLAGS)
+
+
+libadb: libadb.a
+
+libadb.a: $(LIBADB_OBJS)
+ $(AR) rcs $@ $(LIBADB_OBJS)
+
+libdiagnose_usb: libdiagnose_usb.a
+
+libdiagnose_usb.a: $(LIBDIAGNOSE_USB_OBJS)
+ $(AR) rcs $@ $(LIBDIAGNOSE_USB_OBJS)
+
+%.o: %.cpp
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+install: adb
+ install -Dm755 adb $(DESTDIR)$(PREFIX)/bin/adb
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS) $(LIBADB_OBJS) $(LIBDIAGNOSE_USB_OBJS)
+
+mrproper: clean
+ rm -rf $(BIN) *.a
+
diff --git core/base/Makefile core/base/Makefile
new file mode 100644
index 0000000..d3e7436
--- /dev/null
+++ core/base/Makefile
@@ -0,0 +1,37 @@
+SRCS+= \
+ file.cpp \
+ logging.cpp \
+ parsenetaddress.cpp \
+ stringprintf.cpp \
+ strings.cpp \
+ test_utils.cpp \
+ errors_unix.cpp
+
+override CXXFLAGS+= \
+ -I./include \
+ -I../include \
+ -D__GLIBC__ \
+ -Wall \
+ -Wextra \
+ -Werror \
+ -std=gnu++14
+
+OBJS= $(SRCS:.cpp=.o)
+
+BIN= libbase.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.cpp
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/base/errors_unix.cpp core/base/errors_unix.cpp
index 296995e..3b983d3 100644
--- core/base/errors_unix.cpp
+++ core/base/errors_unix.cpp
@@ -17,6 +17,7 @@
#include "android-base/errors.h"
#include <errno.h>
+#include <cstring>
namespace android {
namespace base {
diff --git core/base/logging.cpp core/base/logging.cpp
index 1741871..0aaae2e 100644
--- core/base/logging.cpp
+++ core/base/logging.cpp
@@ -33,6 +33,7 @@
#include <limits>
#include <sstream>
#include <string>
+#include <cstring>
#include <utility>
#include <vector>
diff --git core/fastboot/Makefile core/fastboot/Makefile
new file mode 100644
index 0000000..6d81f7c
--- /dev/null
+++ core/fastboot/Makefile
@@ -0,0 +1,70 @@
+fastboot_version := $(shell git -C . rev-parse --short=12 HEAD 2>/dev/null)-android
+
+SRCS+= \
+ bootimg_utils.cpp \
+ engine.cpp \
+ fastboot.cpp \
+ fs.cpp\
+ protocol.cpp \
+ socket.cpp \
+ tcp.cpp \
+ udp.cpp \
+ util.cpp \
+ usb_linux.cpp \
+ util_linux.cpp
+
+
+override CXXFLAGS+= \
+ -I../mkbootimg/ \
+ -I../base/include \
+ -I../libsparse/include \
+ -I../include \
+ -I../adb \
+ -I../../gtest/include \
+ -I../../extras/ext4_utils \
+ -I../../extras/f2fs_utils \
+ -Wall \
+ -Wextra \
+ -Werror \
+ -Wunreachable-code \
+ -DFASTBOOT_REVISION='"$(fastboot_version)"' \
+ -std=gnu++14
+
+LIBS= \
+ ../libziparchive/libziparchive.a \
+ ../../extras/ext4_utils/libext4_utils.a \
+ ../libsparse/libsparse.a \
+ ../libutils/libutils.a \
+ ../liblog/liblog.a \
+ ../adb/libdiagnose_usb.a \
+ ../base/libbase.a \
+ ../libcutils/libcutils.a \
+ ../../gtest/libgtest.a \
+ ../../extras/f2fs_utils/libf2fs.a \
+ ../libcutils/libcutils.a \
+ ../../libselinux/libselinux.a
+
+override LDFLAGS+= -lz -lpcre -lpthread
+
+OBJS= $(SRCS:.cpp=.o)
+
+BIN= fastboot
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(CXX) -o $@ $(OBJS) $(LIBS) $(LDFLAGS)
+
+%.o: %.cpp
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+install: fastboot
+ install -Dm755 fastboot $(DESTDIR)$(PREFIX)/bin/fastboot
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/include/cutils/atomic.h core/include/cutils/atomic.h
index ded972a..2ff6fce 100644
--- core/include/cutils/atomic.h
+++ core/include/cutils/atomic.h
@@ -19,7 +19,12 @@
#include <stdint.h>
#include <sys/types.h>
+#ifdef __cplusplus
+#include <atomic>
+using namespace std;
+#else
#include <stdatomic.h>
+#endif
#ifndef ANDROID_ATOMIC_INLINE
#define ANDROID_ATOMIC_INLINE static inline
@@ -114,6 +119,7 @@ int32_t android_atomic_or(int32_t value, volatile int32_t* addr)
return atomic_fetch_or_explicit(a, value, memory_order_release);
}
+#ifndef __cplusplus
/*
* Perform an atomic load with "acquire" or "release" ordering.
*
@@ -208,6 +214,7 @@ int android_atomic_release_cas(int32_t oldvalue, int32_t newvalue,
memory_order_release,
memory_order_relaxed));
}
+#endif
/*
* Fence primitives.
diff --git core/include/log/log.h core/include/log/log.h
index e606a84..963347a 100644
--- core/include/log/log.h
+++ core/include/log/log.h
@@ -38,6 +38,7 @@
#include <log/uio.h>
#ifdef __cplusplus
+#include <cstring>
extern "C" {
#endif
diff --git core/libcutils/Makefile core/libcutils/Makefile
new file mode 100644
index 0000000..ec9c573
--- /dev/null
+++ core/libcutils/Makefile
@@ -0,0 +1,59 @@
+CSRCS+= \
+ config_utils.c \
+ fs_config.c \
+ canned_fs_config.c \
+ hashmap.c \
+ iosched_policy.c \
+ load_file.c \
+ native_handle.c \
+ open_memstream.c \
+ process_name.c \
+ record_stream.c \
+ sched_policy.c \
+ strdup16to8.c \
+ strdup8to16.c \
+ strlcpy.c \
+ threads.c \
+ fs.c \
+ multiuser.c \
+ socket_inaddr_any_server_unix.c \
+ socket_local_client_unix.c \
+ socket_local_server_unix.c \
+ socket_loopback_client_unix.c \
+ socket_loopback_server_unix.c \
+ socket_network_client_unix.c \
+ str_parms.c \
+ ashmem-host.c \
+ trace-host.c \
+ dlmalloc_stubs.c
+
+CXXSRCS+= \
+ sockets_unix.cpp \
+ sockets.cpp
+
+override CFLAGS+= -I../include
+
+override CXXFLAGS+= -I../include
+
+COBJS= $(CSRCS:.c=.o)
+CXXOBJS= $(CXXSRCS:.cpp=.o)
+BIN= libcutils.a
+
+all: $(BIN)
+
+$(BIN): $(COBJS) $(CXXOBJS)
+ $(AR) rcs $@ $(COBJS) $(CXXOBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+%.o: %.cpp
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(COBJS) $(CXXOBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/libcutils/fs.c core/libcutils/fs.c
index 3f14de7..175df6a 100644
--- core/libcutils/fs.c
+++ core/libcutils/fs.c
@@ -79,7 +79,7 @@ static int fs_prepare_path_impl(const char* path, mode_t mode, uid_t uid, gid_t
create:
create_result = prepare_as_dir
? TEMP_FAILURE_RETRY(mkdir(path, mode))
- : TEMP_FAILURE_RETRY(open(path, O_CREAT | O_CLOEXEC | O_NOFOLLOW | O_RDONLY));
+ : TEMP_FAILURE_RETRY(open(path, O_CREAT | O_CLOEXEC | O_NOFOLLOW | O_RDONLY, mode));
if (create_result == -1) {
if (errno != EEXIST) {
ALOGE("Failed to %s(%s): %s",
diff --git core/liblog/Makefile core/liblog/Makefile
new file mode 100644
index 0000000..75a0af3
--- /dev/null
+++ core/liblog/Makefile
@@ -0,0 +1,39 @@
+SRCS+= \
+ log_event_list.c \
+ log_event_write.c \
+ logger_write.c \
+ config_write.c \
+ logger_name.c \
+ logger_lock.c \
+ fake_log_device.c \
+ fake_writer.c \
+ event_tag_map.c
+
+
+override CFLAGS+= \
+ -I../include \
+ -DLIBLOG_LOG_TAG=1005 \
+ -DSNET_EVENT_LOG_TAG=1397638484 \
+ -DFAKE_LOG_DEVICE=1 \
+ -Werror \
+ -fvisibility=hidden
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= liblog.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/libpackagelistparser/Makefile core/libpackagelistparser/Makefile
new file mode 100644
index 0000000..38a0158
--- /dev/null
+++ core/libpackagelistparser/Makefile
@@ -0,0 +1,20 @@
+SRCS+= \
+ packagelistparser.c
+
+override CFLAGS+= -I../include
+override CFLAGS+= -I./include
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= libpackagelistparser.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+clean:
+ rm -rf *.o
diff --git core/libsparse/Makefile core/libsparse/Makefile
new file mode 100644
index 0000000..418c028
--- /dev/null
+++ core/libsparse/Makefile
@@ -0,0 +1,31 @@
+SRCS+= \
+ backed_block.c \
+ output_file.c \
+ sparse.c \
+ sparse_crc32.c \
+ sparse_err.c \
+ sparse_read.c
+
+override CFLAGS+= \
+ -I./include \
+ -Werror
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= libsparse.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/libutils/Makefile core/libutils/Makefile
new file mode 100644
index 0000000..82a22b9
--- /dev/null
+++ core/libutils/Makefile
@@ -0,0 +1,50 @@
+SRCS+= \
+ CallStack.cpp \
+ FileMap.cpp \
+ JenkinsHash.cpp \
+ LinearTransform.cpp \
+ Log.cpp \
+ NativeHandle.cpp \
+ Printer.cpp \
+ PropertyMap.cpp \
+ RefBase.cpp \
+ SharedBuffer.cpp \
+ Static.cpp \
+ StopWatch.cpp \
+ String8.cpp \
+ String16.cpp \
+ SystemClock.cpp \
+ Threads.cpp \
+ Timers.cpp \
+ Tokenizer.cpp \
+ Unicode.cpp \
+ VectorImpl.cpp \
+ misc.cpp \
+ Looper.cpp \
+ ProcessCallStack.cpp
+
+override CXXFLAGS+= \
+ -I../include \
+ -I../../safe-iop/include \
+ -DLIBUTILS_NATIVE=1 \
+ -std=gnu++14
+
+OBJS= $(SRCS:.cpp=.o)
+
+BIN= libutils.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.cpp
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/libziparchive/Makefile core/libziparchive/Makefile
new file mode 100644
index 0000000..4eef274
--- /dev/null
+++ core/libziparchive/Makefile
@@ -0,0 +1,34 @@
+SRCS+= \
+ zip_archive.cc \
+ zip_archive_stream_entry.cc \
+ zip_writer.cc \
+
+override CXXFLAGS+= \
+ -I./include \
+ -I../include \
+ -I../base/include \
+ -DZLIB_CONST \
+ -Werror \
+ -fno-strict-aliasing \
+ -std=gnu++14 \
+ -Wall
+
+OBJS= $(SRCS:.cc=.o)
+
+BIN= libziparchive.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git core/libziparchive/zip_writer.cc core/libziparchive/zip_writer.cc
index 1ebed30..5c622d0 100644
--- core/libziparchive/zip_writer.cc
+++ core/libziparchive/zip_writer.cc
@@ -24,6 +24,7 @@
#include <cassert>
#include <cstdio>
+#include <cstring>
#include <memory>
#include <vector>
#include <zlib.h>
diff --git extras/ext4_utils/Makefile extras/ext4_utils/Makefile
new file mode 100644
index 0000000..000aaca
--- /dev/null
+++ extras/ext4_utils/Makefile
@@ -0,0 +1,38 @@
+SRCS+= \
+ make_ext4fs.c \
+ ext4fixup.c \
+ ext4_utils.c \
+ allocate.c \
+ contents.c \
+ extent.c \
+ indirect.c \
+ sha1.c \
+ wipe.c \
+ crc16.c \
+ ext4_sb.c
+
+override CFLAGS+= \
+ -I../../core/libsparse/include \
+ -I../../core/include \
+ -I../../libselinux/include \
+ -fno-strict-aliasing
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= libext4_utils.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git extras/f2fs_utils/Makefile extras/f2fs_utils/Makefile
new file mode 100644
index 0000000..d81ac9a
--- /dev/null
+++ extras/f2fs_utils/Makefile
@@ -0,0 +1,34 @@
+SRCS+= \
+ f2fs_utils.c \
+ f2fs_ioutils.c \
+ f2fs_dlutils.c
+
+
+override CFLAGS+= \
+ -I../../f2fs-tools/include \
+ -I../../f2fs-tools/mkfs \
+ -I../../core/libsparse/include \
+ -I../../libselinux/include \
+ -Wno-unused-parameter
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= libf2fs.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
+
+
diff --git extras/f2fs_utils/f2fs_utils.c extras/f2fs_utils/f2fs_utils.c
index 6254c08..05ec599 100644
--- extras/f2fs_utils/f2fs_utils.c
+++ extras/f2fs_utils/f2fs_utils.c
@@ -53,7 +53,7 @@ static void reset_f2fs_info() {
config.fd = -1;
if (f2fs_sparse_file) {
sparse_file_destroy(f2fs_sparse_file);
- f2fs_sparse_file = NULL;
+ f2fs_sparse_file = 0;
}
}
@@ -73,6 +73,6 @@ int make_f2fs_sparse_fd(int fd, long long len,
sparse_file_write(f2fs_sparse_file, fd, /*gzip*/0, /*sparse*/1, /*crc*/0);
sparse_file_destroy(f2fs_sparse_file);
flush_sparse_buffs();
- f2fs_sparse_file = NULL;
+ f2fs_sparse_file = 0;
return 0;
}
diff --git libselinux/Makefile libselinux/Makefile
new file mode 100644
index 0000000..52ef5cc
--- /dev/null
+++ libselinux/Makefile
@@ -0,0 +1,31 @@
+SRCS+= \
+ src/callbacks.c \
+ src/check_context.c \
+ src/freecon.c \
+ src/init.c \
+ src/label.c \
+ src/label_file.c \
+ src/label_android_property.c \
+ src/label_support.c
+
+override CFLAGS+= -I./include
+
+OBJS= $(SRCS:.c=.o)
+
+BIN= libselinux.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.c
+ $(CC) -c $< $(CFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
diff --git gtest/Makefile gtest/Makefile
new file mode 100644
index 0000000..49a50aa
--- /dev/null
+++ gtest/Makefile
@@ -0,0 +1,36 @@
+SRCS+= \
+ src/gtest-all.cc \
+ src/gtest-filepath.cc \
+ src/gtest-printers.cc \
+ src/gtest-typed-test.cc \
+ src/gtest_main.cc \
+ src/gtest-death-test.cc \
+ src/gtest-port.cc \
+ src/gtest-test-part.cc \
+ src/gtest.cc
+
+
+override CXXFLAGS+= \
+ -I./include \
+ -I.
+
+OBJS= $(SRCS:.cc=.o)
+
+BIN= libgtest.a
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(AR) rcs $@ $(OBJS)
+
+%.o: %.cc
+ $(CXX) -c $< $(CXXFLAGS) -o $@
+
+.PHONY: clean mrproper
+
+clean:
+ rm -rf $(OBJS)
+
+mrproper: clean
+ rm -rf $(BIN)
+