package/hostapd: enhance compile-options a bit, eases testing
[openadk.git] / package / base-files / Makefile
blobcb2b2430b26637f5b82a9d8099b628414b2372d6
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(TOPDIR)/rules.mk
5 include $(TOPDIR)/mk/rootfs.mk
7 PKG_NAME:= base-files
8 PKG_VERSION:= 1.0
9 PKG_RELEASE:= 50
10 PKG_SECTION:= base
11 PKG_DESCR:= basic files and scripts
13 WRKDIST= ${WRKDIR}/base-files
14 NO_DISTFILES:= 1
16 include $(TOPDIR)/mk/package.mk
18 $(eval $(call PKG_template,BASE_FILES,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
20 CONFIG_STYLE:= manual
21 BUILD_STYLE:= manual
22 INSTALL_STYLE:= manual
24 do-install:
25 $(CP) ./src/* $(IDIR_BASE_FILES)
26 ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
27 @echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces
28 endif
29 $(SED) 's,@ARCH@,$(ADK_TARGET_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
30 $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
31 $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
32 $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
33 $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
34 echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
35 echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells
36 ifneq (${ADK_PACKAGE_BASH},)
37 echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells
38 endif
39 ifneq (${ADK_PACKAGE_MKSH},)
40 echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells
41 endif
42 ifneq (${ADK_PACKAGE_ZSH},)
43 echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells
44 endif
45 mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
46 mkdir -p $(IDIR_BASE_FILES)/etc/crontabs
47 mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt}
48 ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
49 mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d}
50 endif
51 mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin}
52 chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
53 chmod 600 $(IDIR_BASE_FILES)/etc/shadow
54 chmod 600 $(IDIR_BASE_FILES)/etc/network/interfaces
55 chmod 1777 ${IDIR_BASE_FILES}/tmp
56 ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
57 rm -rf $(IDIR_BASE_FILES)/var
58 ln -sf tmp $(IDIR_BASE_FILES)/var
59 test -z $(ADK_RUNTIME_CONSOLE_VGA) || \
60 cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
61 test -z $(ADK_RUNTIME_CONSOLE_SERIAL) || \
62 cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
63 test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
64 cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
65 test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
66 cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
67 ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y)
68 $(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
69 endif
70 $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
71 test -z $(ADK_RUNTIME_HOSTNAME) || \
72 echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \
73 echo "127.0.0.1 localhost" > $(IDIR_BASE_FILES)/etc/hosts
74 echo "::1 localhost" >> $(IDIR_BASE_FILES)/etc/hosts
75 echo "127.0.1.1 $(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
76 test -z $(ADK_RUNTIME_PASSWORD) || \
77 $(SED) 's,\*NP\*,'"$$(${TOPDIR}/bin/tools/mkcrypt \
78 ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
79 git log -1|head -1|sed -e 's#commit ##' \
80 > $(IDIR_BASE_FILES)/etc/adkversion
81 test -z $(ADK_TARGET_SYSTEM) || \
82 echo $(ADK_TARGET_SYSTEM) > $(IDIR_BASE_FILES)/etc/adktarget
83 echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs
84 ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
85 gzip -9c ${TOPDIR}/.config >$(IDIR_BASE_FILES)/etc/adkconfig.gz
86 chmod 600 $(IDIR_BASE_FILES)/etc/adkconfig.gz
87 endif
91 # simple network configuration
92 ifneq (${ADK_SIMPLE_NETWORK_CONFIG},)
93 ${INSTALL_DIR} ${IDIR_BASE_FILES}/etc/network
95 # network config local
96 echo -e "auto lo\niface lo inet loopback" > ${IDIR_BASE_FILES}/etc/network/interfaces
98 # network config eth0
99 # configure nic with manual ip
100 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC},y)
101 echo -e "\nauto eth0\niface eth0 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
102 endif
103 # configure nic with dhcp
104 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL},y)
105 echo -e "\nauto eth0\niface eth0 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
106 echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
107 echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
108 echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
109 echo -e " gateway ${SIMPLE_NETWORK_CONFIG_ETH0_GW}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
110 endif
111 # configure bridge
112 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE},y)
113 echo -e "\nauto br0\niface br0 inet manual" >> ${IDIR_BASE_FILES}/etc/network/interfaces
114 echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
115 endif
116 #configure bridge with ip
117 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP},y)
118 echo -e "\nauto br0\niface br0 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
119 echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
120 echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
121 echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
122 echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
123 endif
125 # network config eth1
126 # configure nic with manual ip
127 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC},y)
128 echo -e "\nauto eth1\niface eth1 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
129 endif
130 # configure nic with dhcp
131 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC_MANUAL},y)
132 echo -e "\nauto eth1\niface eth1 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
133 echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
134 echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
135 echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
136 echo -e " gateway ${SIMPLE_NETWORK_CONFIG_ETH1_GW}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
137 endif
138 # configure bridge
139 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE},y)
140 echo -e "\nauto br0\niface br1 inet manual" >> ${IDIR_BASE_FILES}/etc/network/interfaces
141 echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
142 endif
143 #configure bridge with ip
144 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP},y)
145 echo -e "\nauto br0\niface br1 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
146 echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
147 echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
148 echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
149 echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
150 endif
152 # newline at the end of interfaces file
153 echo -en "\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
155 # resolver config
156 echo -e "nameserver ${SIMPLE_NETWORK_CONFIG_RESOLV}" > ${IDIR_BASE_FILES}/etc/resolv.conf
157 endif
160 include ${TOPDIR}/mk/pkg-bottom.mk