mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-24 13:12:03 +00:00
add sofia-sip 1.12.4 (plus some patches through 12/21/2006) to in tree libs
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3774 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Calculate coverage of source files
|
||||
#
|
||||
|
||||
gcovflags=-n
|
||||
|
||||
usage ()
|
||||
{
|
||||
cat <<EOF
|
||||
usage: coverage [OPTIONS] [output-files]
|
||||
where OPTIONS are:
|
||||
--output generate .gcov files
|
||||
--help -h -? print this message
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
--output ) gcovflags= ; shift ;;
|
||||
'-?' | -h | --help ) usage ;;
|
||||
- ) shift ; break ;;
|
||||
-* ) usage 1 ;;
|
||||
* ) break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
{
|
||||
for f in *.bb
|
||||
do
|
||||
test "$f" = "*.bb" && { echo "run 'make check' first"; exit 1; }
|
||||
gcov $gcovflags "$f" 2>/dev/null
|
||||
done
|
||||
for f in $@
|
||||
do
|
||||
gcov $gcovflags "$f" 2>/dev/null
|
||||
done
|
||||
} |
|
||||
awk '
|
||||
BEGIN {
|
||||
'"$(for f in "$@"; do echo 'include["'$f'"] = 1;'; done)"'
|
||||
}
|
||||
|
||||
/^File/ {
|
||||
if (sub(/^File `\/home\/ppessi\/sofia-proxy\/(proxy\/..\/)?/, "")) {
|
||||
sub(/.$/, "");
|
||||
file=$0;
|
||||
if (file ~ /torture/) file = "";
|
||||
}
|
||||
else
|
||||
file = "";
|
||||
}
|
||||
file ~ /\.[hc]$/ && /Lines executed/ {
|
||||
sub(/Lines executed:/, "");
|
||||
covered = int($3*$1/100 + 0.5);
|
||||
|
||||
# printf "%-5u %-5u %-5u %-7s %s\n", $3, covered, $3 - covered, $1, file;
|
||||
if ($3 == 0) {
|
||||
/* skip */
|
||||
}
|
||||
else if (!lines[file]) {
|
||||
names[i++] = file; lines[file] = $3; coverage[file] = covered;
|
||||
coverage[file] = $3*$1/100;
|
||||
}
|
||||
else if (coverage[file] < covered) {
|
||||
lines[file] = $3; coverage[file] = covered;
|
||||
coverage[file] = $3*$1/100;
|
||||
}
|
||||
}
|
||||
|
||||
/torture/ { next; }
|
||||
/test/ { next; }
|
||||
/\/usr\/include/ { next; }
|
||||
|
||||
/(source )?lines executed in file (.*\/)?[-A-Za-z_0-9]+\.[ch]/ {
|
||||
file = $0;
|
||||
sub(/.* in file /, "", file);
|
||||
sub(/.*\//, "", file);
|
||||
covered = int($3*$1/100 + 0.5);
|
||||
#printf "%-5u %-5u %-5u %-7s %s\n", $3, covered, $3 - covered, $1, file;
|
||||
|
||||
if ($3 == 0) {
|
||||
/* skip */
|
||||
}
|
||||
else if (!file in lines) {
|
||||
lines[file] = $3; coverage[file] = $3*$1/100;
|
||||
}
|
||||
else if (coverage[file] <= $3*$1/100) {
|
||||
lines[file] = $3; coverage[file] = $3*$1/100;
|
||||
}
|
||||
}
|
||||
|
||||
END {
|
||||
for (file in lines) {
|
||||
if (!(file in include))
|
||||
continue;
|
||||
l = lines[file]; c = coverage[file];
|
||||
covered = int(c + 0.5);
|
||||
total += l; total_coverage += c;
|
||||
printf "%-5u %-5u %-5u %6.2f%% %s\n",
|
||||
l, covered, l - covered, 100.0 * c / l, file;
|
||||
}
|
||||
if (total) {
|
||||
module = ENVIRON["PWD"];
|
||||
gsub(/\/+$/, "", module);
|
||||
gsub(/.*\//, "", module);
|
||||
printf "%-5u %-5u %-5u %6.2f%% %s in %s\n",
|
||||
total, total_coverage, total - total_coverage,
|
||||
100.0 * total_coverage / total, "TOTAL", module;
|
||||
}
|
||||
}
|
||||
' |
|
||||
sort -n
|
||||
@@ -0,0 +1,209 @@
|
||||
#! /bin/sed -f
|
||||
#
|
||||
# Run this script like
|
||||
#
|
||||
# fix-include-sofia-sip -i.bak source.h source.c
|
||||
#
|
||||
# or
|
||||
#
|
||||
# find . -name '*.[hc]' -print0 | xargs -0 fix-include-sofia-sip -i.bak
|
||||
#
|
||||
/^ *# *include/ {
|
||||
# Not using features.h...
|
||||
s!include *<sofia-sip/features.h>!include <sofia-sip/sofia_features.h>!
|
||||
s!include *"sofia-sip/features.h"!include "sofia-sip/sofia_features.h"!
|
||||
s!include *<bnf.h>!include <sofia-sip/bnf.h>!
|
||||
s!include *<sofia_sip_features.h>!include <sofia-sip/sofia_features.h>!
|
||||
s!include *<http.h>!include <sofia-sip/http.h>!
|
||||
s!include *<http_hclasses.h>!include <sofia-sip/http_hclasses.h>!
|
||||
s!include *<http_header.h>!include <sofia-sip/http_header.h>!
|
||||
s!include *<http_parser.h>!include <sofia-sip/http_parser.h>!
|
||||
s!include *<http_protos.h>!include <sofia-sip/http_protos.h>!
|
||||
s!include *<http_status.h>!include <sofia-sip/http_status.h>!
|
||||
s!include *<http_tag.h>!include <sofia-sip/http_tag.h>!
|
||||
s!include *<http_tag_class.h>!include <sofia-sip/http_tag_class.h>!
|
||||
s!include *<base64.h>!include <sofia-sip/base64.h>!
|
||||
s!include *<rc4.h>!include <sofia-sip/rc4.h>!
|
||||
s!include *<sha1.h>!include <sofia-sip/sha1.h>!
|
||||
s!include *<string0.h>!include <sofia-sip/string0.h>!
|
||||
s!include *<token64.h>!include <sofia-sip/token64.h>!
|
||||
s!include *<uniqueid.h>!include <sofia-sip/uniqueid.h>!
|
||||
s!include *<utf8.h>!include <sofia-sip/utf8.h>!
|
||||
s!include *<auth_client.h>!include <sofia-sip/auth_client.h>!
|
||||
s!include *<auth_digest.h>!include <sofia-sip/auth_digest.h>!
|
||||
s!include *<auth_module.h>!include <sofia-sip/auth_module.h>!
|
||||
s!include *<auth_plugin.h>!include <sofia-sip/auth_plugin.h>!
|
||||
s!include *<msg.h>!include <sofia-sip/msg.h>!
|
||||
s!include *<msg_addr.h>!include <sofia-sip/msg_addr.h>!
|
||||
s!include *<msg_buffer.h>!include <sofia-sip/msg_buffer.h>!
|
||||
s!include *<msg_date.h>!include <sofia-sip/msg_date.h>!
|
||||
s!include *<msg_header.h>!include <sofia-sip/msg_header.h>!
|
||||
s!include *<msg_mclass.h>!include <sofia-sip/msg_mclass.h>!
|
||||
s!include *<msg_mclass_hash.h>!include <sofia-sip/msg_mclass_hash.h>!
|
||||
s!include *<msg_mime.h>!include <sofia-sip/msg_mime.h>!
|
||||
s!include *<msg_mime_protos.h>!include <sofia-sip/msg_mime_protos.h>!
|
||||
s!include *<msg_parser.h>!include <sofia-sip/msg_parser.h>!
|
||||
s!include *<msg_protos.h>!include <sofia-sip/msg_protos.h>!
|
||||
s!include *<msg_tag_class.h>!include <sofia-sip/msg_tag_class.h>!
|
||||
s!include *<msg_types.h>!include <sofia-sip/msg_types.h>!
|
||||
s!include *<nea.h>!include <sofia-sip/nea.h>!
|
||||
s!include *<nea_tag.h>!include <sofia-sip/nea_tag.h>!
|
||||
s!include *<nta.h>!include <sofia-sip/nta.h>!
|
||||
s!include *<nta_stateless.h>!include <sofia-sip/nta_stateless.h>!
|
||||
s!include *<nta_tag.h>!include <sofia-sip/nta_tag.h>!
|
||||
s!include *<nta_tport.h>!include <sofia-sip/nta_tport.h>!
|
||||
s!include *<sl_utils.h>!include <sofia-sip/sl_utils.h>!
|
||||
s!include *<nth.h>!include <sofia-sip/nth.h>!
|
||||
s!include *<nth_tag.h>!include <sofia-sip/nth_tag.h>!
|
||||
s!include *<nua.h>!include <sofia-sip/nua.h>!
|
||||
s!include *<nua_tag.h>!include <sofia-sip/nua_tag.h>!
|
||||
s!include *<sdp.h>!include <sofia-sip/sdp.h>!
|
||||
s!include *<sdp_tag.h>!include <sofia-sip/sdp_tag.h>!
|
||||
s!include *<sip.h>!include <sofia-sip/sip.h>!
|
||||
s!include *<sip_hclasses.h>!include <sofia-sip/sip_hclasses.h>!
|
||||
s!include *<sip_header.h>!include <sofia-sip/sip_header.h>!
|
||||
s!include *<sip_parser.h>!include <sofia-sip/sip_parser.h>!
|
||||
s!include *<sip_protos.h>!include <sofia-sip/sip_protos.h>!
|
||||
s!include *<sip_status.h>!include <sofia-sip/sip_status.h>!
|
||||
s!include *<sip_tag.h>!include <sofia-sip/sip_tag.h>!
|
||||
s!include *<sip_tag_class.h>!include <sofia-sip/sip_tag_class.h>!
|
||||
s!include *<sip_util.h>!include <sofia-sip/sip_util.h>!
|
||||
s!include *<soa.h>!include <sofia-sip/soa.h>!
|
||||
s!include *<soa_add.h>!include <sofia-sip/soa_add.h>!
|
||||
s!include *<soa_session.h>!include <sofia-sip/soa_session.h>!
|
||||
s!include *<soa_tag.h>!include <sofia-sip/soa_tag.h>!
|
||||
s!include *<sresolv.h>!include <sofia-sip/sresolv.h>!
|
||||
s!include *<stun.h>!include <sofia-sip/stun.h>!
|
||||
s!include *<stun_common.h>!include <sofia-sip/stun_common.h>!
|
||||
s!include *<stun_tag.h>!include <sofia-sip/stun_tag.h>!
|
||||
s!include *<htable.h>!include <sofia-sip/htable.h>!
|
||||
s!include *<htable2.h>!include <sofia-sip/htable2.h>!
|
||||
s!include *<rbtree.h>!include <sofia-sip/rbtree.h>!
|
||||
s!include *<su.h>!include <sofia-sip/su.h>!
|
||||
s!include *<su_addrinfo.h>!include <sofia-sip/su_addrinfo.h>!
|
||||
s!include *<su_alloc.h>!include <sofia-sip/su_alloc.h>!
|
||||
s!include *<su_alloc_stat.h>!include <sofia-sip/su_alloc_stat.h>!
|
||||
s!include *<su_memmem.h>!include <sofia-sip/su_bm.h>!
|
||||
s!include *<su_config.h>!include <sofia-sip/su_config.h>!
|
||||
s!include *<su_configure.h>!include <sofia-sip/su_configure.h>!
|
||||
s!include *<su_debug.h>!include <sofia-sip/su_debug.h>!
|
||||
s!include *<su_errno.h>!include <sofia-sip/su_errno.h>!
|
||||
s!include *<su_localinfo.h>!include <sofia-sip/su_localinfo.h>!
|
||||
s!include *<su_log.h>!include <sofia-sip/su_log.h>!
|
||||
s!include *<su_md5.h>!include <sofia-sip/su_md5.h>!
|
||||
s!include *<su_source.h>!include <sofia-sip/su_source.h>!
|
||||
s!include *<su_strlst.h>!include <sofia-sip/su_strlst.h>!
|
||||
s!include *<su_tag.h>!include <sofia-sip/su_tag.h>!
|
||||
s!include *<su_tag_class.h>!include <sofia-sip/su_tag_class.h>!
|
||||
s!include *<su_tag_inline.h>!include <sofia-sip/su_tag_inline.h>!
|
||||
s!include *<su_tag_io.h>!include <sofia-sip/su_tag_io.h>!
|
||||
s!include *<su_tagarg.h>!include <sofia-sip/su_tagarg.h>!
|
||||
s!include *<su_time.h>!include <sofia-sip/su_time.h>!
|
||||
s!include *<su_types.h>!include <sofia-sip/su_types.h>!
|
||||
s!include *<su_uniqueid.h>!include <sofia-sip/su_uniqueid.h>!
|
||||
s!include *<su_vector.h>!include <sofia-sip/su_vector.h>!
|
||||
s!include *<su_wait.h>!include <sofia-sip/su_wait.h>!
|
||||
s!include *<tstdef.h>!include <sofia-sip/tstdef.h>!
|
||||
s!include *<tport.h>!include <sofia-sip/tport.h>!
|
||||
s!include *<tport_tag.h>!include <sofia-sip/tport_tag.h>!
|
||||
s!include *<url.h>!include <sofia-sip/url.h>!
|
||||
s!include *<url_tag.h>!include <sofia-sip/url_tag.h>!
|
||||
s!include *<url_tag_class.h>!include <sofia-sip/url_tag_class.h>!
|
||||
s!include *"bnf.h"!include "sofia-sip/bnf.h"!
|
||||
s!include *"sofia_sip_features.h"!include "sofia-sip/sofia_features.h"!
|
||||
s!include *"http.h"!include "sofia-sip/http.h"!
|
||||
s!include *"http_hclasses.h"!include "sofia-sip/http_hclasses.h"!
|
||||
s!include *"http_header.h"!include "sofia-sip/http_header.h"!
|
||||
s!include *"http_parser.h"!include "sofia-sip/http_parser.h"!
|
||||
s!include *"http_protos.h"!include "sofia-sip/http_protos.h"!
|
||||
s!include *"http_status.h"!include "sofia-sip/http_status.h"!
|
||||
s!include *"http_tag.h"!include "sofia-sip/http_tag.h"!
|
||||
s!include *"http_tag_class.h"!include "sofia-sip/http_tag_class.h"!
|
||||
s!include *"base64.h"!include "sofia-sip/base64.h"!
|
||||
s!include *"rc4.h"!include "sofia-sip/rc4.h"!
|
||||
s!include *"sha1.h"!include "sofia-sip/sha1.h"!
|
||||
s!include *"string0.h"!include "sofia-sip/string0.h"!
|
||||
s!include *"token64.h"!include "sofia-sip/token64.h"!
|
||||
s!include *"uniqueid.h"!include "sofia-sip/uniqueid.h"!
|
||||
s!include *"utf8.h"!include "sofia-sip/utf8.h"!
|
||||
s!include *"auth_client.h"!include "sofia-sip/auth_client.h"!
|
||||
s!include *"auth_digest.h"!include "sofia-sip/auth_digest.h"!
|
||||
s!include *"auth_module.h"!include "sofia-sip/auth_module.h"!
|
||||
s!include *"auth_plugin.h"!include "sofia-sip/auth_plugin.h"!
|
||||
s!include *"msg.h"!include "sofia-sip/msg.h"!
|
||||
s!include *"msg_addr.h"!include "sofia-sip/msg_addr.h"!
|
||||
s!include *"msg_buffer.h"!include "sofia-sip/msg_buffer.h"!
|
||||
s!include *"msg_date.h"!include "sofia-sip/msg_date.h"!
|
||||
s!include *"msg_header.h"!include "sofia-sip/msg_header.h"!
|
||||
s!include *"msg_mclass.h"!include "sofia-sip/msg_mclass.h"!
|
||||
s!include *"msg_mclass_hash.h"!include "sofia-sip/msg_mclass_hash.h"!
|
||||
s!include *"msg_mime.h"!include "sofia-sip/msg_mime.h"!
|
||||
s!include *"msg_mime_protos.h"!include "sofia-sip/msg_mime_protos.h"!
|
||||
s!include *"msg_parser.h"!include "sofia-sip/msg_parser.h"!
|
||||
s!include *"msg_protos.h"!include "sofia-sip/msg_protos.h"!
|
||||
s!include *"msg_tag_class.h"!include "sofia-sip/msg_tag_class.h"!
|
||||
s!include *"msg_types.h"!include "sofia-sip/msg_types.h"!
|
||||
s!include *"nea.h"!include "sofia-sip/nea.h"!
|
||||
s!include *"nea_tag.h"!include "sofia-sip/nea_tag.h"!
|
||||
s!include *"nta.h"!include "sofia-sip/nta.h"!
|
||||
s!include *"nta_stateless.h"!include "sofia-sip/nta_stateless.h"!
|
||||
s!include *"nta_tag.h"!include "sofia-sip/nta_tag.h"!
|
||||
s!include *"nta_tport.h"!include "sofia-sip/nta_tport.h"!
|
||||
s!include *"sl_utils.h"!include "sofia-sip/sl_utils.h"!
|
||||
s!include *"nth.h"!include "sofia-sip/nth.h"!
|
||||
s!include *"nth_tag.h"!include "sofia-sip/nth_tag.h"!
|
||||
s!include *"nua.h"!include "sofia-sip/nua.h"!
|
||||
s!include *"nua_tag.h"!include "sofia-sip/nua_tag.h"!
|
||||
s!include *"sdp.h"!include "sofia-sip/sdp.h"!
|
||||
s!include *"sdp_tag.h"!include "sofia-sip/sdp_tag.h"!
|
||||
s!include *"sip.h"!include "sofia-sip/sip.h"!
|
||||
s!include *"sip_hclasses.h"!include "sofia-sip/sip_hclasses.h"!
|
||||
s!include *"sip_header.h"!include "sofia-sip/sip_header.h"!
|
||||
s!include *"sip_parser.h"!include "sofia-sip/sip_parser.h"!
|
||||
s!include *"sip_protos.h"!include "sofia-sip/sip_protos.h"!
|
||||
s!include *"sip_status.h"!include "sofia-sip/sip_status.h"!
|
||||
s!include *"sip_tag.h"!include "sofia-sip/sip_tag.h"!
|
||||
s!include *"sip_tag_class.h"!include "sofia-sip/sip_tag_class.h"!
|
||||
s!include *"sip_util.h"!include "sofia-sip/sip_util.h"!
|
||||
s!include *"soa.h"!include "sofia-sip/soa.h"!
|
||||
s!include *"soa_add.h"!include "sofia-sip/soa_add.h"!
|
||||
s!include *"soa_session.h"!include "sofia-sip/soa_session.h"!
|
||||
s!include *"soa_tag.h"!include "sofia-sip/soa_tag.h"!
|
||||
s!include *"sresolv.h"!include "sofia-sip/sresolv.h"!
|
||||
s!include *"stun.h"!include "sofia-sip/stun.h"!
|
||||
s!include *"stun_common.h"!include "sofia-sip/stun_common.h"!
|
||||
s!include *"stun_tag.h"!include "sofia-sip/stun_tag.h"!
|
||||
s!include *"htable.h"!include "sofia-sip/htable.h"!
|
||||
s!include *"htable2.h"!include "sofia-sip/htable2.h"!
|
||||
s!include *"rbtree.h"!include "sofia-sip/rbtree.h"!
|
||||
s!include *"su.h"!include "sofia-sip/su.h"!
|
||||
s!include *"su_addrinfo.h"!include "sofia-sip/su_addrinfo.h"!
|
||||
s!include *"su_alloc.h"!include "sofia-sip/su_alloc.h"!
|
||||
s!include *"su_alloc_stat.h"!include "sofia-sip/su_alloc_stat.h"!
|
||||
s!include *"su_memmem.h"!include "sofia-sip/su_bm.h"!
|
||||
s!include *"su_config.h"!include "sofia-sip/su_config.h"!
|
||||
s!include *"su_configure.h"!include "sofia-sip/su_configure.h"!
|
||||
s!include *"su_debug.h"!include "sofia-sip/su_debug.h"!
|
||||
s!include *"su_errno.h"!include "sofia-sip/su_errno.h"!
|
||||
s!include *"su_localinfo.h"!include "sofia-sip/su_localinfo.h"!
|
||||
s!include *"su_log.h"!include "sofia-sip/su_log.h"!
|
||||
s!include *"su_md5.h"!include "sofia-sip/su_md5.h"!
|
||||
s!include *"su_source.h"!include "sofia-sip/su_source.h"!
|
||||
s!include *"su_strlst.h"!include "sofia-sip/su_strlst.h"!
|
||||
s!include *"su_tag.h"!include "sofia-sip/su_tag.h"!
|
||||
s!include *"su_tag_class.h"!include "sofia-sip/su_tag_class.h"!
|
||||
s!include *"su_tag_inline.h"!include "sofia-sip/su_tag_inline.h"!
|
||||
s!include *"su_tag_io.h"!include "sofia-sip/su_tag_io.h"!
|
||||
s!include *"su_tagarg.h"!include "sofia-sip/su_tagarg.h"!
|
||||
s!include *"su_time.h"!include "sofia-sip/su_time.h"!
|
||||
s!include *"su_types.h"!include "sofia-sip/su_types.h"!
|
||||
s!include *"su_uniqueid.h"!include "sofia-sip/su_uniqueid.h"!
|
||||
s!include *"su_vector.h"!include "sofia-sip/su_vector.h"!
|
||||
s!include *"su_wait.h"!include "sofia-sip/su_wait.h"!
|
||||
s!include *"tstdef.h"!include "sofia-sip/tstdef.h"!
|
||||
s!include *"tport.h"!include "sofia-sip/tport.h"!
|
||||
s!include *"tport_tag.h"!include "sofia-sip/tport_tag.h"!
|
||||
s!include *"url.h"!include "sofia-sip/url.h"!
|
||||
s!include *"url_tag.h"!include "sofia-sip/url_tag.h"!
|
||||
s!include *"url_tag_class.h"!include "sofia-sip/url_tag_class.h"!
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# This script builds a snapshot RPM package of already existing Sofia-SIP
|
||||
# build tree
|
||||
#
|
||||
# Copyright (C) 2006 Nokia Corporation.
|
||||
#
|
||||
# Contact: Pekka Pessi <pekka.pessi@nokia.com>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public License
|
||||
# as published by the Free Software Foundation; either version 2.1 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
#
|
||||
# Created: Fri May 23 17:16:54 EEST 2003 ppessi
|
||||
#
|
||||
|
||||
function usage
|
||||
{
|
||||
echo "usage: snapshot.sh [-bc|-bb] [-c|--configure] [rpmbuild options]"
|
||||
exit $@
|
||||
}
|
||||
|
||||
bb=-bb
|
||||
configure=0
|
||||
|
||||
case "$1" in -b? ) bb=$1 ; shift ;; esac
|
||||
|
||||
while true ; do
|
||||
case "$1" in
|
||||
-c | --configure | --co ) configure=1; shift; ;;
|
||||
'-?' | --help | -h ) usage 0 ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$srcdir" && srcdir=.
|
||||
RPMROOT=${RPMROOT:-`rpmbuild --eval='%_topdir' --quiet 2> /dev/null`}
|
||||
|
||||
c=$srcdir/configure.ac
|
||||
|
||||
PACKAGE_NAME=$(sed -n '/^AC_INIT/ { s/[^[]*\[//; s/\].*//; p;}' $c)
|
||||
NAME=$(echo $PACKAGE_NAME | tr 'A-Z ' 'a-z-')
|
||||
VERSION=$(sed -n '/^AC_INIT/ { s/.*\], \[//; s/\].*//; p;}' $c)
|
||||
GLIB_SOVER=$(sed -n '/^AC_SUBST[(]LIBVER_SOFIA_SIP_UA_GLIB_SOVER/ { s/.*, \[//; s/\].*//; p;}' $c)
|
||||
|
||||
# Find spec in
|
||||
if test -r $NAME.spec.in ; then
|
||||
specin=$NAME.spec.in
|
||||
elif test -r packages/$NAME.spec.in ; then
|
||||
specin=packages/$NAME.spec.in
|
||||
else
|
||||
echo $NAME.spec.in: not found
|
||||
exit 2
|
||||
fi
|
||||
|
||||
specversion=$(sed -n -e '/^Version:/ { s/Version: //; p }' ${specin%.in})
|
||||
|
||||
if [ "$VERSION" != "$specversion" ]; then
|
||||
configure=1
|
||||
fi
|
||||
|
||||
RELEASE=${RELEASE:-SNAP.$(date +"%Y%m%d.%H%M")}
|
||||
|
||||
test -r config.status &&
|
||||
prefix=$(sed -n '/^s,@prefix@,/ { s/^s,[^,]*,//; s/,.*//; p;}' config.status)
|
||||
|
||||
test -z "$prefix" && prefix=/usr
|
||||
|
||||
wd=${TEMPDIR:=/tmp}/sofia-snapshot-$$
|
||||
spec=$wd/$NAME-${VERSION}-${RELEASE}.spec
|
||||
dummy=${NAME}-${VERSION}-${RELEASE}.tar.gz
|
||||
|
||||
test -x ./configure || sh ./autogen.sh
|
||||
|
||||
install -d ${RPMROOT}/{SOURCES/SNAP,SPECS,BUILD,RPMS,SRPMS} $wd &&
|
||||
echo Creating $spec &&
|
||||
awk '
|
||||
/@VERSION@/ { sub(/@VERSION@/, version); }
|
||||
/@PACKAGE@/ { sub(/@PACKAGE@/, package); }
|
||||
/@PACKAGE_NAME@/ { sub(/@PACKAGE_NAME@/, package_name); }
|
||||
/@LIBVER_SOFIA_SIP_UA_GLIB_SOVER@/ {
|
||||
sub(/@LIBVER_SOFIA_SIP_UA_GLIB_SOVER@/, glib_sover);
|
||||
}
|
||||
/^Release:/ {
|
||||
print "Release: " release "%{?dist}\n";
|
||||
print "Prefix: " prefix "\n";
|
||||
next;
|
||||
}
|
||||
/^Source0:/ { print "Source0:" dummy "\n"; next; }
|
||||
/disable-dependency-tracking/ {
|
||||
sub(/--disable-dependency-tracking/, "");
|
||||
}
|
||||
/^%configure/ {
|
||||
print "cd " "\"" pwd "\"";
|
||||
if (!configure) { $1="echo skipping configure"; }
|
||||
$1=$1 "-C --enable-maintainer-mode";
|
||||
print $0;
|
||||
next;
|
||||
}
|
||||
# Do not make documentation
|
||||
/^make doc/ { print "echo skipping " $0; next; }
|
||||
# Ignore CFLAGS set by RPM
|
||||
/^make/ { print "CFLAGS= " $0; next; }
|
||||
{ print; }' \
|
||||
pwd=$PWD \
|
||||
configure=$configure dummy=$dummy \
|
||||
package=$NAME package_name="$PACKAGE_NAME" \
|
||||
version=$VERSION release=$RELEASE glib_sover=$GLIB_SOVER prefix=$prefix \
|
||||
$specin > $spec &&
|
||||
ln -s `pwd` $wd/${NAME}-${VERSION} &&
|
||||
tar cfz ${RPMROOT}/SOURCES/SNAP/$dummy -C $wd ${NAME}-${VERSION} &&
|
||||
rpmbuild $bb $spec --define '__os_install_post /usr/lib/rpm/brp-compress' --without docs -D"_sourcedir ${RPMROOT}/SOURCES/SNAP" "$@"
|
||||
rc=$?
|
||||
|
||||
rm -rf $wd
|
||||
rm ${RPMROOT}/SOURCES/SNAP/$dummy
|
||||
|
||||
exit $rc
|
||||
Reference in New Issue
Block a user