Browse Source

fix subpackage build dependencies

PKGSB_ variables containing the full symbol name, without leading
main package symbol. Fix depmaker to check correctly.
Waldemar Brodkorb 13 years ago
parent
commit
27a3ff7af0
3 changed files with 20 additions and 14 deletions
  1. 1 1
      package/asterisk/Makefile
  2. 4 4
      package/ulogd/Makefile
  3. 15 9
      tools/adk/depmaker.c

+ 1 - 1
package/asterisk/Makefile

@@ -22,7 +22,7 @@ PKG_SUBPKGS:=		ASTERISK ASTERISK_PGSQL ASTERISK_VOICEMAIL ASTERISK_SOUNDS ASTERI
 PKG_SUBPKGS+=		ASTERISK_CHAN_SKINNY ASTERISK_CHAN_IAX2 ASTERISK_CODEC_SPEEX ASTERISK_CODEC_GSM
 PKG_SUBPKGS+=		ASTERISK_PBX_DUNDI ASTERISK_RES_AGI
 PKGSB_ASTERISK_CODEC_SPEEX:=	speex
-PKGSB_ASTERISK_PQSQL:=		postgresql
+PKGSB_ASTERISK_PGSQL:=		postgresql
 PKGSD_ASTERISK_CHAN_MGCP:=	Media Gateway Control Protocol implementation
 PKGSD_ASTERISK_CHAN_SKINNY:=	Skinny Client Control Protocol implementation
 PKGSD_ASTERISK_CHAN_IAX2:=	Support for the Inter Asterisk Protocol

+ 4 - 4
package/ulogd/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		ulogd
 PKG_VERSION:=		2.0.0beta4
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		21143aecf8e39008d143a0fb0f742b0c
 PKG_DESCR:=		Netfilter userspace logging daemon
 PKG_SECTION:=		firewall
@@ -17,9 +17,9 @@ PKG_MULTI:=		1
 PKG_NOPARALLEL:=	1
 
 PKG_SUBPKGS:=		ULOGD ULOGD_MOD_MYSQL ULOGD_MOD_PCAP ULOGD_MOD_PGSQL ULOGD_MOD_SQLITE ULOGD_MOD_EXTRA
-PKGSB_MOD_MYSQL:=	mysql
-PKGSB_MOD_PGSQL:=	postgresql
-PKGSB_MOD_SQLITE:=	sqlite
+PKGSB_ULOGD_MOD_MYSQL:=		mysql
+PKGSB_ULOGD_MOD_PGSQL:=		postgresql
+PKGSB_ULOGD_MOD_SQLITE:=	sqlite
 
 PKG_HOST_DEPENDS:=	!cygwin
 

+ 15 - 9
tools/adk/depmaker.c

@@ -64,7 +64,7 @@ static int check_symbol(char *symbol) {
 }
 
 /*@null@*/
-static char *parse_line(char *package, char *pkgvar, char *string, int checksym) {
+static char *parse_line(char *package, char *pkgvar, char *string, int checksym, int pprefix) {
 
 	char *key, *value, *dep, *key_sym, *pkgdeps;
 	char temp[MAXLINE];
@@ -83,8 +83,13 @@ static char *parse_line(char *package, char *pkgvar, char *string, int checksym)
 			perror("Can not allocate memory.");
 			exit(EXIT_FAILURE);
 		}
-		if (snprintf(key_sym, MAXLINE, "ADK_PACKAGE_%s_", pkgvar) < 0)
-			perror("Can not create string variable.");
+		if (pprefix == 0) {
+			if (snprintf(key_sym, MAXLINE, "ADK_PACKAGE_%s_", pkgvar) < 0)
+				perror("Can not create string variable.");
+		} else {
+			if (snprintf(key_sym, MAXLINE, "ADK_PACKAGE_") < 0)
+				perror("Can not create string variable.");
+		}
 			
 		strncat(key_sym, key+6, strlen(key)-6);
 		if (check_symbol(key_sym) != 0) {
@@ -182,7 +187,7 @@ int main() {
 
 					string = strstr(buf, "PKG_BUILDDEP:=");
 					if (string != NULL) {
-						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0);
+						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0);
 						if (tmp != NULL) {
 							strncat(pkgdeps, tmp, strlen(tmp));
 						}
@@ -190,30 +195,31 @@ int main() {
 
 					string = strstr(buf, "PKG_BUILDDEP+=");
 					if (string != NULL) {
-						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0);
+						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0);
 						if (tmp != NULL)
 							strncat(pkgdeps, tmp, strlen(tmp));
 					}
 
 					string = strstr(buf, "PKGFB_");
 					if (string != NULL) {
-						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1);
+						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1, 0);
 						if (tmp != NULL)
 							strncat(pkgdeps, tmp, strlen(tmp));
 					}
 
 					string = strstr(buf, "PKGCB_");
 					if (string != NULL) {
-						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1);
+						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1, 0);
 						if (tmp != NULL)
 							strncat(pkgdeps, tmp, strlen(tmp));
 					}
 
 					string = strstr(buf, "PKGSB_");
 					if (string != NULL) {
-						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1);
-						if (tmp != NULL)
+						tmp = parse_line(pkgdirp->d_name, pkgvar, string, 1, 1);
+						if (tmp != NULL) {
 							strncat(pkgdeps, tmp, strlen(tmp));
+						}
 					}
 				}
 				free(tmp);