Magellan Linux

Contents of /trunk/core/base-files/base-files-0.6-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11351 - (show annotations) (download)
Sat Mar 3 18:00:05 2012 UTC (12 years, 2 months ago) by niro
File size: 2630 byte(s)
-fixed broken rc.d dir
1 # $Id$
2
3 PNAME="base-files"
4 PVER="0.6"
5 PBUILD="r2"
6
7 PCAT="sys-apps"
8
9 DESCRIPTION="Basic dirs and files for Magellan-Linux."
10 HOMEPAGE="http://www.magellan-linux.de/"
11
12 DEPEND=""
13
14 sminclude mtools
15
16 SRCFILE=""
17 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
18
19 SRC_URI=(
20 mirror://${PNAME}/group
21 mirror://${PNAME}/passwd
22 )
23
24 src_install()
25 {
26 install -d ${SRCDIR}
27 cd ${SRCDIR}
28
29 # creating fhs compat directories
30 local i
31 for i in bin boot dev etc home lib media mnt opt proc run root sbin srv sys tmp usr var
32 do
33 mkeepdir /${i} || die
34 done
35
36 # needed by non devtmpfs mounts
37 mkeepdir /dev/shm || die
38
39 # global environment
40 mkeepdir /etc/env.d || die
41
42 # sysvinit compat
43 for i in rc.d rc.d/init.d rc.d/rc{1,2,3,4,5,6,sysinit}.d
44 do
45 mkeepdir /etc/${i} || die
46 done
47 mkeepdir /lib/dev-state || die
48 for i in floppy cdrom
49 do
50 mkeepdir /media/${i} || die
51 mkeepdir /mnt/${i} || die
52 done
53
54 # setup /opt
55 for i in bin doc include info lib man{,/man{1,2,3,4,5,6,7,8}}
56 do
57 mkeepdir /opt/${i} || die
58 done
59
60 # setup /usr
61 mkeepdir /usr/local || die
62 for i in bin etc include lib{,/locale} sbin share src
63 do
64 mkeepdir /usr/${i} || die
65 mkeepdir /usr/local/${i} || die
66 done
67 for i in dict doc info locale man{,/man{1,2,3,4,5,6,7,8}} \
68 nls misc terminfo zoneinfo
69 do
70 mkeepdir /usr/share/${i} || die
71 mkeepdir /usr/local/share/${i} || die
72 done
73
74 # setup /var
75 for i in cache lib{,/{misc,locate}} local log mail opt spool tmp
76 do
77 mkeepdir /var/${i} || die
78 done
79
80 # new lock goes now to /run
81 mkeepdir /run/lock || die
82
83 # compat symlinks
84 mlink ../run /var/run || die
85 mlink ../run/lock /var/lock || die
86
87 # symlinks
88 mlink rc.d/init.d /etc || die
89 for i in doc info man
90 do
91 mlink share/${i} /usr || die
92 mlink share/${i} /usr/local || die
93 done
94
95 # these needs special rights
96 mchmod 0750 /root || die
97 mchmod 1777 /tmp || die
98 mchmod 1777 /var/tmp || die
99
100 # multilib support
101 if [[ $(mlibdir) != lib ]]
102 then
103 mkeepdir /$(mlibdir) || die
104 mkeepdir /usr/$(mlibdir) || die
105 mkeepdir /usr/local/$(mlibdir) || die
106 mkeepdir /var/$(mlibdir) || die
107 mkeepdir /opt/$(mlibdir) || die
108 mlink ../lib/locale /usr/$(mlibdir) || die
109 fi
110
111 # shadow passwd/group
112 minstallfile -s group /etc || die
113 minstallfile -s passwd /etc || die
114
115 # always keep this files even, a user could have edited them
116 MCONFIG="/etc/env.d/01base"
117 mclearconfig || die
118 maddconfig 'CONFIG_PROTECT_IGNORE="/etc/group /etc/passwd"' || die
119 }
120
121 preremove()
122 {
123 # protect these files, that they never get removed from the system
124 local CONFIG_IGNORE="group passwd"
125 for i in ${CONFIG_IGNORE}
126 do
127 [[ -e ${MROOT}/etc/${i} ]] && touch ${MROOT}/etc/${i}
128 done
129 }