Overview
Comment: | Updated to keep track of the upstream OS name and CPU |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | ed608e7feee93a51afa9dda429ad50d2c8654049 |
User & Date: | rkeene on 2014-09-09 08:19:24 |
Other Links: | manifest | tags |
Context
2014-09-09
| ||
08:23 | Added a default time to psuedo entries check-in: ef5acff5c9 user: rkeene tags: trunk | |
08:19 | Updated to keep track of the upstream OS name and CPU check-in: ed608e7fee user: rkeene tags: trunk | |
08:12 | Corrected site index generation check-in: cd7064a3fe user: rkeene tags: trunk | |
Changes
Modified appfs.c from [9a50e0345b] to [4cd4495e1d].
54 55 56 57 58 59 60 61 62 63 64 65 66 67 ... 381 382 383 384 385 386 387 388 389 390 391 392 393 394 ... 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 ... 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 ... 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 |
struct appfs_package { struct appfs_package *_next; int counter; char name[256]; char version[64]; char sha1[41]; appfs_os_t os; appfs_cpuArch_t cpuArch; int isLatest; }; struct appfs_site { struct appfs_site *_next; ................................................................................ obj = (void *) ckalloc(sizeof(*obj)); snprintf(obj->name, sizeof(obj->name), "%s", values[0]); snprintf(obj->version, sizeof(obj->version), "%s", values[1]); snprintf(obj->sha1, sizeof(obj->sha1), "%s", values[2]); obj->os = appfs_convert_os_fromString(values[3]); obj->cpuArch = appfs_convert_cpuArch_fromString(values[4]); if (values[5][0] == '1') { obj->isLatest = 1; } else { obj->isLatest = 0; } if (*head_p == NULL) { ................................................................................ char **retval = _retval; *retval = strdup(values[0]); return(0); } static char *appfs_lookup_package_hash(const char *hostname, const char *package, appfs_os_t os, appfs_cpuArch_t cpuArch, const char *version) { char *sql; char *retval = NULL; int sqlite_ret; appfs_update_index(hostname); sql = sqlite3_mprintf("SELECT sha1 FROM packages WHERE hostname = %Q AND package = %Q AND os = %Q AND cpuArch = %Q AND version = %Q;", hostname, package, appfs_convert_os_toString(os), appfs_convert_cpuArch_toString(cpuArch), version ); if (sql == NULL) { APPFS_DEBUG("Call to sqlite3_mprintf failed."); return(NULL); } ................................................................................ } os_cpuArch_count++; if (children) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; snprintf(node->name, sizeof(node->name), "%s-%s", appfs_convert_os_toString(package->os), appfs_convert_cpuArch_toString(package->cpuArch)); *children = node; } } appfs_free_list_package(packages); free(path_s); ................................................................................ } /* Request for a file in a specific package */ APPFS_DEBUG("Requesting information for hostname = %s, package = %s, os = %s, cpuArch = %s, version = %s, path = %s", hostname, packagename, os, cpuArch, version, path ); package_hash = appfs_lookup_package_hash(hostname, packagename, os_val, cpuArch_val, version); if (package_hash == NULL) { free(path_s); return(-ENOENT); } APPFS_DEBUG(" ... which hash a hash of %s", package_hash); |
> > > > | | | | | |
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ... 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 ... 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 ... 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 ... 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 |
struct appfs_package { struct appfs_package *_next; int counter; char name[256]; char version[64]; char sha1[41]; char os_str[64]; char cpuArch_str[64]; appfs_os_t os; appfs_cpuArch_t cpuArch; int isLatest; }; struct appfs_site { struct appfs_site *_next; ................................................................................ obj = (void *) ckalloc(sizeof(*obj)); snprintf(obj->name, sizeof(obj->name), "%s", values[0]); snprintf(obj->version, sizeof(obj->version), "%s", values[1]); snprintf(obj->sha1, sizeof(obj->sha1), "%s", values[2]); obj->os = appfs_convert_os_fromString(values[3]); obj->cpuArch = appfs_convert_cpuArch_fromString(values[4]); snprintf(obj->os_str, sizeof(obj->os_str), "%s", values[3]); snprintf(obj->cpuArch_str, sizeof(obj->cpuArch_str), "%s", values[4]); if (values[5][0] == '1') { obj->isLatest = 1; } else { obj->isLatest = 0; } if (*head_p == NULL) { ................................................................................ char **retval = _retval; *retval = strdup(values[0]); return(0); } static char *appfs_lookup_package_hash(const char *hostname, const char *package, const char *os, const char *cpuArch, const char *version) { char *sql; char *retval = NULL; int sqlite_ret; appfs_update_index(hostname); sql = sqlite3_mprintf("SELECT sha1 FROM packages WHERE hostname = %Q AND package = %Q AND os = %Q AND cpuArch = %Q AND version = %Q;", hostname, package, os, cpuArch, version ); if (sql == NULL) { APPFS_DEBUG("Call to sqlite3_mprintf failed."); return(NULL); } ................................................................................ } os_cpuArch_count++; if (children) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; snprintf(node->name, sizeof(node->name), "%s-%s", package->os_str, package->cpuArch_str); *children = node; } } appfs_free_list_package(packages); free(path_s); ................................................................................ } /* Request for a file in a specific package */ APPFS_DEBUG("Requesting information for hostname = %s, package = %s, os = %s, cpuArch = %s, version = %s, path = %s", hostname, packagename, os, cpuArch, version, path ); package_hash = appfs_lookup_package_hash(hostname, packagename, os, cpuArch, version); if (package_hash == NULL) { free(path_s); return(-ENOENT); } APPFS_DEBUG(" ... which hash a hash of %s", package_hash); |