summaryrefslogtreecommitdiff
path: root/adk/tools
diff options
context:
space:
mode:
Diffstat (limited to 'adk/tools')
-rw-r--r--adk/tools/depmaker.c4
-rw-r--r--adk/tools/pkgmaker.c60
2 files changed, 46 insertions, 18 deletions
diff --git a/adk/tools/depmaker.c b/adk/tools/depmaker.c
index 7b04b3781..609d95a6a 100644
--- a/adk/tools/depmaker.c
+++ b/adk/tools/depmaker.c
@@ -133,7 +133,6 @@ static char *parse_line(char *package, char *pkgvar, char *string, int checksym,
}
strncat(depvar, dep, strlen(dep)-5);
if ((strncmp(depvar, "bc", 2) == 0) ||
- (strncmp(depvar, "bzip2", 5) == 0) ||
(strncmp(depvar, "file", 4) == 0) ||
(strncmp(depvar, "gawk", 4) == 0) ||
(strncmp(depvar, "grep", 4) == 0) ||
@@ -277,6 +276,8 @@ int main() {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
} else if (strncmp("MUSL", dpkg, 4) == 0) {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
+ } else if (strncmp("GLIBC", dpkg, 5) == 0) {
+ tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 2, &prefix);
} else {
tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 1, &prefix);
}
@@ -339,6 +340,7 @@ int main() {
}
}
} else if (strncmp(buf, "HOST_BUILDDEP", 13) == 0) {
+ //printf("DEBUG: HOST_BUILDDEP found for %s\n", pkgdirp->d_name);
asprintf(&string, "%s-host", pkgdirp->d_name);
// check retval; string for NULL
tmp = parse_line(string, NULL, buf, 2, 0, 0, &hprefix);
diff --git a/adk/tools/pkgmaker.c b/adk/tools/pkgmaker.c
index 451300548..30a0d11ca 100644
--- a/adk/tools/pkgmaker.c
+++ b/adk/tools/pkgmaker.c
@@ -19,6 +19,7 @@
#include <ctype.h>
#include <dirent.h>
+#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
@@ -290,22 +291,44 @@ static char *tolowerstr(char *string) {
static char *toupperstr(char *string) {
+ static char *sdup = NULL;
+ static int sduplen = 0;
int i;
- char *str;
-
+
+ if (!string) {
+ free(sdup);
+ sduplen = 0;
+ return NULL;
+ }
+
+ if (sduplen <= strlen(string)) {
+ sduplen = strlen(string) + 1;
+ sdup = realloc(sdup, sduplen);
+ if (!sdup)
+ fatal_error("%s: memory allocation failed: %s\n",
+ __func__, strerror(errno));
+ }
+
/* transform to uppercase variable name */
- str = strdup(string);
- for (i=0; i<(int)strlen(str); i++) {
- if (str[i] == '+')
- str[i] = 'X';
- if (str[i] == '-')
- str[i] = '_';
- /* remove negation here, useful for package host depends */
- if (str[i] == '!')
- str[i] = '_';
- str[i] = toupper(str[i]);
+ for (i = 0; i < strlen(string) + 1; i++) {
+ switch (string[i]) {
+ case '+':
+ sdup[i] = 'X';
+ break;
+ case '-':
+ sdup[i] = '_';
+ break;
+ case '!':
+ sdup[i] = '_';
+ break;
+ case '\0':
+ sdup[i] = '\0';
+ break;
+ default:
+ sdup[i] = toupper(string[i]);
+ }
}
- return(str);
+ return sdup;
}
@@ -463,10 +486,12 @@ int main() {
icfg = fopen(runtime, "a");
if (icfg == NULL)
continue;
- if (strncmp("busybox", sname, 7) == 0)
- fprintf(icfg, "config ADK_RUNTIME_START_%s_%s\n", toupperstr(sname), toupperstr(sname2));
- else
+ if (strncmp("busybox", sname, 7) == 0) {
+ fprintf(icfg, "config ADK_RUNTIME_START_%s", toupperstr(sname));
+ fprintf(icfg, "_%s\n", toupperstr(sname2));
+ } else {
fprintf(icfg, "config ADK_RUNTIME_START_%s\n", toupperstr(sname));
+ }
fprintf(icfg, "\tprompt \"Start %s on boot\"\n", sname2);
fprintf(icfg, "\ttristate\n");
if (strncmp("busybox", sname, 7) == 0)
@@ -813,7 +838,7 @@ int main() {
if (result == 1) {
val = strtok_r(hvalue, " ", &saveptr);
while (val != NULL) {
- fprintf(cfg, "\tselect ADK_KERNEL_%s\n", toupperstr(val));
+ fprintf(cfg, "\tselect ADK_LINUX_KERNEL_%s\n", toupperstr(val));
val = strtok_r(NULL, " ", &saveptr);
}
}
@@ -1282,6 +1307,7 @@ int main() {
fatal_error("removing file failed.");
}
}
+ toupperstr(NULL);
closedir(pkglistdir);
return(0);
}