فهرست منبع

fix subpackage build dependencies

PKGSB_ variables containing the full symbol name, without leading
main package symbol. Fix depmaker to check correctly.
Waldemar Brodkorb 13 سال پیش
والد
کامیت
27a3ff7af0
3فایلهای تغییر یافته به همراه20 افزوده شده و 14 حذف شده
  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);