Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33479 - (show annotations) (download)
Mon Jul 24 11:41:43 2023 UTC (9 months, 2 weeks ago) by niro
File size: 3282 byte(s)
-ver bump to 0.8.0-r1
1 # $Id$
2
3 PNAME="base-files"
4 PVER="0.8.0"
5 PBUILD="r1"
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 mirror://${PNAME}/nsswitch.conf
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} sbin 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 wallpapers zoneinfo
65 do
66 mkeepdir /usr/share/${i} || die
67 mkeepdir /usr/local/share/${i} || die
68 done
69 # / symlinks to /usr
70 for i in bin lib sbin
71 do
72 mlink usr/${i} /${i} || die
73 done
74
75 # setup /var
76 for i in cache lib{,/{misc,locate}} local log mail opt spool tmp
77 do
78 mkeepdir /var/${i} || die
79 done
80
81 # sysvinit compat
82 for i in rc.d rc.d/init.d rc.d/rc{1,2,3,4,5,6,sysinit}.d
83 do
84 mkeepdir /etc/${i} || die
85 done
86 #mkeepdir /usr/lib/dev-state || die
87
88 # new lock goes now to /run
89 mkeepdir /run/lock || die
90
91 # compat symlinks
92 mlink ../run /var/run || die
93 mlink ../run/lock /var/lock || die
94
95 # symlinks
96 mlink rc.d/init.d /etc || die
97 for i in doc info man
98 do
99 mlink share/${i} /usr || die
100 mlink share/${i} /usr/local || die
101 done
102
103 # these needs special rights
104 mchmod 0750 /root || die
105 mchmod 1777 /tmp || die
106 mchmod 1777 /var/tmp || die
107
108 # multilib support
109 if [[ $(ARCH=x86_64 mlibdir) != lib ]]
110 then
111 mlink usr/$(ARCH=x86_64 mlibdir) /$(mlibdir) || die
112 mkeepdir /usr/$(ARCH=x86_64 mlibdir) || die
113 mkeepdir /usr/local/$(ARCH=x86_64 mlibdir) || die
114 mlink ../lib/locale /usr/$(ARCH=x86_64 mlibdir)/locale || die
115 mlink ../lib/locale /usr/local/$(ARCH=x86_64 mlibdir)/locale || die
116 else
117 mlink lib /usr/lib64 || die
118 mlink usr/lib /lib64 || die
119 fi
120 if [[ $(ARCH=i686 mlibdir) != lib ]]
121 then
122 mlink usr/$(ARCH=i686 mlibdir) /$(ARCH=i686 mlibdir) || die
123 mkeepdir /usr/$(ARCH=i686 mlibdir) || die
124 mkeepdir /usr/local/$(ARCH=i686 mlibdir) || die
125 mlink ../lib/locale /usr/$(ARCH=i686 mlibdir)/locale || die
126 mlink ../lib/locale /usr/local/$(ARCH=i686 mlibdir)/locale || die
127 fi
128
129 # shadow passwd/group
130 minstallfile -s group /etc || die
131 minstallfile -s passwd /etc || die
132 minstallfile -s nsswitch.conf /etc || die
133
134 # always keep this files even, a user could have edited them
135 MCONFIG="/etc/env.d/01base"
136 mclearconfig || die
137 maddconfig 'CONFIG_PROTECT_IGNORE="/etc/group /etc/passwd"' || die
138 }
139
140 preremove()
141 {
142 # protect these files, that they never get removed from the system
143 local CONFIG_IGNORE="group passwd"
144 for i in ${CONFIG_IGNORE}
145 do
146 [[ -e ${MROOT}/etc/${i} ]] && touch ${MROOT}/etc/${i}
147 done
148 }