Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33479 - (hide annotations) (download)
Mon Jul 24 11:41:43 2023 UTC (10 months ago) by niro
File size: 3282 byte(s)
-ver bump to 0.8.0-r1
1 niro 33479 # $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     }