File duilder changed (mode: 100755) (index 62411b6..9331473) |
... |
... |
function duilder_final() |
10 |
10 |
|
|
11 |
11 |
# Run release script |
# Run release script |
12 |
12 |
if [ ! -z "${RELEASE_SCRIPT}" -a -x "${RELEASE_SCRIPT}" ]; then |
if [ ! -z "${RELEASE_SCRIPT}" -a -x "${RELEASE_SCRIPT}" ]; then |
13 |
|
echo "Running ${RELEASE_SCRIPT}..." |
|
|
13 |
|
echo "[*] Running ${RELEASE_SCRIPT}..." |
14 |
14 |
${RELEASE_SCRIPT} |
${RELEASE_SCRIPT} |
15 |
15 |
fi |
fi |
16 |
16 |
} |
} |
|
... |
... |
function duilder_docs() |
22 |
22 |
EXPORT_PATH="${3}" |
EXPORT_PATH="${3}" |
23 |
23 |
|
|
24 |
24 |
if [ ! -d "${EXPORT_PATH}" ]; then |
if [ ! -d "${EXPORT_PATH}" ]; then |
25 |
|
echo "WARN: ${EXPORT_PATH} does not exists. Skipping..." |
|
26 |
|
return |
|
|
25 |
|
echo "[*] WARN: ${EXPORT_PATH} does not exists. Creating it..." |
|
26 |
|
mkdir -p "${EXPORT_PATH}" |
27 |
27 |
fi |
fi |
28 |
28 |
|
|
29 |
|
echo "Copying docs to [${EXPORT_PATH}]..." |
|
|
29 |
|
echo "[*] Copying docs to [${EXPORT_PATH}]..." |
30 |
30 |
for f in README License LICENSE Changelog Changelog-last TODO FAQ INSTALL; do |
for f in README License LICENSE Changelog Changelog-last TODO FAQ INSTALL; do |
31 |
31 |
if [ -r "${f}" ]; then |
if [ -r "${f}" ]; then |
32 |
32 |
cp -vp "${f}" "${EXPORT_PATH}/" |
cp -vp "${f}" "${EXPORT_PATH}/" |
33 |
33 |
fi |
fi |
34 |
34 |
done |
done |
|
35 |
|
echo |
35 |
36 |
|
|
36 |
37 |
if [ -d "screenshot" ]; then |
if [ -d "screenshot" ]; then |
37 |
|
echo "Copying screenshots..." |
|
|
38 |
|
echo "[*] Copying screenshots..." |
38 |
39 |
mkdir -p "${EXPORT_PATH}" |
mkdir -p "${EXPORT_PATH}" |
39 |
40 |
cp -vp screenshot/* "${EXPORT_PATH}/" |
cp -vp screenshot/* "${EXPORT_PATH}/" |
|
41 |
|
echo |
40 |
42 |
fi |
fi |
41 |
43 |
} |
} |
42 |
44 |
|
|
|
... |
... |
function duilder_git() |
49 |
51 |
GIT_PUSH="${5}" |
GIT_PUSH="${5}" |
50 |
52 |
|
|
51 |
53 |
if [ ! -x /usr/bin/git ]; then |
if [ ! -x /usr/bin/git ]; then |
52 |
|
echo "Warning: Git not found!" |
|
|
54 |
|
echo "[*] Warning: Git not found!" |
53 |
55 |
exit 0 |
exit 0 |
54 |
56 |
fi |
fi |
55 |
57 |
|
|
56 |
58 |
if [ ! -d .git ]; then |
if [ ! -d .git ]; then |
57 |
|
echo "Warning: I cannot find .git directory!" |
|
|
59 |
|
echo "[*] Warning: I cannot find .git directory!" |
58 |
60 |
exit 0 |
exit 0 |
59 |
61 |
fi |
fi |
60 |
62 |
|
|
61 |
63 |
if [ "${EXPORT_GIT}" = "1" ]; then |
if [ "${EXPORT_GIT}" = "1" ]; then |
62 |
|
echo "Generate GIT tree for HTTP transport..." |
|
|
64 |
|
echo "[*] Generating GIT tree for HTTP transport..." |
63 |
65 |
if [ ! -d "${GIT_DEST}/${PRJ}.git" ]; then |
if [ ! -d "${GIT_DEST}/${PRJ}.git" ]; then |
64 |
66 |
git clone --bare . "${GIT_DEST}/${PRJ}.git" |
git clone --bare . "${GIT_DEST}/${PRJ}.git" |
65 |
67 |
|
|
|
... |
... |
function duilder_git() |
93 |
95 |
echo -n > Changelog |
echo -n > Changelog |
94 |
96 |
|
|
95 |
97 |
# get the list of tags |
# get the list of tags |
96 |
|
i=0 |
|
97 |
98 |
number_of_tags=0 |
number_of_tags=0 |
98 |
|
for tag in `git tag -l`; do |
|
99 |
|
if [ "${tag:0:1}" != "v" ]; then |
|
100 |
|
# skip other kind of tags beside versions |
|
101 |
|
continue |
|
102 |
|
fi |
|
103 |
|
|
|
104 |
|
tags[${i}]=${tag} |
|
105 |
|
tags_commit[${i}]=`git show-ref ${tag} | cut -d' ' -f1` |
|
|
99 |
|
while read sha1 full_tag; do |
|
100 |
|
tag=`echo ${full_tag} | sed -e 's#refs/tags/##' | cut -d'^' -f1` |
|
101 |
|
echo "tag ${tag}, sha1 ${sha1}" |
|
102 |
|
tags[${number_of_tags}]=${tag} |
|
103 |
|
tags_commit[${number_of_tags}]=${sha1} |
106 |
104 |
number_of_tags=$[${number_of_tags}+1] |
number_of_tags=$[${number_of_tags}+1] |
107 |
|
|
|
108 |
|
i=$[${i}+1] |
|
109 |
|
done |
|
|
105 |
|
done < <(git show-ref --tags -d | grep refs/tags/v) |
110 |
106 |
|
|
111 |
107 |
# get the list of commits, test if is a tag and do the diff |
# get the list of commits, test if is a tag and do the diff |
112 |
108 |
prev="" |
prev="" |
|
... |
... |
function duilder_srpm() |
165 |
161 |
P="${PRJ}-${VER}" |
P="${PRJ}-${VER}" |
166 |
162 |
|
|
167 |
163 |
if [ ! -d "${EXPORT_PATH}" ]; then |
if [ ! -d "${EXPORT_PATH}" ]; then |
168 |
|
echo "WARN: ${EXPORT_PATH} does not exists. Skipping..." |
|
169 |
|
return |
|
|
164 |
|
echo "WARN: ${EXPORT_PATH} does not exists. Creating it..." |
|
165 |
|
mkdir -p "${EXPORT_PATH}" |
170 |
166 |
fi |
fi |
171 |
167 |
|
|
172 |
168 |
if [ "${BUILD_SRPM}" != "1" ]; then |
if [ "${BUILD_SRPM}" != "1" ]; then |
173 |
169 |
exit 0 |
exit 0 |
174 |
170 |
fi |
fi |
175 |
171 |
|
|
176 |
|
echo "Building SRPM..." |
|
|
172 |
|
echo "[*] Building SRPM..." |
177 |
173 |
rpmbuild -ts "${P}.tar.gz" |
rpmbuild -ts "${P}.tar.gz" |
|
174 |
|
echo |
178 |
175 |
|
|
179 |
|
PKG="${RPMBUILD}/SRPMS/${P}-1.src.rpm" |
|
|
176 |
|
PKG="${RPMBUILD}/SRPMS/${P}-${REV}.src.rpm" |
180 |
177 |
|
|
181 |
178 |
# Run a rpmlint on it |
# Run a rpmlint on it |
182 |
179 |
if [ -x /usr/bin/rpmlint ]; then |
if [ -x /usr/bin/rpmlint ]; then |
183 |
180 |
echo "[*] RPMlinting..." |
echo "[*] RPMlinting..." |
184 |
181 |
rpmlint -iv "${PKG}" > rpmlint.out |
rpmlint -iv "${PKG}" > rpmlint.out |
|
182 |
|
else |
|
183 |
|
echo "[*] WARN: rpmlint is missing!" |
185 |
184 |
fi |
fi |
186 |
185 |
|
|
187 |
186 |
if [ ! -z "${SRPM_DEST}" ]; then |
if [ ! -z "${SRPM_DEST}" ]; then |
188 |
|
echo "Copying [${PKG}] to [${SRPM_DEST}]..." |
|
|
187 |
|
echo "[*] Copying [${PKG}] to [${SRPM_DEST}]..." |
189 |
188 |
cp -vp "${PKG}" "${SRPM_DEST}/" |
cp -vp "${PKG}" "${SRPM_DEST}/" |
|
189 |
|
echo |
190 |
190 |
fi |
fi |
191 |
191 |
|
|
192 |
|
echo "Copying to export dir [${EXPORT_PATH}]..." |
|
|
192 |
|
echo "[*] Copying to export dir [${EXPORT_PATH}]..." |
193 |
193 |
mkdir -p "${EXPORT_PATH}" |
mkdir -p "${EXPORT_PATH}" |
194 |
194 |
cp -vp "${PKG}" "${EXPORT_PATH}/" |
cp -vp "${PKG}" "${EXPORT_PATH}/" |
|
195 |
|
echo |
195 |
196 |
|
|
196 |
197 |
if [ -x "${SRPM_POST_RUN}" ]; then |
if [ -x "${SRPM_POST_RUN}" ]; then |
197 |
|
echo "Running post SRPM build script [${SRPM_POST_RUN}]..." |
|
|
198 |
|
echo "[*] Running post SRPM build script [${SRPM_POST_RUN}]..." |
198 |
199 |
${SRPM_POST_RUN} "${PKG}" |
${SRPM_POST_RUN} "${PKG}" |
199 |
200 |
fi |
fi |
200 |
201 |
} |
} |
|
... |
... |
function duilder_tar() |
209 |
210 |
P="${PRJ}-${VER}" |
P="${PRJ}-${VER}" |
210 |
211 |
|
|
211 |
212 |
if [ ! -d "${EXPORT_PATH}" ]; then |
if [ ! -d "${EXPORT_PATH}" ]; then |
212 |
|
echo "WARN: ${EXPORT_PATH} does not exists. Skipping..." |
|
213 |
|
return |
|
|
213 |
|
echo "[*] WARN: ${EXPORT_PATH} does not exists. Creating it..." |
|
214 |
|
mkdir -p "${EXPORT_PATH}" |
214 |
215 |
fi |
fi |
215 |
216 |
|
|
216 |
|
echo "Generating tarball [${P}.tar.gz]..." |
|
|
217 |
|
echo "[*] Generating tarball [${P}.tar.gz]..." |
217 |
218 |
ADD_EXCLUDE="" |
ADD_EXCLUDE="" |
218 |
219 |
if [ ! -z "${EXCLUDE}" ]; then |
if [ ! -z "${EXCLUDE}" ]; then |
219 |
220 |
ADD_EXCLUDE="--exclude-from ${P}/${EXCLUDE}" |
ADD_EXCLUDE="--exclude-from ${P}/${EXCLUDE}" |
|
... |
... |
function duilder_tar() |
230 |
231 |
&& rm -rf "${P}" |
&& rm -rf "${P}" |
231 |
232 |
) |
) |
232 |
233 |
|
|
233 |
|
echo "Copying source to ${EXPORT_PATH}/..." |
|
|
234 |
|
echo "[*] Copying source to ${EXPORT_PATH}..." |
234 |
235 |
mkdir -p "${EXPORT_PATH}" |
mkdir -p "${EXPORT_PATH}" |
235 |
236 |
cp -vp "${P}.tar.gz" "${EXPORT_PATH}/" |
cp -vp "${P}.tar.gz" "${EXPORT_PATH}/" |
|
237 |
|
echo |
236 |
238 |
} |
} |
237 |
239 |
|
|
238 |
240 |
#################################################################### |
#################################################################### |
|
... |
... |
fi |
246 |
248 |
|
|
247 |
249 |
|
|
248 |
250 |
if [ ! -r duilder.conf ]; then |
if [ ! -r duilder.conf ]; then |
249 |
|
echo "You must build a duilder.conf file!" |
|
|
251 |
|
echo "[*] You must build a duilder.conf file!" |
250 |
252 |
exit 1 |
exit 1 |
251 |
253 |
fi |
fi |
252 |
254 |
|
|
|
... |
... |
if [ -z "${PRJ}" ]; then |
263 |
265 |
fi |
fi |
264 |
266 |
|
|
265 |
267 |
if [ -z "${VER}" ]; then |
if [ -z "${VER}" ]; then |
266 |
|
echo "ERROR: PRJ= parameter is missing." |
|
|
268 |
|
echo "ERROR: VER= parameter is missing." |
267 |
269 |
exit 1 |
exit 1 |
268 |
270 |
fi |
fi |
269 |
271 |
|
|
|
... |
... |
fi |
309 |
311 |
|
|
310 |
312 |
|
|
311 |
313 |
###### Main stuff |
###### Main stuff |
312 |
|
echo |
|
313 |
|
echo "Duilder builder script" |
|
314 |
|
echo "Copyright Catalin(ux) M. BOIE" |
|
315 |
|
echo |
|
316 |
|
echo "PRJ=${PRJ}, VER=${VER}, REV=${REV}" |
|
317 |
|
echo "System: `uname -a`" |
|
|
314 |
|
echo "[*] Duilder builder script" |
|
315 |
|
echo "[*] Copyright Catalin(ux) M. BOIE - catab at embedromix dot ro" |
|
316 |
|
echo "[*] PRJ=${PRJ}, VER=${VER}, REV=${REV}" |
|
317 |
|
echo "[*] System: `uname -a`" |
318 |
318 |
|
|
319 |
319 |
ETC="/etc" |
ETC="/etc" |
320 |
320 |
BIN="/bin" |
BIN="/bin" |
|
... |
... |
USR_SHARE="/usr/share" |
326 |
326 |
USR_SHARE_DOC="/usr/share/doc/${PRJ}-${VER}" |
USR_SHARE_DOC="/usr/share/doc/${PRJ}-${VER}" |
327 |
327 |
SBIN="/usr/sbin" |
SBIN="/usr/sbin" |
328 |
328 |
VAR="/var" |
VAR="/var" |
329 |
|
VAR_LOG="/var/log/${PRJ}" |
|
330 |
329 |
|
|
331 |
330 |
while [ "${1}" != "" ]; do |
while [ "${1}" != "" ]; do |
332 |
331 |
VAR="`echo ${1} | cut -d'=' -f1`" |
VAR="`echo ${1} | cut -d'=' -f1`" |
|
... |
... |
while [ "${1}" != "" ]; do |
357 |
356 |
shift |
shift |
358 |
357 |
done |
done |
359 |
358 |
|
|
|
359 |
|
# Last fixes |
|
360 |
|
VAR_LOG="${VAR}/log" |
|
361 |
|
VAR_RUN="${VAR}/run" |
|
362 |
|
|
|
363 |
|
|
360 |
364 |
# Truncate future sed file |
# Truncate future sed file |
361 |
365 |
> tmp.sed |
> tmp.sed |
362 |
366 |
|
|
363 |
367 |
DB_SUPPORT=0 |
DB_SUPPORT=0 |
364 |
368 |
|
|
365 |
|
echo -n "Searching for PostgreSQL..." |
|
|
369 |
|
echo -n "[*] Searching for PostgreSQL..." |
366 |
370 |
set +e |
set +e |
367 |
371 |
PG_VERSION="`pg_config --version 2>/dev/null`" |
PG_VERSION="`pg_config --version 2>/dev/null`" |
368 |
372 |
set -e |
set -e |
|
... |
... |
fi |
385 |
389 |
echo "s#@PG_FOUND@#${PG_FOUND}#g" >> tmp.sed |
echo "s#@PG_FOUND@#${PG_FOUND}#g" >> tmp.sed |
386 |
390 |
|
|
387 |
391 |
|
|
388 |
|
echo -n "Searching for MySQL..." |
|
|
392 |
|
echo -n "[*] Searching for MySQL..." |
389 |
393 |
set +e |
set +e |
390 |
394 |
MYSQL_VERSION="`mysql_config --version 2>/dev/null`" |
MYSQL_VERSION="`mysql_config --version 2>/dev/null`" |
391 |
395 |
set -e |
set -e |
|
... |
... |
else |
407 |
411 |
fi |
fi |
408 |
412 |
echo "s#@MYSQL_FOUND@#${MYSQL_FOUND}#g" >> tmp.sed |
echo "s#@MYSQL_FOUND@#${MYSQL_FOUND}#g" >> tmp.sed |
409 |
413 |
|
|
410 |
|
echo -n "Searching for poll..." |
|
|
414 |
|
echo -n "[*] Searching for poll..." |
411 |
415 |
set +e |
set +e |
412 |
416 |
echo -e "#include <poll.h> \n int main(void) { return poll(0, 0, 0); }" | gcc -x c -pipe - -o /dev/null 2>/dev/null |
echo -e "#include <poll.h> \n int main(void) { return poll(0, 0, 0); }" | gcc -x c -pipe - -o /dev/null 2>/dev/null |
413 |
417 |
E="${?}" |
E="${?}" |
|
... |
... |
else |
420 |
424 |
echo "s#@POLL_FOUND@#1#g" >> tmp.sed |
echo "s#@POLL_FOUND@#1#g" >> tmp.sed |
421 |
425 |
fi |
fi |
422 |
426 |
|
|
423 |
|
echo -n "Searching for epoll..." |
|
|
427 |
|
echo -n "[*] Searching for epoll..." |
424 |
428 |
set +e |
set +e |
425 |
429 |
echo -e "#include <sys/epoll.h> \n int main(void) { return epoll_create(64); }" | gcc -x c -pipe - -o /dev/null 2>/dev/null |
echo -e "#include <sys/epoll.h> \n int main(void) { return epoll_create(64); }" | gcc -x c -pipe - -o /dev/null 2>/dev/null |
426 |
430 |
E="${?}" |
E="${?}" |
|
... |
... |
else |
433 |
437 |
echo "s#@EPOLL_FOUND@#1#g" >> tmp.sed |
echo "s#@EPOLL_FOUND@#1#g" >> tmp.sed |
434 |
438 |
fi |
fi |
435 |
439 |
|
|
436 |
|
echo -n "Searching for ncurses..." |
|
|
440 |
|
echo -n "[*] Searching for ncurses..." |
437 |
441 |
set +e |
set +e |
438 |
442 |
echo -e "#include <ncurses.h> \n int main(void) { initscr(); return 0; }" | gcc -x c -pipe - -o /dev/null -lncurses 2>/dev/null |
echo -e "#include <ncurses.h> \n int main(void) { initscr(); return 0; }" | gcc -x c -pipe - -o /dev/null -lncurses 2>/dev/null |
439 |
443 |
E="${?}" |
E="${?}" |
|
... |
... |
echo "s#@SBIN@#${SBIN}#g" >> tmp.sed |
457 |
461 |
echo "s#@USR_SBIN@#${USR_SBIN}#g" >> tmp.sed |
echo "s#@USR_SBIN@#${USR_SBIN}#g" >> tmp.sed |
458 |
462 |
echo "s#@VAR@#${VAR}#g" >> tmp.sed |
echo "s#@VAR@#${VAR}#g" >> tmp.sed |
459 |
463 |
echo "s#@VAR_LOG@#${VAR_LOG}#g" >> tmp.sed |
echo "s#@VAR_LOG@#${VAR_LOG}#g" >> tmp.sed |
|
464 |
|
echo "s#@VAR_RUN@#${VAR_RUN}#g" >> tmp.sed |
460 |
465 |
echo "s#@USR_INCLUDE@#${USR_INCLUDE}#g" >> tmp.sed |
echo "s#@USR_INCLUDE@#${USR_INCLUDE}#g" >> tmp.sed |
461 |
466 |
echo "s#@USR_INC@#${USR_INCLUDE}#g" >> tmp.sed |
echo "s#@USR_INC@#${USR_INCLUDE}#g" >> tmp.sed |
462 |
467 |
echo "s#@USR_LIB@#${USR_LIB}#g" >> tmp.sed |
echo "s#@USR_LIB@#${USR_LIB}#g" >> tmp.sed |
|
... |
... |
echo "s#@EXPORT_PATH@#${EXPORT_PATH}#g" >> tmp.sed |
468 |
473 |
|
|
469 |
474 |
|
|
470 |
475 |
if [ -r Makefile.in ]; then |
if [ -r Makefile.in ]; then |
471 |
|
echo "Building Makefile..." |
|
|
476 |
|
echo "[*] Building Makefile..." |
472 |
477 |
echo -n > Makefile |
echo -n > Makefile |
473 |
478 |
echo "# duilder header starts #" >> Makefile |
echo "# duilder header starts #" >> Makefile |
474 |
479 |
echo "export PRJ := ${PRJ}" >> Makefile |
echo "export PRJ := ${PRJ}" >> Makefile |
|
... |
... |
if [ -r Makefile.in ]; then |
489 |
494 |
echo "export I_LIB := \$(DESTDIR)${USR_LIB}" >> Makefile |
echo "export I_LIB := \$(DESTDIR)${USR_LIB}" >> Makefile |
490 |
495 |
echo "export I_VAR := \$(DESTDIR)${VAR}" >> Makefile |
echo "export I_VAR := \$(DESTDIR)${VAR}" >> Makefile |
491 |
496 |
echo "export I_VAR_LOG := \$(DESTDIR)${VAR_LOG}" >> Makefile |
echo "export I_VAR_LOG := \$(DESTDIR)${VAR_LOG}" >> Makefile |
|
497 |
|
echo "export I_VAR_RUN := \$(DESTDIR)${VAR_RUN}" >> Makefile |
492 |
498 |
echo >> Makefile |
echo >> Makefile |
493 |
499 |
echo "# DB stuff" >> Makefile |
echo "# DB stuff" >> Makefile |
494 |
500 |
echo "export DB_SUPPORT := ${DB_SUPPORT}" >> Makefile |
echo "export DB_SUPPORT := ${DB_SUPPORT}" >> Makefile |
|
... |
... |
if [ -r Makefile.in ]; then |
525 |
531 |
fi |
fi |
526 |
532 |
|
|
527 |
533 |
if [ -r "${PRJ}.spec.in" ]; then |
if [ -r "${PRJ}.spec.in" ]; then |
528 |
|
echo "Generate .spec file..." |
|
|
534 |
|
echo "[*] Generating .spec file..." |
529 |
535 |
sed -f tmp.sed ${PRJ}.spec.in > ${PRJ}.spec |
sed -f tmp.sed ${PRJ}.spec.in > ${PRJ}.spec |
530 |
536 |
fi |
fi |
531 |
537 |
|
|
532 |
538 |
if [ ! -z "${CONFIG_H}" ]; then |
if [ ! -z "${CONFIG_H}" ]; then |
533 |
|
echo "Generating ${CONFIG_H} file..." |
|
|
539 |
|
echo "[*] Generating ${CONFIG_H} file..." |
534 |
540 |
sed -f tmp.sed ${CONFIG_H}.in > ${CONFIG_H} |
sed -f tmp.sed ${CONFIG_H}.in > ${CONFIG_H} |
535 |
541 |
fi |
fi |
536 |
542 |
|
|
537 |
543 |
rm -f tmp.sed |
rm -f tmp.sed |
538 |
544 |
|
|
539 |
545 |
if [ "`basename ${0}`" = "duilderx" ]; then |
if [ "`basename ${0}`" = "duilderx" ]; then |
540 |
|
echo "Clone myself to destination as 'duilder'..." |
|
|
546 |
|
echo "[*] Cloning myself to destination as 'duilder'..." |
541 |
547 |
cp -vpf "${0}" ${PWD}/duilder |
cp -vpf "${0}" ${PWD}/duilder |
542 |
548 |
fi |
fi |
543 |
549 |
|
|
544 |
|
echo "Done. Run make." |
|
|
550 |
|
echo "[*] Done. Run make." |