components/shim/patches/01-Makefile.patch
author Rich Burridge <rich.burridge@oracle.com>
Wed, 19 Apr 2017 09:52:51 -0700
changeset 7914 f4f86a568115
parent 7222 37e367b978c0
permissions -rw-r--r--
25675711 Update cmake to version 3.7 (fix evaluation build)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7222
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     1
# Source: Internal
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     2
# Info: Written internally so this component can be built on Solaris.
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     3
# Status: This patch is offered at https://github.com/rhinstaller/shim/issues/54
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     4
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     5
--- ORIGINAL/Makefile	2016-06-24 03:08:28.270393201 +0000
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     6
+++ shim-0.9/Makefile	2016-08-01 20:57:34.268232472 +0000
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     7
@@ -1,38 +1,52 @@
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     8
 VERSION		= 0.9
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     9
-RELEASE		:=
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    10
+RELEASE		:=""
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    11
 ifneq ($(RELEASE),"")
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    12
 	RELEASE="-$(RELEASE)"
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    13
 endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    14
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    15
 CC		= $(CROSS_COMPILE)gcc
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    16
-LD		= $(CROSS_COMPILE)ld
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    17
-OBJCOPY		= $(CROSS_COMPILE)objcopy
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    18
+OS		= $(shell uname -s)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    19
+ifeq ($(OS),SunOS) 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    20
+	LD		= /usr/gnu/bin/ld
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    21
+	OBJCOPY		= /usr/gnu/bin/objcopy
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    22
+	ARCH		= $(shell isainfo -n)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    23
+	LIB_PATH	= /usr/lib/amd64
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    24
+	EFI_PATH	:= /usr/lib/amd64/efi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    25
+	DEFAULT_LOADER	:= \\\\grubx64.efi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    26
+	# FreeBSD reports amd64 instead of x86_64
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    27
+	ifeq ($(ARCH),amd64)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    28
+	  override ARCH := x86_64
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    29
+	endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    30
+	EFI_LDS		= elf_$(ARCH)_efi_sol2.lds
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    31
+else
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    32
+	LD		= $(CROSS_COMPILE)ld
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    33
+	OBJCOPY		= /usr/gnu/bin/objcopy
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    34
+	ARCH		= $(shell $(CC) -dumpmachine | cut -f1 -d- | sed s,i[3456789]86,ia32,)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    35
+	LIB_PATH	= /usr/lib/amd64
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    36
+	EFI_PATH	:= /usr/lib64/gnuefi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    37
+	DEFAULT_LOADER	:= \\\\grub.efi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    38
+	EFI_LDS		= elf_$(ARCH)_efi.lds
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    39
+endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    40
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    41
-ARCH		= $(shell $(CC) -dumpmachine | cut -f1 -d- | sed s,i[3456789]86,ia32,)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    42
 OBJCOPY_GTE224  = $(shell expr `$(OBJCOPY) --version |grep ^"GNU objcopy" | sed 's/^.* //g' | cut -f1-2 -d.` \>= 2.24)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    43
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    44
 SUBDIRS		= Cryptlib lib
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    45
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    46
-LIB_PATH	= /usr/lib64
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    47
-
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    48
 EFI_INCLUDE	:= /usr/include/efi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    49
 EFI_INCLUDES	= -nostdinc -ICryptlib -ICryptlib/Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol -I$(shell pwd)/include
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    50
-EFI_PATH	:= /usr/lib64/gnuefi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    51
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    52
 LIB_GCC		= $(shell $(CC) -print-libgcc-file-name)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    53
 EFI_LIBS	= -lefi -lgnuefi --start-group Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a --end-group $(LIB_GCC) 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    54
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    55
 EFI_CRT_OBJS 	= $(EFI_PATH)/crt0-efi-$(ARCH).o
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    56
-EFI_LDS		= elf_$(ARCH)_efi.lds
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    57
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    58
-DEFAULT_LOADER	:= \\\\grub.efi
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    59
 CFLAGS		= -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    60
 		  -fshort-wchar -Wall -Wsign-compare -Werror -fno-builtin \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    61
 		  -Werror=sign-compare -ffreestanding \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    62
 		  -I$(shell $(CC) -print-file-name=include) \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    63
 		  "-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    64
 		  "-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    65
-		  $(EFI_INCLUDES)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    66
+		  $(EFI_INCLUDES) -I/usr/include
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    67
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    68
 ifneq ($(origin OVERRIDE_SECURITY_POLICY), undefined)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    69
 	CFLAGS	+= -DOVERRIDE_SECURITY_POLICY
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    70
@@ -93,10 +107,12 @@
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    71
 		-e "s,@@COMMIT@@,$(shell if [ -d .git ] ; then git log -1 --pretty=format:%H ; elif [ -f commit ]; then cat commit ; else echo commit id not available; fi)," \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    72
 		< version.c.in > version.c
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    73
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    74
+ifneq ($(OS),SunOS)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    75
 certdb/secmod.db: shim.crt
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    76
 	-mkdir certdb
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    77
 	pk12util -d certdb/ -i shim.p12 -W "" -K ""
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    78
 	certutil -d certdb/ -A -i shim.crt -n shim -t u
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    79
+endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    80
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    81
 shim.o: $(SOURCES) shim_cert.h
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    82
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    83
@@ -156,16 +172,32 @@
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    84
 		-j .note.gnu.build-id \
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    85
 		$(FORMAT) $^ [email protected]
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    86
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    87
+ifeq ($(OS),SunOS)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    88
+%.efi.signed: %.efi shim.crt
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    89
+	sbsign --cert $(word 2,$^) --key shim.key --output $@ $<
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    90
+else
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    91
 %.efi.signed: %.efi certdb/secmod.db
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    92
 	pesign -n certdb -i $< -c "shim" -s -o $@ -f
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    93
+endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    94
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    95
 clean:
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    96
 	$(MAKE) -C Cryptlib clean
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    97
 	$(MAKE) -C Cryptlib/OpenSSL clean
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    98
 	$(MAKE) -C lib clean
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    99
+	ifeq ($(OS),SunOS)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   100
+	rm -rf $(TARGET) $(OBJS) $(MOK_OBJS) $(FALLBACK_OBJS) $(KEYS)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   101
+	else
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   102
 	rm -rf $(TARGET) $(OBJS) $(MOK_OBJS) $(FALLBACK_OBJS) $(KEYS) certdb
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   103
+	endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   104
 	rm -f *.debug *.so *.efi *.tar.* version.c
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   105
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   106
+ifeq ($(OS),SunOS)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   107
+install:
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   108
+	echo $(DESTDIR)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   109
+	mkdir -p $(DESTDIR)/boot
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   110
+	install -m 0755 $(TARGET) $(DESTDIR)/boot
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   111
+endif
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   112
+
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   113
 GITTAG = $(VERSION)
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   114
 
37e367b978c0 23300489 Add shim to Userland
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   115
 test-archive: