}
static PyObject* Package_get_source_name(PackageObject* self) {
- const char* source_name = pakfire_package_get_source_name(self->package);
+ const char* source_name = pakfire_package_get_string(self->package, PAKFIRE_PKG_SOURCE_NAME);
+ if (!source_name)
+ Py_RETURN_NONE;
return PyUnicode_FromString(source_name);
}
static PyObject* Package_set_source_name(PackageObject* self, PyObject* value) {
const char* source_name = PyUnicode_AsUTF8(value);
+ if (!source_name)
+ return NULL;
- pakfire_package_set_source_name(self->package, source_name);
-
+ pakfire_package_set_string(self->package, PAKFIRE_PKG_SOURCE_NAME, source_name);
Py_RETURN_NONE;
}
static PyObject* Package_get_source_evr(PackageObject* self) {
- const char* source_evr = pakfire_package_get_source_evr(self->package);
+ const char* source_evr = pakfire_package_get_string(self->package, PAKFIRE_PKG_SOURCE_EVR);
+ if (!source_evr)
+ Py_RETURN_NONE;
return PyUnicode_FromString(source_evr);
}
static PyObject* Package_set_source_evr(PackageObject* self, PyObject* value) {
const char* source_evr = PyUnicode_AsUTF8(value);
+ if (!source_evr)
+ return NULL;
- pakfire_package_set_source_evr(self->package, source_evr);
-
+ pakfire_package_set_string(self->package, PAKFIRE_PKG_SOURCE_EVR, source_evr);
Py_RETURN_NONE;
}
static PyObject* Package_get_source_arch(PackageObject* self) {
- const char* source_arch = pakfire_package_get_source_arch(self->package);
+ const char* source_arch = pakfire_package_get_string(self->package, PAKFIRE_PKG_SOURCE_ARCH);
+ if (!source_arch)
+ Py_RETURN_NONE;
return PyUnicode_FromString(source_arch);
}
static PyObject* Package_set_source_arch(PackageObject* self, PyObject* value) {
const char* source_arch = PyUnicode_AsUTF8(value);
+ if (!source_arch)
+ return NULL;
- pakfire_package_set_source_arch(self->package, source_arch);
-
+ pakfire_package_set_string(self->package, PAKFIRE_PKG_SOURCE_ARCH, source_arch);
Py_RETURN_NONE;
}
// Source package
const char* source_name = pakfire_archive_metadata_get(archive, "build", "source-name");
- if (source_name)
- pakfire_package_set_source_name(pkg, source_name);
+ if (source_name) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_NAME, source_name);
+ if (r)
+ goto ERROR;
+ }
// Source EVR
const char* source_evr = pakfire_archive_metadata_get(archive, "build", "source-evr");
- if (source_evr)
- pakfire_package_set_source_evr(pkg, source_evr);
+ if (source_evr) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_EVR, source_evr);
+ if (r)
+ goto ERROR;
+ }
// Source arch
const char* source_arch = pakfire_archive_metadata_get(archive, "build", "source-arch");
- if (source_arch)
- pakfire_package_set_source_arch(pkg, source_arch);
+ if (source_arch) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_ARCH, source_arch);
+ if (r)
+ goto ERROR;
+ }
// Dependencies
const struct dependencies {
// Set source package
const char* source_name = pakfire_parser_get(makefile, NULL, "name");
- if (source_name)
- pakfire_package_set_source_name(pkg, source_name);
+ if (source_name) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_NAME, source_name);
+ if (r)
+ goto ERROR;
+ }
// Set source EVR
const char* source_evr = pakfire_parser_get(makefile, NULL, "evr");
- if (source_evr)
- pakfire_package_set_source_evr(pkg, source_evr);
+ if (source_evr) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_EVR, source_evr);
+ if (r)
+ goto ERROR;
+ }
// Set source arch
- pakfire_package_set_source_arch(pkg, "src");
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_ARCH, "src");
+ if (r)
+ goto ERROR;
// Create a packager
r = pakfire_packager_create(&packager, build->pakfire, pkg);
}
// Source package name
- const char* source_name = pakfire_package_get_source_name(pkg);
+ const char* source_name = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_NAME);
if (source_name) {
r = sqlite3_bind_text(stmt, 19, source_name, -1, NULL);
if (r)
}
// Source EVR
- const char* source_evr = pakfire_package_get_source_evr(pkg);
+ const char* source_evr = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_EVR);
if (source_evr) {
r = sqlite3_bind_text(stmt, 20, source_evr, -1, NULL);
if (r)
}
// Source arch
- const char* source_arch = pakfire_package_get_source_arch(pkg);
+ const char* source_arch = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_ARCH);
if (source_arch) {
r = sqlite3_bind_text(stmt, 21, source_arch, -1, NULL);
if (r)
// Source package
const char* source_name = (const char*)sqlite3_column_text(stmt, 29);
- if (source_name)
- pakfire_package_set_source_name(pkg, source_name);
+ if (source_name) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_NAME, source_name);
+ if (r)
+ goto ERROR;
+ }
// Source EVR
const char* source_evr = (const char*)sqlite3_column_text(stmt, 30);
- if (source_evr)
- pakfire_package_set_source_evr(pkg, source_evr);
+ if (source_evr) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_EVR, source_evr);
+ if (r)
+ goto ERROR;
+ }
// Source arch
const char* source_arch = (const char*)sqlite3_column_text(stmt, 31);
- if (source_arch)
- pakfire_package_set_source_arch(pkg, source_arch);
+ if (source_arch) {
+ r = pakfire_package_set_string(pkg, PAKFIRE_PKG_SOURCE_ARCH, source_arch);
+ if (r)
+ goto ERROR;
+ }
// Distribution
const char* distribution = (const char*)sqlite3_column_text(stmt, 32);
PAKFIRE_PKG_BUILD_HOST,
PAKFIRE_PKG_BUILD_ID,
PAKFIRE_PKG_SOURCE_PKG,
+ PAKFIRE_PKG_SOURCE_NAME,
+ PAKFIRE_PKG_SOURCE_EVR,
+ PAKFIRE_PKG_SOURCE_ARCH,
};
int pakfire_package_create(struct pakfire_package** package, struct pakfire* pakfire,
void pakfire_package_set_build_time(struct pakfire_package* pkg, time_t build_time);
time_t pakfire_package_get_install_time(struct pakfire_package* pkg);
void pakfire_package_set_install_time(struct pakfire_package* pkg, time_t install_time);
-const char* pakfire_package_get_source_name(struct pakfire_package* pkg);
-void pakfire_package_set_source_name(struct pakfire_package* pkg, const char* name);
-const char* pakfire_package_get_source_evr(struct pakfire_package* pkg);
-void pakfire_package_set_source_evr(struct pakfire_package* pkg, const char* evr);
-const char* pakfire_package_get_source_arch(struct pakfire_package* pkg);
-void pakfire_package_set_source_arch(struct pakfire_package* pkg, const char* arch);
char** pakfire_package_get_provides(struct pakfire_package* pkg);
char** pakfire_package_get_prerequires(struct pakfire_package* pkg);
pakfire_package_get_requires;
pakfire_package_get_reverse_requires;
pakfire_package_get_size;
- pakfire_package_get_source_arch;
- pakfire_package_get_source_evr;
- pakfire_package_get_source_name;
pakfire_package_get_string;
pakfire_package_get_suggests;
pakfire_package_get_supplements;
pakfire_package_set_installsize;
pakfire_package_set_install_time;
pakfire_package_set_path;
- pakfire_package_set_source_arch;
- pakfire_package_set_source_evr;
- pakfire_package_set_source_name;
pakfire_package_set_string;
pakfire_package_set_uuid;
pakfire_package_unref;
case PAKFIRE_PKG_SOURCE_PKG:
if (!*pkg->source_nevra) {
- const char* name = pakfire_package_get_source_name(pkg);
- const char* evr = pakfire_package_get_source_evr(pkg);
- const char* arch = pakfire_package_get_source_arch(pkg);
+ const char* name = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_NAME);
+ const char* evr = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_EVR);
+ const char* arch = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_ARCH);
// Return nothing if we don't have all information
if (!name || !evr || !arch)
}
return pkg->source_nevra;
+
+ case PAKFIRE_PKG_SOURCE_NAME:
+ ret = solvable_lookup_str(s, SOLVABLE_SOURCENAME);
+ break;
+
+ case PAKFIRE_PKG_SOURCE_EVR:
+ ret = solvable_lookup_str(s, SOLVABLE_SOURCEEVR);
+ break;
+
+ case PAKFIRE_PKG_SOURCE_ARCH:
+ ret = solvable_lookup_str(s, SOLVABLE_SOURCEARCH);
+ break;
}
return ret;
case PAKFIRE_PKG_SOURCE_PKG:
// The source package name cannot be set
break;
+
+ case PAKFIRE_PKG_SOURCE_NAME:
+ id = SOLVABLE_SOURCENAME;
+ break;
+
+ case PAKFIRE_PKG_SOURCE_EVR:
+ // Skip empty epoch
+ if (pakfire_string_startswith(value, "0:"))
+ value += 2;
+
+ id = SOLVABLE_SOURCEEVR;
+ break;
+
+ case PAKFIRE_PKG_SOURCE_ARCH:
+ id = SOLVABLE_SOURCEARCH;
+ break;
}
// Check if we have found a valid ID
pakfire_package_set_num(pkg, SOLVABLE_INSTALLTIME, install_time);
}
-PAKFIRE_EXPORT const char* pakfire_package_get_source_name(struct pakfire_package* pkg) {
- return pakfire_package_get_string(pkg, SOLVABLE_SOURCENAME);
-}
-
-PAKFIRE_EXPORT void pakfire_package_set_source_name(struct pakfire_package* pkg, const char* name) {
- pakfire_package_set_string(pkg, SOLVABLE_SOURCENAME, name);
-}
-
-PAKFIRE_EXPORT const char* pakfire_package_get_source_evr(struct pakfire_package* pkg) {
- return pakfire_package_get_string(pkg, SOLVABLE_SOURCEEVR);
-}
-
-PAKFIRE_EXPORT void pakfire_package_set_source_evr(struct pakfire_package* pkg, const char* evr) {
- // Skip empty epoch
- if (pakfire_string_startswith(evr, "0:"))
- evr += 2;
-
- pakfire_package_set_string(pkg, SOLVABLE_SOURCEEVR, evr);
-}
-
-PAKFIRE_EXPORT const char* pakfire_package_get_source_arch(struct pakfire_package* pkg) {
- return pakfire_package_get_string(pkg, SOLVABLE_SOURCEARCH);
-}
-
-PAKFIRE_EXPORT void pakfire_package_set_source_arch(struct pakfire_package* pkg, const char* arch) {
- pakfire_package_set_string(pkg, SOLVABLE_SOURCEARCH, arch);
-}
-
static char** pakfire_package_get_relationlist(
struct pakfire_package* pkg, Id type, Id marker) {
char** array = NULL;
}
// Source package name
- const char* name = pakfire_package_get_source_name(pkg);
+ const char* name = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_NAME);
if (name) {
r = pakfire_json_add_string(pkg->pakfire, object, "source-name", name);
if (r)
}
// Source package EVR
- const char* evr = pakfire_package_get_source_evr(pkg);
+ const char* evr = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_EVR);
if (evr) {
r = pakfire_json_add_string(pkg->pakfire, object, "source-evr", evr);
if (r)
}
// Source package arch
- const char* arch = pakfire_package_get_source_arch(pkg);
+ const char* arch = pakfire_package_get_string(pkg, PAKFIRE_PKG_SOURCE_ARCH);
if (arch) {
r = pakfire_json_add_string(pkg->pakfire, object, "source-arch", arch);
if (r)