]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/base-files/base-files_3.0.14.bb
base-files, initscripts: stop the populate-volatiles madness. reinstate populate...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / base-files / base-files_3.0.14.bb
1 DESCRIPTION = "Miscellaneous files for the base system."
2 SECTION = "base"
3 PRIORITY = "required"
4 LICENSE = "GPL"
5 PR = "r49"
6
7 RDEPENDS = " initscripts (>= 1.0-r62)"
8
9 SRC_URI = " \
10            file://nsswitch.conf \
11            file://motd \
12            file://inputrc \
13            file://host.conf \
14            file://profile \
15            file://fstab \
16            file://filesystems \
17            file://issue.net \
18            file://issue \
19            file://shells \
20            file://usbd \
21            file://share/dot.bashrc \
22            file://share/dot.profile \
23            file://licenses/BSD \
24            file://licenses/GPL-2 \
25            file://licenses/LGPL-2 \
26            file://licenses/LGPL-2.1 \
27            file://licenses/Artistic "
28 S = "${WORKDIR}"
29
30
31 PACKAGE_ARCH = "${MACHINE_ARCH}"
32
33 PACKAGES = "${PN}-doc ${PN}"
34 FILES_${PN} = "/"
35 FILES_${PN}-doc = "${docdir}"
36
37
38 CONFFILES_${PN} = "${sysconfdir}/resolv.conf \
39                    ${sysconfdir}/fstab \
40                    ${sysconfdir}/hostname"
41
42
43 docdir_append = "/${P}"
44 dirs1777 = "/tmp ${localstatedir}/lock ${localstatedir}/tmp"
45 dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
46 dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
47            ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
48            ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
49            ${libdir} ${sbindir} ${datadir} \
50            ${datadir}/common-licenses ${datadir}/dict ${infodir} \
51            ${mandir} ${datadir}/misc ${localstatedir} \
52            ${localstatedir}/backups ${localstatedir}/cache \
53            ${localstatedir}/lib /sys ${localstatedir}/lib/misc \
54            ${localstatedir}/lock/subsys ${localstatedir}/log \
55            ${localstatedir}/run ${localstatedir}/spool \
56            /mnt /media /media/card /media/cf /media/net /media/ram \
57            /media/hdd \
58            /media/mmc1"
59 conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
60              ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
61              ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
62              ${sysconfdir}/default"
63
64 def filter_tmpfs(files, d):
65         r = []
66         for f in files.split():
67                 if f.startswith("${localstatedir}") or f.startswith("/var"):
68                         r.append(f)
69         return " ".join(r)
70
71 tmpfsdirs1777 = "${@filter_tmpfs(bb.data.getVar("dirs1777", d, 0), d)}"
72 tmpfsdirs2775 = "${@filter_tmpfs(bb.data.getVar("dirs2775", d, 0), d)}"
73 tmpfsdirs755 = "${@filter_tmpfs(bb.data.getVar("dirs755", d, 0), d)}"
74 tmpfsfiles664 = "${localstatedir}/run/utmp \
75                  ${localstatedir}/log/wtmp \
76                  ${localstatedir}/log/lastlog"
77
78 hostname = "openembedded"
79
80 do_install () {
81         for d in ${dirs755}; do
82                 install -m 0755 -d ${D}$d
83         done
84         for d in ${dirs1777}; do
85                 install -m 1777 -d ${D}$d
86         done
87         for d in ${dirs2775}; do
88                 install -m 2755 -d ${D}$d
89         done
90         for d in card cf net ram; do
91                 ln -sf /media/$d ${D}/mnt/$d
92         done
93
94         if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
95                 echo ${MACHINE} > ${D}${sysconfdir}/hostname
96         else
97                 echo ${hostname} > ${D}${sysconfdir}/hostname
98         fi
99
100         if [ -n "${DISTRO_NAME}" ]; then
101                 echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue
102                 echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue.net
103                 if [ -n "${DISTRO_VERSION}" ]; then
104                         echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue
105                         echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
106                 fi
107                 echo "\n \l" >> ${D}${sysconfdir}/issue
108                 echo >> ${D}${sysconfdir}/issue
109                 echo "%h"    >> ${D}${sysconfdir}/issue.net
110                 echo >> ${D}${sysconfdir}/issue.net
111         else
112                install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue
113                install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
114         fi
115
116         install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
117         install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
118         install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
119         install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
120         install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
121         install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
122         install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
123         install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
124         install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
125         install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
126         install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells
127
128         for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic; do
129                 install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
130         done
131
132         if (grep -q "^\(tmpfs\|ramfs\)\W\+/var" ${D}${sysconfdir}/fstab); then
133                 # remove from package
134                 rm -rf ${D}${localstatedir}/*
135
136                 # create on boot
137                 install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/rcS.d
138                 echo "mkdir -p ${tmpfsdirs1777}" >> ${D}${sysconfdir}/init.d/populate-var.sh
139                 echo "chmod 1777 ${tmpfsdirs1777}" >> ${D}${sysconfdir}/init.d/populate-var.sh
140                 echo "mkdir -p ${tmpfsdirs2775}" >> ${D}${sysconfdir}/init.d/populate-var.sh
141                 echo "chmod 2775 ${tmpfsdirs2775}" >> ${D}${sysconfdir}/init.d/populate-var.sh
142                 echo "mkdir -p ${tmpfsdirs755}" >> ${D}${sysconfdir}/init.d/populate-var.sh
143                 echo "chmod 0755 ${tmpfsdirs755}" >> ${D}${sysconfdir}/init.d/populate-var.sh
144                 echo "touch ${tmpfsfiles664}" >> ${D}${sysconfdir}/init.d/populate-var.sh
145                 echo "chmod 0664 ${tmpfsfiles664}" >> ${D}${sysconfdir}/init.d/populate-var.sh
146                 chmod 0755 ${D}${sysconfdir}/init.d/populate-var.sh
147                 ln -sf ../init.d/populate-var.sh ${D}${sysconfdir}/rcS.d/S37populate-var.sh
148
149                 # ship symlinks
150                 ln -sf ${localstatedir}/run/resolv.conf ${D}${sysconfdir}/resolv.conf
151                 ln -sf ${localstatedir}/ld.so.cache ${D}${sysconfdir}/ld.so.cache
152         fi
153
154         ln -sf /proc/mounts ${D}${sysconfdir}/mtab
155 }