English Language flag
// Log In
// CVSweb
Project: FreeWRT
// Summary // Activity // Search // Tracker // Lists // News // SCM // Wiki

SCM Repository

ViewVC logotype

Contents of /branches/freewrt_1_0/package/base-files/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2766 - (show annotations) (download)
Mon Jun 11 23:24:02 2007 UTC (6 years, 8 months ago) by tha
File size: 5254 byte(s)
fixed a lot of startup or shutdown related problems
- added start/stop logik to S10boot, S20jggsclean & S98done
- fixed check for empty variable in vlan.pre-up (ugly erros in log)
- aiccu only gets killed when it was really running before
  (otherwise it logs ugly messages to syslog)
- ntpclient packages now has an init.d script and some
  reasonable default flags. if present, the serverhost comes
  from /etc/ntpd.conf
- removed hotplug ntpclient script, I think it never worked
  correctly
- ntpclient & openntpd are waiting 15 seconds in autostart
  mode before they are executed. in bridging-wlan/lan-mode
  this seems to be neccessary, because otherwise ntp(client)
  cannot sync (network not really up?)
- shorewall only executes "shorewall stop" if it was started
  before.
- fixed rcK script: the -k2 option was useless in our case (thx tg)


1 # $FreeWRT$
2 #-
3 # This file is part of the FreeWRT project. FreeWRT is copyrighted
4 # material, please see the LICENCE file in the top-level directory
5 # or at http://www.freewrt.org/licence for details.
6
7 include $(TOPDIR)/rules.mk
8 include $(TOPDIR)/mk/targets.mk
9
10 PKG_NAME:= base-files
11 PKG_VERSION:= 1.0
12 PKG_RELEASE:= 20
13 WRKSRC= ${WRKDIR}/base-files
14 DISTFILES:=
15
16 include $(TOPDIR)/mk/package.mk
17
18 IDIR_BASE:=$(WRKBUILD)/$(PKG_NAME)-$(PKG_VERSION)
19 IPKG_BASE:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
20
21 UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
22 IDIR_UCLIBC:=$(WRKBUILD)/uclibc
23 IPKG_UCLIBC:=$(PACKAGE_DIR)/uclibc_$(UCLIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
24
25 LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
26 IDIR_LIBGCC:=$(WRKBUILD)/libgcc
27 IPKG_LIBGCC:=$(PACKAGE_DIR)/libgcc_$(LIBGCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
28
29 PACKAGES:=$(IPKG_BASE) $(IPKG_UCLIBC)
30 PACKAGES_INSTALL:=$(IPKG_BASE) $(IPKG_UCLIBC)
31
32 MD5CRYPT := $(shell $(MKPASSWD) $(FWRT_RUNTIME_PASSWORD))
33
34 ifeq ($(FWRT_PACKAGE_LIBGCC),y)
35 PACKAGES+=$(IPKG_LIBGCC)
36 PACKAGES_INSTALL+=$(IPKG_LIBGCC)
37 endif
38 ifeq ($(FWRT_PACKAGE_LIBGCC),m)
39 PACKAGES+=$(IPKG_LIBGCC)
40 endif
41
42 ADMIN_SHELL:= /bin/sh
43 ifeq (${FWRT_BASEFILES_ADMIN_ASH},y)
44 ADMIN_SHELL:= /bin/ash
45 endif
46 ifeq (${FWRT_BASEFILES_ADMIN_MKSH},y)
47 ADMIN_SHELL:= /bin/mksh
48 endif
49 ifeq (${FWRT_BASEFILES_ADMIN_HUSH},y)
50 ADMIN_SHELL:= /bin/hush
51 endif
52 ifeq (${FWRT_BASEFILES_ADMIN_LASH},y)
53 ADMIN_SHELL:= /bin/lash
54 endif
55 ifeq (${FWRT_BASEFILES_ADMIN_MSH},y)
56 ADMIN_SHELL:= /bin/msh
57 endif
58
59 $(WRKBUILD)/.prepared:
60 mkdir -p $(WRKBUILD) $(PACKAGE_DIR)
61 touch $@
62
63 $(WRKBUILD)/.configured:
64 touch $@
65
66 $(WRKBUILD)/.built:
67 touch $@
68
69 $(IPKG_BASE):
70 $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_BASE) ipkg/$(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
71 $(CP) ./files/* $(IDIR_BASE)
72 typeset -i REV; \
73 if fgrep xml .svn/entries >/dev/null 2>&1; then \
74 let REV="$$(sed -n '/revision=/s/^.*"\([0-9]*\)".*$$/\1/p' \
75 .svn/entries)"; \
76 else \
77 let REV="$$(head -n 4 .svn/entries | tail -1)"; \
78 fi; ${SED} 's,$$R,'$$REV,g $(IDIR_BASE)/etc/banner
79 $(SED) 's,$$R,$(REV),g' $(IDIR_BASE)/etc/banner
80 test -z $(FWRT_RUNTIME_PACKAGES_URL) || \
81 $(SED) 's,^src freewrt.*$$,src freewrt $(FWRT_RUNTIME_PACKAGES_URL),' \
82 -e '/^src freewrt/s,"\(.*\)",\1,' $(IDIR_BASE)/etc/ipkg.conf
83 $(SED) 's,@TARGET@,$(BOARD)-$(KERNEL),g' $(IDIR_BASE)/etc/ipkg.conf
84 $(SED) 's,@VERSION@,$(FWRT_VERSION),g' $(IDIR_BASE)/etc/ipkg.conf
85 test -z $(FWRT_RUNTIME_PASSWORD) || \
86 $(SED) 's,\*NP\*,$(MD5CRYPT),g' $(IDIR_BASE)/etc/passwd
87 $(SED) 's!@SHELL@!${ADMIN_SHELL}!g' $(IDIR_BASE)/etc/passwd
88 test -z $(FWRT_RUNTIME_SSHKEY) || ( \
89 mkdir -p $(IDIR_BASE)/etc/dropbear; \
90 echo $(FWRT_RUNTIME_SSHKEY) >$(IDIR_BASE)/etc/dropbear/authorized_keys; \
91 )
92 rng=/dev/arandom; test -e $$rng || rng=/dev/urandom; \
93 dd if=$$rng of=$(IDIR_BASE)/etc/.rnd bs=512 count=1; \
94 chmod 600 $(IDIR_BASE)/etc/.rnd
95 echo /bin/sh >${IDIR_BASE}/etc/shells
96 ifneq (${BUSYBOX_CONFIG_ASH},)
97 echo /bin/ash >>${IDIR_BASE}/etc/shells
98 endif
99 ifneq (${BUSYBOX_CONFIG_HUSH},)
100 echo /bin/hush >>${IDIR_BASE}/etc/shells
101 endif
102 ifneq (${BUSYBOX_CONFIG_LASH},)
103 echo /bin/lash >>${IDIR_BASE}/etc/shells
104 endif
105 ifneq (${BUSYBOX_CONFIG_MSH},)
106 echo /bin/msh >>${IDIR_BASE}/etc/shells
107 endif
108 ifneq (${FWRT_PACKAGE_MKSH},)
109 echo /bin/mksh >>${IDIR_BASE}/etc/shells
110 endif
111 ifneq (${FWRT_PACKAGE_MKSH_AS_BINASH},)
112 echo /bin/ash >>${IDIR_BASE}/etc/shells
113 endif
114 mkdir -p $(IDIR_BASE)/dev
115 mkdir -p $(IDIR_BASE)/etc/crontabs
116 mkdir -p $(IDIR_BASE)/jffs
117 mkdir -p $(IDIR_BASE)/lib
118 mkdir -p $(IDIR_BASE)/mnt
119 mkdir -p $(IDIR_BASE)/proc
120 mkdir -p $(IDIR_BASE)/tmp
121 mkdir -p $(IDIR_BASE)/usr/lib
122 mkdir -p $(IDIR_BASE)/usr/bin
123 ln -sf /tmp/resolv.conf $(IDIR_BASE)/etc/resolv.conf
124 ln -sf /proc/mounts $(IDIR_BASE)/etc/mtab
125 rm -f $(IDIR_BASE)/var
126 ln -sf /tmp $(IDIR_BASE)/var
127 -find $(IDIR_BASE) -type d -name CVS | xargs rm -rf
128 -find $(IDIR_BASE) -type d -name .svn | xargs rm -rf
129 -find $(IDIR_BASE) -name '.#*' | xargs rm -f
130 ifneq (${FWRT_PACKAGE_CONFIG_IN_ETC},)
131 gzip -9c ${TOPDIR}/.config > $(IDIR_BASE)/etc/freewrt.config.gz
132 endif
133 $(IPKG_BUILD) $(IDIR_BASE) $(PACKAGE_DIR)
134
135 $(IPKG_UCLIBC):
136 $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_UCLIBC) ipkg/uclibc.control $(UCLIBC_VERSION)-$(PKG_RELEASE) $(ARCH)
137 mkdir -p $(IDIR_UCLIBC)/lib
138 for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \
139 $(CP) $(STAGING_DIR)/lib/$$file.so.* $(IDIR_UCLIBC)/lib/; \
140 $(CP) $(STAGING_DIR)/lib/$$file-$(UCLIBC_VERSION).so $(IDIR_UCLIBC)/lib/; \
141 done
142 -$(STRIP) $(IDIR_UCLIBC)/lib/*
143 $(IPKG_BUILD) $(IDIR_UCLIBC) $(PACKAGE_DIR)
144
145 $(IPKG_LIBGCC):
146 $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_LIBGCC) ipkg/libgcc.control $(LIBGCC_VERSION)-$(PKG_RELEASE) $(ARCH)
147 mkdir -p $(IDIR_LIBGCC)/lib
148 $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(IDIR_LIBGCC)/lib/
149 -$(STRIP) $(IDIR_LIBGCC)/lib/*
150 $(IPKG_BUILD) $(IDIR_LIBGCC) $(PACKAGE_DIR)
151
152 install-dev:
153 mkdir -p $(STAGING_DIR)/usr/include
154 $(CP) ./include/[a-z]* $(STAGING_DIR)/usr/include/
155
156 package-clean:
157 rm -f $(PACKAGES)
158
159 clean-targets: package-clean
160 prepare: install-dev
161 compile-targets: $(PACKAGES)
162 install-targets: compile
163 mkdir -p $(TARGET_DIR)
164 $(IPKG) install $(PACKAGES_INSTALL)

root@freewrt.org:443
ViewVC Help
Powered by ViewVC 1.1.20