modify recipes/base-files
[vuplus_openembedded] / recipes / base-files / base-files_3.0.14.bb
1 DESCRIPTION = "Miscellaneous files for the base system."
2 SECTION = "base"
3 PRIORITY = "required"
4 PR = "r90"
5 PR_vuplus = "r58"
6 LICENSE = "GPL"
7
8 SRC_URI = " \
9            file://nsswitch.conf \
10            file://motd \
11            file://inputrc \
12            file://host.conf \
13            file://profile \
14            file://fstab \
15            file://filesystems \
16            file://issue.net \
17            file://issue \
18            file://usbd \
19            file://share/dot.bashrc \
20            file://share/dot.profile \
21            file://licenses/BSD \
22            file://licenses/GPL-2 \
23            file://licenses/GPL-3 \
24            file://licenses/LGPL-2 \
25            file://licenses/LGPL-2.1 \
26            file://licenses/LGPL-3 \
27            file://licenses/GFDL-1.2 \
28            file://licenses/Artistic "
29 SRC_URI_vuplus = " \
30            file://nsswitch.conf \
31            file://motd \
32            file://inputrc \
33            file://host.conf \
34            file://profile \
35            file://fstab \
36            file://filesystems \
37            file://issue.net \
38            file://issue \
39            file://usbd \
40            file://share/dot.bashrc \
41            file://share/dot.profile \
42            file://licenses/BSD \
43            file://licenses/GPL-2 \
44            file://licenses/LGPL-2 \
45            file://licenses/LGPL-2.1 \
46            file://licenses/Artistic "
47 S = "${WORKDIR}"
48
49 docdir_append = "/${P}"
50 dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp"
51 dirs1777_vuplus = "/tmp ${localstatedir}/lock ${localstatedir}/tmp"
52 dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
53 dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
54            ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
55            ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
56            ${libdir} ${sbindir} ${datadir} \
57            ${datadir}/common-licenses ${datadir}/dict ${infodir} \
58            ${mandir} ${datadir}/misc ${localstatedir} \
59            ${localstatedir}/backups ${localstatedir}/lib \
60            /sys ${localstatedir}/lib/misc ${localstatedir}/spool \
61            ${localstatedir}/volatile ${localstatedir}/volatile/cache \
62            ${localstatedir}/volatile/lock/subsys \
63            ${localstatedir}/volatile/log \
64            ${localstatedir}/volatile/run \
65            /mnt /media /media/card /media/cf /media/net /media/ram \
66            /media/union /media/realroot /media/hdd \
67            /media/mmc1"
68 dirs755_vuplus = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
69            ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
70            ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
71            ${libdir} ${sbindir} ${datadir} \
72            ${datadir}/common-licenses ${datadir}/dict ${infodir} \
73            ${mandir} ${datadir}/misc ${localstatedir} \
74            ${localstatedir}/backups ${localstatedir}/cache \
75            ${localstatedir}/lib /sys ${localstatedir}/lib/misc \
76            ${localstatedir}/lock/subsys ${localstatedir}/log \
77            ${localstatedir}/run ${localstatedir}/spool \
78            /mnt /media /media/card /media/cf /media/net /media/ram \
79            /media/union /media/realroot /media/hdd \
80            /media/mmc1"
81 dirs755_micro = "/dev /proc /sys ${sysconfdir}"
82 dirs2775_micro = ""
83 dirs1777_micro = "/tmp"
84
85 media = "card cf net ram"
86 media_micro = ""
87
88 volatiles = "cache run log lock tmp"
89 conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
90              ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
91              ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
92              ${sysconfdir}/default"
93
94 #
95 # set standard hostname, might be a candidate for a DISTRO variable? :M:
96 #
97 hostname = "openembedded"
98 hostname_slugos = "nslu2"
99 hostname_mnci = "MNCI"
100 hostname_rt3000 = "MNRT"
101 hostname_jlime = "JLime"
102
103 do_install () {
104         for d in ${dirs755}; do
105                 install -m 0755 -d ${D}$d
106         done
107         for d in ${dirs1777}; do
108                 install -m 1777 -d ${D}$d
109         done
110         for d in ${dirs2775}; do
111                 install -m 2755 -d ${D}$d
112         done
113         for d in ${volatiles}; do
114                 if [ -d ${D}${localstatedir}/volatile/$d ]; then
115                         ln -sf volatile/$d ${D}/${localstatedir}/$d
116                 fi
117         done
118         for d in ${media}; do
119                 ln -sf /media/$d ${D}/mnt/$d
120         done
121
122         if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
123                 echo ${MACHINE} > ${D}${sysconfdir}/hostname
124         else
125                 echo ${hostname} > ${D}${sysconfdir}/hostname
126         fi
127
128         if [ "${DISTRO}" != "micro" -a "${DISTRO}" != "micro-uclibc" ]; then
129                 install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}  
130
131                 if [ -n "${DISTRO_NAME}" ]; then
132                         echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
133                         echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
134                         if [ -n "${DISTRO_VERSION}" ]; then
135                                 echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue
136                                 echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
137                         fi
138                         echo "\n \l" >> ${D}${sysconfdir}/issue
139                         echo >> ${D}${sysconfdir}/issue
140                         echo "%h"    >> ${D}${sysconfdir}/issue.net
141                         echo >> ${D}${sysconfdir}/issue.net
142                 else
143                         install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue
144                         install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
145                 fi
146
147                 install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
148                 install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
149                 install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
150                 install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
151                 install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
152                 install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
153                 install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
154                 install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
155                 for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic GPL-3 LGPL-3 GFDL-1.2; do
156                         install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
157                 done
158
159                 ln -sf /proc/mounts ${D}${sysconfdir}/mtab
160                 install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
161         fi
162
163         install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
164 }
165
166 do_install_vuplus () {
167         for d in ${dirs755}; do
168                 install -m 0755 -d ${D}$d
169         done
170         for d in ${dirs1777}; do
171                 install -m 1777 -d ${D}$d
172         done
173         for d in ${dirs2775}; do
174                 install -m 2755 -d ${D}$d
175         done
176         for d in card cf net ram; do
177                 ln -sf /media/$d ${D}/mnt/$d
178         done
179
180         if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
181                 echo ${MACHINE} > ${D}${sysconfdir}/hostname
182         else
183                 echo ${hostname} > ${D}${sysconfdir}/hostname
184         fi
185
186         if [ -n "${DISTRO_NAME}" ]; then
187                 echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue
188                 echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue.net
189                 if [ -n "${DISTRO_VERSION}" ]; then
190                         echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue
191                         echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
192                 fi
193                 echo "\n \l" >> ${D}${sysconfdir}/issue
194                 echo >> ${D}${sysconfdir}/issue
195                 echo "%h"    >> ${D}${sysconfdir}/issue.net
196                 echo >> ${D}${sysconfdir}/issue.net
197         else
198                install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue
199                install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
200         fi
201
202         install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
203         install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
204         install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
205         install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
206         install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
207         install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
208         install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
209         install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
210         install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
211         install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
212
213         for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic; do
214                 install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
215         done
216
217         ln -sf /proc/mounts ${D}${sysconfdir}/mtab
218 }
219
220 do_install_append_mnci () {
221         rmdir ${D}/tmp
222         ln -s var/tmp ${D}/tmp
223 }
224
225 do_install_append_nylon() {
226         printf "" "" >${D}${sysconfdir}/resolv.conf
227         rm -r ${D}/mnt/*
228         rm -r ${D}/media
229         rm -rf ${D}/tmp
230         ln -sf /var/tmp ${D}/tmp
231 }
232
233 do_install_append_slugos() {
234         printf "" "" >${D}${sysconfdir}/resolv.conf
235         rm -r ${D}/mnt/*
236         rmdir ${D}/home/root
237         install -m 0755 -d ${D}/root
238         ln -s ../root ${D}/home/root
239 }
240
241 do_install_append_netbook-pro () {
242         mkdir -p ${D}/initrd
243 }
244
245 do_install_append_opendreambox() {
246         rm -rf ${D}/mnt
247         rm -rf ${D}/hdd
248         ln -sf media/hdd ${D}/hdd
249         ln -sf media ${D}/mnt
250 }
251
252 do_install_append_vuplus() {
253         rm -rf ${D}/mnt
254         rm -rf ${D}/hdd
255         ln -sf media/hdd ${D}/hdd
256         ln -sf media ${D}/mnt
257 }
258
259 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}"
260 FILES_${PN} = "/*"
261 PACKAGES_vuplus = "${PN}-doc ${PN}"
262 FILES_${PN}_vuplus = "/"
263 FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
264
265 # M&N specific packaging
266 PACKAGE_ARCH_mnci = "mnci"
267 PACKAGE_ARCH_rt3000 = "rt3000"
268
269 PACKAGE_ARCH = "${MACHINE_ARCH}"
270
271 CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
272 CONFFILES_${PN}_micro = ""
273 CONFFILES_${PN}_nylon = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname"
274 CONFFILES_${PN}_slugos = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname"
275