Magellan Linux

Annotation of /trunk/pkgtools/regen_mage_tree_rsync-alx-0.5.0-branch.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2017 - (hide annotations) (download) (as text)
Thu Jan 3 10:02:24 2013 UTC (11 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 4329 byte(s)
-added more scripts
1 niro 2017 #!/bin/bash
2    
3     minclude()
4     {
5     echo "error: minclude found in ${PKGNAME}"
6     }
7    
8     export -f minclude
9    
10     MY_CVS_REPO="/var/www/htdocs/magellan/alx-0.5.0"
11     MY_CVS_DEST="${MY_CVS_REPO}/rsync"
12     MY_CVS_MODULES="mage smage"
13     MAGE_CVS_MODULE="magellan-src/mage"
14     MY_MAGE_CVS_OPTS="-r mage-0_3_7-r5"
15     MY_CVS_OPTS="-r alx-050-20060918-1_branch"
16     MY_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/alx-cvs"
17     MAGE_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/magellan-cvs"
18     MY_CVS_REMOVE_MAGE_SOURCES=true
19     MY_TARBALL_VERSION_TAG="$(date +%Y%m%d-%k%M | sed 's:\ :0:')"
20    
21     MY_CVS_ARCHES="i486"
22     MY_CVS_DISTRIBUTIONS="stable testing unstable"
23    
24     # like mage.rc; needed only for smage2
25     export ARCH=i486
26     export PKGDIR="${MY_CVS_REPO}/unstable/packages/${ARCH}"
27     export SMAGESCRIPTSDIR="${MY_CVS_DEST}/smage"
28     export MAGE_TREE_DEST="${MY_CVS_DEST}/mage"
29     export REGEN_MAGE_TREE=true
30    
31     # setup a fake mage rc
32     MY_MAGE_RC=$(mktemp)
33     echo "ARCH=${ARCH}" > ${MY_MAGE_RC}
34     echo "PKGDIR=${PKGDIR}" >> ${MY_MAGE_RC}
35     echo "SMAGESCRIPTSDIR=${SMAGESCRIPTSDIR}" >> ${MY_MAGE_RC}
36     echo "MAGE_TREE_DEST=${MAGE_TREE_DEST}" >> ${MY_MAGE_RC}
37     echo "REGEN_MAGE_TREE=${REGEN_MAGE_TREE}" >> ${MY_MAGE_RC}
38     export MAGERC=${MY_MAGE_RC}
39    
40    
41     [ ! -d "${MY_CVS_DEST}" ] && install -d ${MY_CVS_DEST}
42    
43     # get rid of old cruft (fixes some rsync issues)
44     rm -rf ${MY_CVS_DEST}/*
45    
46     # get mage
47     export CVSROOT="${MAGE_CVS_ROOT}"
48     cvs login
49     if [ ! -d ${MY_CVS_DEST}/${MAGE_CVS_MODULE}/CVS ]
50     then
51     (cd ${MY_CVS_DEST}; cvs -z3 checkout -P ${MY_MAGE_CVS_OPTS} ${MAGE_CVS_MODULE})
52     else
53     (cd ${MY_CVS_DEST}; cvs -z3 update -d -P ${MY_MAGE_CVS_OPTS} ${MAGE_CVS_MODULE})
54     # needed to fetch new directories --^
55     # needed to kill old directories ------^
56     fi
57    
58     # cvs login
59     export CVSROOT="${MY_CVS_ROOT}"
60     cvs login
61    
62     # get all our modules or update them
63     for module in ${MY_CVS_MODULES}
64     do
65     if [ ! -d ${MY_CVS_DEST}/${module}/CVS ]
66     then
67     (cd ${MY_CVS_DEST}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${module})
68     else
69     (cd ${MY_CVS_DEST}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${module})
70     # needed to fetch new directories --^
71     # needed to kill old directories ------^
72     fi
73     done
74    
75     # delete CVS directories
76     # i don't get the problem why this not work
77     #find ${MY_CVS_DEST} -name CVS -type d -exec rm -rf '{}' ';'
78     # so i use this now:
79     for file in $(find ${MY_CVS_DEST} -type d -name CVS)
80     do
81     rm -rf ${file}
82     done
83    
84     #correct permissions
85     find ${MY_CVS_DEST} -type f -exec chmod 0644 '{}' ';'
86     find ${MY_CVS_DEST} -type d -exec chmod 0755 '{}' ';'
87    
88     # now regen mage tree
89    
90     if [ -f ${MY_CVS_DEST}/smage/.regenignore ]
91     then
92     export EXCLUDED="$(< ${MY_CVS_DEST}/smage/.regenignore )"
93     fi
94    
95     if [[ -n ${EXCLUDED} ]]
96     then
97     for i in ${EXCLUDED}
98     do
99     if [ -e "${MY_CVS_DEST}/smage/${i}" ]
100     then
101     rm -rf "${MY_CVS_DEST}/smage/${i}"
102     fi
103     done
104     fi
105    
106     # exec permissions
107     chmod a+x ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh
108    
109     # shut up some warnings
110     [ ! -f /etc/mage.rc ] && touch /etc/mage.rc
111     [ ! -f /usr/lib/mage/version ] && { install -d /usr/lib/mage; touch /usr/lib/mage/version; }
112    
113     # do not source etc/mage.rc with 0.3.x versions of smage
114     sed -i '/source\ \/etc\/mage.rc/d' ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh
115    
116     for dist in ${MY_CVS_DISTRIBUTIONS}
117     do
118     for arch in ${MY_CVS_ARCHES}
119     do
120     export ARCH="${arch}"
121     #export PKGDIR="$(dirname ${PKGDIR})/${ARCH}"
122     export PKGDIR="${MY_CVS_REPO}/${dist}/packages/${ARCH}"
123     sed -i -e "s:\(ARCH=\).*:\1${ARCH}:" -e "s:\(PKGDIR=\).*:\1${PKGDIR}:" ${MY_MAGE_RC}
124    
125     for i in $(find ${MY_CVS_DEST}/smage -type f -name "*.smage2" | sort)
126     do
127     ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh only-regen-tree "${i}"
128     done
129     done
130     done
131    
132    
133     # create tarballs
134     pushd ${MY_CVS_DEST}
135     for module in ${MY_CVS_MODULES}
136     do
137     tar cvjf ${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ./${module}
138     done
139     popd
140    
141     # remove mage sources
142     if [[ ${MY_CVS_REMOVE_MAGE_SOURCES} = true ]]
143     then
144     [ -d ${MY_CVS_DEST}/magellan-src ] && rm -rf ${MY_CVS_DEST}/magellan-src
145     [ -d ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
146     rm -rf ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2
147     fi
148    
149    
150     # move tarballs to a proper location
151     install -d ${MY_CVS_DEST}/tarballs
152     for module in ${MY_CVS_MODULES}
153     do
154     [ -f ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
155     mv ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_CVS_DEST}/tarballs
156     done
157    

Properties

Name Value
svn:executable *