Magellan Linux

Contents of /trunk/core/base-files/base-files-0.7-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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