source: freewrt/package/base-files/Makefile@ 63f60c2

freewrt_1_0 freewrt_2_0
Last change on this file since 63f60c2 was 63f60c2, checked in by Thorsten Glaser <tg@…>, 19 years ago

bump package patchlevel for markus@
after revision 641-643's changes

git-svn-id: svn://www.freewrt.org/trunk/freewrt@644 afb5a338-a214-0410-bd46-81f09a774fd1

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