Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12600 - (hide annotations) (download)
Thu Jun 14 13:53:02 2012 UTC (12 years ago) by niro
File size: 2627 byte(s)
-marked unstable
1 niro 12559 # $Id$
2    
3     PNAME="base-files"
4     PVER="0.7"
5     PBUILD="r1"
6    
7     PCAT="sys-apps"
8 niro 12600 STATE="unstable"
9 niro 12559
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 niro 12595 for i in bin etc include lib{,/locale} sbin share src
59 niro 12559 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     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 [[ $(mlibdir) != lib ]]
110     then
111     mlink usr/$(mlibdir) /$(mlibdir) || die
112     mkeepdir /usr/$(mlibdir) || die
113     mkeepdir /usr/local/$(mlibdir) || die
114     fi
115    
116     # shadow passwd/group
117     minstallfile -s group /etc || die
118     minstallfile -s passwd /etc || die
119    
120     # always keep this files even, a user could have edited them
121     MCONFIG="/etc/env.d/01base"
122     mclearconfig || die
123     maddconfig 'CONFIG_PROTECT_IGNORE="/etc/group /etc/passwd"' || die
124     }
125    
126     preremove()
127     {
128     # protect these files, that they never get removed from the system
129     local CONFIG_IGNORE="group passwd"
130     for i in ${CONFIG_IGNORE}
131     do
132     [[ -e ${MROOT}/etc/${i} ]] && touch ${MROOT}/etc/${i}
133     done
134     }