summaryrefslogtreecommitdiff
path: root/lib/libalpm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/add.c6
-rw-r--r--lib/libalpm/alpm.c54
-rw-r--r--lib/libalpm/alpm.h3
-rw-r--r--lib/libalpm/alpm_list.c16
-rw-r--r--lib/libalpm/conflict.c8
-rw-r--r--lib/libalpm/db.c2
-rw-r--r--lib/libalpm/deps.c10
-rw-r--r--lib/libalpm/error.c2
-rw-r--r--lib/libalpm/group.c4
-rw-r--r--lib/libalpm/handle.c22
-rw-r--r--lib/libalpm/package.c50
-rw-r--r--lib/libalpm/sync.c10
-rw-r--r--lib/libalpm/trans.c4
-rw-r--r--lib/libalpm/util.h4
-rw-r--r--lib/libalpm/versioncmp.c6
-rw-r--r--lib/libalpm/versioncmp.h1
16 files changed, 104 insertions, 98 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index f034131b..d6cef0d2 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -105,7 +105,7 @@ static int add_faketarget(pmtrans_t *trans, char *name)
return(0);
}
-int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
+int SYMHIDDEN _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
{
pmpkg_t *info = NULL;
pmpkg_t *dummy;
@@ -154,7 +154,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
if(trans->flags & PM_TRANS_FLAG_FRESHEN) {
/* only upgrade/install this package if it is already installed and at a lesser version */
dummy = _alpm_db_get_pkgfromcache(db, pkgname);
- if(dummy == NULL || _alpm_versioncmp(dummy->version, pkgver) >= 0) {
+ if(dummy == NULL || alpm_versioncmp(dummy->version, pkgver) >= 0) {
pm_errno = PM_ERR_PKG_CANT_FRESH;
goto error;
}
@@ -166,7 +166,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
for(i = trans->packages; i; i = i->next) {
pmpkg_t *pkg = i->data;
if(strcmp(pkg->name, pkgname) == 0) {
- if(_alpm_versioncmp(pkg->version, pkgver) < 0) {
+ if(alpm_versioncmp(pkg->version, pkgver) < 0) {
pmpkg_t *newpkg;
_alpm_log(PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list"),
pkg->name, pkg->version, pkgver);
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c
index a347d74b..8d0536f5 100644
--- a/lib/libalpm/alpm.c
+++ b/lib/libalpm/alpm.c
@@ -63,7 +63,7 @@
/* Globals */
pmhandle_t *handle = NULL;
-enum _pmerrno_t pm_errno;
+enum _pmerrno_t pm_errno SYMEXPORT;
/** \addtogroup alpm_interface Interface Functions
* @brief Functions to initialize and release libalpm
@@ -75,7 +75,7 @@ enum _pmerrno_t pm_errno;
* @param root the full path of the root we'll be installing to (usually /)
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_initialize(const char *root)
+int SYMEXPORT alpm_initialize(const char *root)
{
char str[PATH_MAX];
@@ -99,7 +99,7 @@ int alpm_initialize(const char *root)
/** Release the library. This should be the last alpm call you make.
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_release()
+int SYMEXPORT alpm_release()
{
int dbs_left = 0;
@@ -139,7 +139,7 @@ int alpm_release()
* @param treename the name of the repository
* @return a pmdb_t* on success (the value), NULL on error
*/
-pmdb_t *alpm_db_register(char *treename)
+pmdb_t SYMEXPORT *alpm_db_register(char *treename)
{
/* Sanity checks */
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, NULL));
@@ -245,7 +245,7 @@ int alpm_db_setserver(pmdb_t *db, const char *url)
* @return 0 on success, > 0 on error (pm_errno is set accordingly), < 0 if up
* to date
*/
-int alpm_db_update(int force, pmdb_t *db)
+int SYMEXPORT alpm_db_update(int force, pmdb_t *db)
{
alpm_list_t *lp;
char path[PATH_MAX];
@@ -330,7 +330,7 @@ int alpm_db_update(int force, pmdb_t *db)
* @param name of the package
* @return the package entry on success, NULL on error
*/
-pmpkg_t *alpm_db_readpkg(pmdb_t *db, char *name)
+pmpkg_t SYMEXPORT *alpm_db_readpkg(pmdb_t *db, char *name)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -344,7 +344,7 @@ pmpkg_t *alpm_db_readpkg(pmdb_t *db, char *name)
* @param db pointer to the package database to get the package from
* @return the list of packages on success, NULL on error
*/
-alpm_list_t *alpm_db_getpkgcache(pmdb_t *db)
+alpm_list_t SYMEXPORT *alpm_db_getpkgcache(pmdb_t *db)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -358,7 +358,7 @@ alpm_list_t *alpm_db_getpkgcache(pmdb_t *db)
* @param name name of the package
* @return the list of packages on success, NULL on error
*/
-alpm_list_t *alpm_db_whatprovides(pmdb_t *db, char *name)
+alpm_list_t SYMEXPORT *alpm_db_whatprovides(pmdb_t *db, char *name)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -373,7 +373,7 @@ alpm_list_t *alpm_db_whatprovides(pmdb_t *db, char *name)
* @param name of the group
* @return the groups entry on success, NULL on error
*/
-pmgrp_t *alpm_db_readgrp(pmdb_t *db, char *name)
+pmgrp_t SYMEXPORT *alpm_db_readgrp(pmdb_t *db, char *name)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -387,7 +387,7 @@ pmgrp_t *alpm_db_readgrp(pmdb_t *db, char *name)
* @param db pointer to the package database to get the group from
* @return the list of groups on success, NULL on error
*/
-alpm_list_t *alpm_db_getgrpcache(pmdb_t *db)
+alpm_list_t SYMEXPORT *alpm_db_getgrpcache(pmdb_t *db)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -408,7 +408,7 @@ alpm_list_t *alpm_db_getgrpcache(pmdb_t *db)
* @param pkg address of the package pointer
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_pkg_load(char *filename, pmpkg_t **pkg)
+int SYMEXPORT alpm_pkg_load(char *filename, pmpkg_t **pkg)
{
_alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_load");
@@ -429,7 +429,7 @@ int alpm_pkg_load(char *filename, pmpkg_t **pkg)
* @param pkg package pointer to free
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_pkg_free(pmpkg_t *pkg)
+int SYMEXPORT alpm_pkg_free(pmpkg_t *pkg)
{
_alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_free");
@@ -543,9 +543,9 @@ int alpm_pkg_checkmd5sum(pmpkg_t *pkg)
* @return postive, 0 or negative if ver1 is less, equal or more
* than ver2, respectively.
*/
-int alpm_pkg_vercmp(const char *ver1, const char *ver2)
+int SYMEXPORT alpm_pkg_vercmp(const char *ver1, const char *ver2)
{
- return(_alpm_versioncmp(ver1, ver2));
+ return(alpm_versioncmp(ver1, ver2));
}
/* internal */
@@ -556,7 +556,7 @@ static char *_supported_archs[] = {
"x86_64",
};
-char *alpm_pkg_name_hasarch(char *pkgname)
+char SYMEXPORT *alpm_pkg_name_hasarch(char *pkgname)
{
/* TODO remove this when we transfer everything over to -ARCH
*
@@ -596,7 +596,7 @@ char *alpm_pkg_name_hasarch(char *pkgname)
* @param db pointer to the package database to search in
* @return the list of packages on success, NULL on error
*/
-alpm_list_t *alpm_db_search(pmdb_t *db)
+alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -622,7 +622,7 @@ alpm_list_t *alpm_db_search(pmdb_t *db)
* @param progress progress callback function pointer
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_init(pmtranstype_t type, unsigned int flags,
+int SYMEXPORT alpm_trans_init(pmtranstype_t type, unsigned int flags,
alpm_trans_cb_event event, alpm_trans_cb_conv conv,
alpm_trans_cb_progress progress)
{
@@ -651,7 +651,7 @@ int alpm_trans_init(pmtranstype_t type, unsigned int flags,
/** Search for packages to upgrade and add them to the transaction.
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_sysupgrade()
+int SYMEXPORT alpm_trans_sysupgrade()
{
pmtrans_t *trans;
@@ -669,7 +669,7 @@ int alpm_trans_sysupgrade()
* @param target the name of the target to add
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_addtarget(char *target)
+int SYMEXPORT alpm_trans_addtarget(char *target)
{
pmtrans_t *trans;
@@ -689,7 +689,7 @@ int alpm_trans_addtarget(char *target)
* of an error can be dumped (ie. list of conflicting files)
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_prepare(alpm_list_t **data)
+int SYMEXPORT alpm_trans_prepare(alpm_list_t **data)
{
/* Sanity checks */
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
@@ -706,7 +706,7 @@ int alpm_trans_prepare(alpm_list_t **data)
* of an error can be dumped (ie. list of conflicting files)
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_commit(alpm_list_t **data)
+int SYMEXPORT alpm_trans_commit(alpm_list_t **data)
{
/* Sanity checks */
ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
@@ -726,7 +726,7 @@ int alpm_trans_commit(alpm_list_t **data)
/** Release a transaction.
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_trans_release()
+int SYMEXPORT alpm_trans_release()
{
pmtrans_t *trans;
char path[PATH_MAX];
@@ -774,7 +774,7 @@ int alpm_trans_release()
* @param fmt output format
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_logaction(char *fmt, ...)
+int SYMEXPORT alpm_logaction(char *fmt, ...)
{
char str[LOG_STR_LEN];
va_list args;
@@ -812,7 +812,7 @@ int alpm_logaction(char *fmt, ...)
* @param name name of the file
* @return the checksum on success, NULL on error
*/
-char *alpm_get_md5sum(char *name)
+char SYMEXPORT *alpm_get_md5sum(char *name)
{
ASSERT(name != NULL, return(NULL));
@@ -823,7 +823,7 @@ char *alpm_get_md5sum(char *name)
* @param name name of the file
* @return the checksum on success, NULL on error
*/
-char *alpm_get_sha1sum(char *name)
+char SYMEXPORT *alpm_get_sha1sum(char *name)
{
ASSERT(name != NULL, return(NULL));
@@ -834,7 +834,7 @@ char *alpm_get_sha1sum(char *name)
* @param url
* @return the downloaded filename on success, NULL on error
*/
-char *alpm_fetch_pkgurl(char *url)
+char SYMEXPORT *alpm_fetch_pkgurl(char *url)
{
ASSERT(strstr(url, "://"), return(NULL));
@@ -847,7 +847,7 @@ char *alpm_fetch_pkgurl(char *url)
* @param this_section the config current section being parsed
* @return 0 on success, -1 on error (pm_errno is set accordingly)
*/
-int alpm_parse_config(char *file, alpm_cb_db_register callback, const char *this_section)
+int SYMEXPORT alpm_parse_config(char *file, alpm_cb_db_register callback, const char *this_section)
{
FILE *fp = NULL;
char line[PATH_MAX+1];
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 68723a0c..9aca946f 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -486,6 +486,9 @@ extern enum _pmerrno_t pm_errno;
char *alpm_strerror(int err);
+/* Version Compare */
+int alpm_versioncmp(const char *a, const char *b);
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/libalpm/alpm_list.c b/lib/libalpm/alpm_list.c
index d553499e..e118a129 100644
--- a/lib/libalpm/alpm_list.c
+++ b/lib/libalpm/alpm_list.c
@@ -52,7 +52,7 @@ alpm_list_t *alpm_list_new()
/** Free a list, but not the contained data
* @param list the list to free
*/
-void alpm_list_free(alpm_list_t *list)
+void SYMEXPORT alpm_list_free(alpm_list_t *list)
{
alpm_list_t *it = list;
@@ -67,7 +67,7 @@ void alpm_list_free(alpm_list_t *list)
* @param list the list to free
* @param fn a free function for the internal data
*/
-void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn)
+void SYMEXPORT alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn)
{
alpm_list_t *it = list;
@@ -87,7 +87,7 @@ void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn)
* @param data the new item to be added to the list
* @return the resultant list, or NULL on failure
*/
-alpm_list_t *alpm_list_add(alpm_list_t *list, void *data)
+alpm_list_t SYMEXPORT *alpm_list_add(alpm_list_t *list, void *data)
{
alpm_list_t *ptr, *lp;
@@ -305,7 +305,7 @@ alpm_list_t *alpm_list_remove_node(alpm_list_t *node)
* @param list the list to copy
* @return a NEW list containing non-duplicated items
*/
-alpm_list_t *alpm_list_remove_dupes(alpm_list_t *list)
+alpm_list_t SYMEXPORT *alpm_list_remove_dupes(alpm_list_t *list)
{ /* TODO does removing the strdup here cause invalid free's anywhere? */
alpm_list_t *lp = list, *newlist = NULL;
while(lp) {
@@ -354,7 +354,7 @@ alpm_list_t *alpm_list_reverse(alpm_list_t *list)
* @param list the list
* @return the first element in the list
*/
-alpm_list_t *alpm_list_first(alpm_list_t *list)
+alpm_list_t SYMEXPORT *alpm_list_first(alpm_list_t *list)
{
return(list);
}
@@ -377,7 +377,7 @@ alpm_list_t *alpm_list_nth(alpm_list_t *list, int n)
* @param entry the list entry
* @return the next element, or NULL when no more elements exist
*/
-alpm_list_t *alpm_list_next(alpm_list_t *entry)
+alpm_list_t SYMEXPORT *alpm_list_next(alpm_list_t *entry)
{
return(entry->next);
}
@@ -398,7 +398,7 @@ alpm_list_t *alpm_list_last(alpm_list_t *list)
* @param entry the list entry
* @return the contained data, or NULL if none
*/
-void *alpm_list_getdata(const alpm_list_t *entry)
+void SYMEXPORT *alpm_list_getdata(const alpm_list_t *entry)
{
if(entry == NULL) return(NULL);
return(entry->data);
@@ -410,7 +410,7 @@ void *alpm_list_getdata(const alpm_list_t *entry)
* @param list the list to operate on
* @return the number of list items
*/
-int alpm_list_count(const alpm_list_t *list)
+int SYMEXPORT alpm_list_count(const alpm_list_t *list)
{
unsigned int i = 0;
const alpm_list_t *lp = list;
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
index 0191a187..96d4fd01 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -360,7 +360,7 @@ alpm_list_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, a
return(conflicts);
}
-const char *alpm_conflict_get_target(pmconflict_t *conflict)
+const char SYMEXPORT *alpm_conflict_get_target(pmconflict_t *conflict)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -369,7 +369,7 @@ const char *alpm_conflict_get_target(pmconflict_t *conflict)
return conflict->target;
}
-pmconflicttype_t alpm_conflict_get_type(pmconflict_t *conflict)
+pmconflicttype_t SYMEXPORT alpm_conflict_get_type(pmconflict_t *conflict)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -378,7 +378,7 @@ pmconflicttype_t alpm_conflict_get_type(pmconflict_t *conflict)
return conflict->type;
}
-const char *alpm_conflict_get_file(pmconflict_t *conflict)
+const char SYMEXPORT *alpm_conflict_get_file(pmconflict_t *conflict)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -387,7 +387,7 @@ const char *alpm_conflict_get_file(pmconflict_t *conflict)
return conflict->file;
}
-const char *alpm_conflict_get_ctarget(pmconflict_t *conflict)
+const char SYMEXPORT *alpm_conflict_get_ctarget(pmconflict_t *conflict)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 1dece32d..cafd74fa 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -199,7 +199,7 @@ pmdb_t *_alpm_db_register(char *treename, alpm_cb_db_register callback)
return(db);
}
-const char *alpm_db_get_name(pmdb_t *db)
+const char SYMEXPORT *alpm_db_get_name(pmdb_t *db)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 0de9b930..a8e59f00 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -646,7 +646,7 @@ error:
return(-1);
}
-const char *alpm_dep_get_target(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_target(pmdepmissing_t *miss)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -655,7 +655,7 @@ const char *alpm_dep_get_target(pmdepmissing_t *miss)
return miss->target;
}
-pmdeptype_t alpm_dep_get_type(pmdepmissing_t *miss)
+pmdeptype_t SYMEXPORT alpm_dep_get_type(pmdepmissing_t *miss)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -664,7 +664,7 @@ pmdeptype_t alpm_dep_get_type(pmdepmissing_t *miss)
return miss->type;
}
-pmdepmod_t alpm_dep_get_mod(pmdepmissing_t *miss)
+pmdepmod_t SYMEXPORT alpm_dep_get_mod(pmdepmissing_t *miss)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -673,7 +673,7 @@ pmdepmod_t alpm_dep_get_mod(pmdepmissing_t *miss)
return miss->depend.mod;
}
-const char *alpm_dep_get_name(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_name(pmdepmissing_t *miss)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -682,7 +682,7 @@ const char *alpm_dep_get_name(pmdepmissing_t *miss)
return miss->depend.name;
}
-const char *alpm_dep_get_version(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_version(pmdepmissing_t *miss)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c
index 832d8e78..334012d1 100644
--- a/lib/libalpm/error.c
+++ b/lib/libalpm/error.c
@@ -26,7 +26,7 @@
#include "util.h"
#include "alpm.h"
-char *alpm_strerror(int err)
+char SYMEXPORT *alpm_strerror(int err)
{
switch(err) {
/* System */
diff --git a/lib/libalpm/group.c b/lib/libalpm/group.c
index 3ec6338c..922443ed 100644
--- a/lib/libalpm/group.c
+++ b/lib/libalpm/group.c
@@ -70,7 +70,7 @@ int _alpm_grp_cmp(const void *g1, const void *g2)
return(strcmp(grp1->name, grp2->name));
}
-const char *alpm_grp_get_name(pmgrp_t *grp)
+const char SYMEXPORT *alpm_grp_get_name(pmgrp_t *grp)
{
/* Sanity checks */
ASSERT(grp != NULL, return(NULL));
@@ -78,7 +78,7 @@ const char *alpm_grp_get_name(pmgrp_t *grp)
return grp->name;
}
-alpm_list_t *alpm_grp_get_packages(pmgrp_t *grp)
+alpm_list_t SYMEXPORT *alpm_grp_get_packages(pmgrp_t *grp)
{
/* Sanity checks */
ASSERT(grp != NULL, return(NULL));
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index 1c31e41d..a8563a17 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -118,9 +118,9 @@ int _alpm_handle_free(pmhandle_t *handle)
alpm_cb_log alpm_option_get_logcb() { return handle->logcb; }
alpm_cb_download alpm_option_get_dlcb() { return handle->dlcb; }
unsigned short alpm_option_get_logmask() { return handle->logmask; }
-const char *alpm_option_get_root() { return handle->root; }
-const char *alpm_option_get_dbpath() { return handle->dbpath; }
-const char *alpm_option_get_cachedir() { return handle->cachedir; }
+const char SYMEXPORT *alpm_option_get_root() { return handle->root; }
+const char SYMEXPORT *alpm_option_get_dbpath() { return handle->dbpath; }
+const char SYMEXPORT *alpm_option_get_cachedir() { return handle->cachedir; }
const char *alpm_option_get_logfile() { return handle->logfile; }
unsigned short alpm_option_get_usesyslog() { return handle->usesyslog; }
alpm_list_t *alpm_option_get_noupgrades() { return handle->noupgrade; }
@@ -130,21 +130,21 @@ alpm_list_t *alpm_option_get_holdpkgs() { return handle->holdpkg; }
time_t alpm_option_get_upgradedelay() { return handle->upgradedelay; }
const char *alpm_option_get_xfercommand() { return handle->xfercommand; }
unsigned short alpm_option_get_nopassiveftp() { return handle->nopassiveftp; }
-unsigned short alpm_option_get_chomp() { return handle->chomp; }
+unsigned short SYMEXPORT alpm_option_get_chomp() { return handle->chomp; }
alpm_list_t *alpm_option_get_needles() { return handle->needles; }
unsigned short alpm_option_get_usecolor() { return handle->use_color; }
pmdb_t *alpm_option_get_localdb() { return handle->db_local; }
-alpm_list_t *alpm_option_get_syncdbs()
+alpm_list_t SYMEXPORT *alpm_option_get_syncdbs()
{
return handle->dbs_sync;
}
-void alpm_option_set_logcb(alpm_cb_log cb) { handle->logcb = cb; }
+void SYMEXPORT alpm_option_set_logcb(alpm_cb_log cb) { handle->logcb = cb; }
-void alpm_option_set_dlcb(alpm_cb_download cb) { handle->dlcb = cb; }
+void SYMEXPORT alpm_option_set_dlcb(alpm_cb_download cb) { handle->dlcb = cb; }
-void alpm_option_set_logmask(unsigned short mask) { handle->logmask = mask; }
+void SYMEXPORT alpm_option_set_logmask(unsigned short mask) { handle->logmask = mask; }
void alpm_option_set_root(const char *root)
{
@@ -152,7 +152,7 @@ void alpm_option_set_root(const char *root)
if(root) handle->root = strdup(root);
}
-void alpm_option_set_dbpath(const char *dbpath)
+void SYMEXPORT alpm_option_set_dbpath(const char *dbpath)
{
if(handle->dbpath) FREE(handle->dbpath);
if(dbpath) handle->dbpath = strdup(dbpath);
@@ -205,7 +205,7 @@ void alpm_option_set_noextracts(alpm_list_t *noextract)
if(noextract) handle->noextract = noextract;
}
-void alpm_option_add_ignorepkg(char *pkg)
+void SYMEXPORT alpm_option_add_ignorepkg(char *pkg)
{
handle->ignorepkg = alpm_list_add(handle->ignorepkg, strdup(pkg));
}
@@ -243,7 +243,7 @@ void alpm_option_set_nopassiveftp(unsigned short nopasv)
void alpm_option_set_chomp(unsigned short chomp) { handle->chomp = chomp; }
-void alpm_option_add_needle(char *needle)
+void SYMEXPORT alpm_option_add_needle(char *needle)
{
handle->needles = alpm_list_add(handle->needles, strdup(needle));
}
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index beda20a4..5a0106cf 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -457,7 +457,7 @@ const char *alpm_pkg_get_filename(pmpkg_t *pkg)
return pkg->filename;
}
-const char *alpm_pkg_get_name(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_name(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -466,7 +466,7 @@ const char *alpm_pkg_get_name(pmpkg_t *pkg)
return pkg->name;
}
-const char *alpm_pkg_get_version(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_version(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -475,7 +475,7 @@ const char *alpm_pkg_get_version(pmpkg_t *pkg)
return pkg->version;
}
-const char *alpm_pkg_get_desc(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_desc(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -487,7 +487,7 @@ const char *alpm_pkg_get_desc(pmpkg_t *pkg)
return pkg->desc;
}
-const char *alpm_pkg_get_url(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_url(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -499,7 +499,7 @@ const char *alpm_pkg_get_url(pmpkg_t *pkg)
return pkg->url;
}
-const char *alpm_pkg_get_builddate(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_builddate(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -511,7 +511,7 @@ const char *alpm_pkg_get_builddate(pmpkg_t *pkg)
return pkg->builddate;
}
-const char *alpm_pkg_get_buildtype(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_buildtype(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -523,7 +523,7 @@ const char *alpm_pkg_get_buildtype(pmpkg_t *pkg)
return pkg->buildtype;
}
-const char *alpm_pkg_get_installdate(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_installdate(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -535,7 +535,7 @@ const char *alpm_pkg_get_installdate(pmpkg_t *pkg)
return pkg->installdate;
}
-const char *alpm_pkg_get_packager(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_packager(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -547,7 +547,7 @@ const char *alpm_pkg_get_packager(pmpkg_t *pkg)
return pkg->packager;
}
-const char *alpm_pkg_get_md5sum(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_md5sum(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -559,7 +559,7 @@ const char *alpm_pkg_get_md5sum(pmpkg_t *pkg)
return pkg->md5sum;
}
-const char *alpm_pkg_get_sha1sum(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_sha1sum(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -571,7 +571,7 @@ const char *alpm_pkg_get_sha1sum(pmpkg_t *pkg)
return pkg->sha1sum;
}
-const char *alpm_pkg_get_arch(pmpkg_t *pkg)
+const char SYMEXPORT *alpm_pkg_get_arch(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -583,7 +583,7 @@ const char *alpm_pkg_get_arch(pmpkg_t *pkg)
return pkg->arch;
}
-unsigned long alpm_pkg_get_size(pmpkg_t *pkg)
+unsigned long SYMEXPORT alpm_pkg_get_size(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -595,7 +595,7 @@ unsigned long alpm_pkg_get_size(pmpkg_t *pkg)
return pkg->size;
}
-unsigned long alpm_pkg_get_isize(pmpkg_t *pkg)
+unsigned long SYMEXPORT alpm_pkg_get_isize(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -607,7 +607,7 @@ unsigned long alpm_pkg_get_isize(pmpkg_t *pkg)
return pkg->isize;
}
-pmpkgreason_t alpm_pkg_get_reason(pmpkg_t *pkg)
+pmpkgreason_t SYMEXPORT alpm_pkg_get_reason(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -619,7 +619,7 @@ pmpkgreason_t alpm_pkg_get_reason(pmpkg_t *pkg)
return pkg->reason;
}
-alpm_list_t *alpm_pkg_get_licenses(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -631,7 +631,7 @@ alpm_list_t *alpm_pkg_get_licenses(pmpkg_t *pkg)
return pkg->license;
}
-alpm_list_t *alpm_pkg_get_groups(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_groups(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -644,7 +644,7 @@ alpm_list_t *alpm_pkg_get_groups(pmpkg_t *pkg)
}
/* depends */
-alpm_list_t *alpm_pkg_get_depends(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_depends(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -656,7 +656,7 @@ alpm_list_t *alpm_pkg_get_depends(pmpkg_t *pkg)
return pkg->depends;
}
-alpm_list_t *alpm_pkg_get_removes(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_removes(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -668,7 +668,7 @@ alpm_list_t *alpm_pkg_get_removes(pmpkg_t *pkg)
return pkg->removes;
}
-alpm_list_t *alpm_pkg_get_requiredby(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_requiredby(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -680,7 +680,7 @@ alpm_list_t *alpm_pkg_get_requiredby(pmpkg_t *pkg)
return pkg->requiredby;
}
-alpm_list_t *alpm_pkg_get_conflicts(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_conflicts(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -692,7 +692,7 @@ alpm_list_t *alpm_pkg_get_conflicts(pmpkg_t *pkg)
return pkg->conflicts;
}
-alpm_list_t *alpm_pkg_get_provides(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_provides(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -704,7 +704,7 @@ alpm_list_t *alpm_pkg_get_provides(pmpkg_t *pkg)
return pkg->provides;
}
-alpm_list_t *alpm_pkg_get_replaces(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_replaces(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -716,7 +716,7 @@ alpm_list_t *alpm_pkg_get_replaces(pmpkg_t *pkg)
return pkg->replaces;
}
-alpm_list_t *alpm_pkg_get_files(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_files(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -729,7 +729,7 @@ alpm_list_t *alpm_pkg_get_files(pmpkg_t *pkg)
return pkg->files;
}
-alpm_list_t *alpm_pkg_get_backup(pmpkg_t *pkg)
+alpm_list_t SYMEXPORT *alpm_pkg_get_backup(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
@@ -742,7 +742,7 @@ alpm_list_t *alpm_pkg_get_backup(pmpkg_t *pkg)
return pkg->backup;
}
-unsigned short alpm_pkg_has_scriptlet(pmpkg_t *pkg)
+unsigned short SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 301b4917..a3e8e1fd 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -227,7 +227,7 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_s
}
/* compare versions and see if we need to upgrade */
- cmp = _alpm_versioncmp(local->version, spkg->version);
+ cmp = alpm_versioncmp(local->version, spkg->version);
if(cmp > 0 && !spkg->force) {
/* local version is newer */
pmdb_t *db = spkg->data;
@@ -340,7 +340,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
local = _alpm_db_get_pkgfromcache(db_local, spkg->name);
if(local) {
- cmp = _alpm_versioncmp(local->version, spkg->version);
+ cmp = alpm_versioncmp(local->version, spkg->version);
if(cmp > 0 && !spkg->force) {
/* local version is newer -- get confirmation before adding */
int resp = 0;
@@ -1069,7 +1069,7 @@ error:
return(-1);
}
-pmsynctype_t alpm_sync_get_type(pmsyncpkg_t *sync)
+pmsynctype_t SYMEXPORT alpm_sync_get_type(pmsyncpkg_t *sync)
{
/* Sanity checks */
ASSERT(sync != NULL, return(-1));
@@ -1077,7 +1077,7 @@ pmsynctype_t alpm_sync_get_type(pmsyncpkg_t *sync)
return sync->type;
}
-pmpkg_t *alpm_sync_get_package(pmsyncpkg_t *sync)
+pmpkg_t SYMEXPORT *alpm_sync_get_package(pmsyncpkg_t *sync)
{
/* Sanity checks */
ASSERT(sync != NULL, return(NULL));
@@ -1085,7 +1085,7 @@ pmpkg_t *alpm_sync_get_package(pmsyncpkg_t *sync)
return sync->pkg;
}
-void *alpm_sync_get_data(pmsyncpkg_t *sync)
+void SYMEXPORT *alpm_sync_get_data(pmsyncpkg_t *sync)
{
/* Sanity checks */
ASSERT(sync != NULL, return(NULL));
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 005fa243..601373d7 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -237,7 +237,7 @@ pmtranstype_t alpm_trans_get_type()
return handle->trans->type;
}
-unsigned int alpm_trans_get_flags()
+unsigned int SYMEXPORT alpm_trans_get_flags()
{
/* Sanity checks */
ASSERT(handle != NULL, return(-1));
@@ -255,7 +255,7 @@ alpm_list_t * alpm_trans_get_targets()
return handle->trans->targets;
}
-alpm_list_t * alpm_trans_get_packages()
+alpm_list_t SYMEXPORT * alpm_trans_get_packages()
{
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h
index 098c15a4..4de9f5d8 100644
--- a/lib/libalpm/util.h
+++ b/lib/libalpm/util.h
@@ -76,6 +76,10 @@ char* strsep(char** str, const char* delims);
char* mkdtemp(char *template);
#endif
+/* check exported library symbols with: nm -C -D <lib> */
+#define SYMEXPORT __attribute__((visibility("default")))
+#define SYMHIDDEN __attribute__((visibility("hidden")))
+
#endif /* _ALPM_UTIL_H */
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/versioncmp.c b/lib/libalpm/versioncmp.c
index a5e0f36f..dffdf03d 100644
--- a/lib/libalpm/versioncmp.c
+++ b/lib/libalpm/versioncmp.c
@@ -148,7 +148,7 @@ static int strverscmp (s1, s2)
#endif
/* this function was taken from rpm 4.0.4 and rewritten */
-int _alpm_versioncmp(const char *a, const char *b)
+int SYMEXPORT alpm_versioncmp(const char *a, const char *b)
{
char str1[64], str2[64];
char *ptr1, *ptr2;
@@ -236,7 +236,7 @@ int _alpm_versioncmp(const char *a, const char *b)
if((!*one) && (!*two)) {
/* compare release numbers */
- if(rel1 && rel2) return(_alpm_versioncmp(rel1, rel2));
+ if(rel1 && rel2) return(alpm_versioncmp(rel1, rel2));
return(0);
}
@@ -252,7 +252,7 @@ int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep)
if(dep->mod == PM_DEP_MOD_ANY) {
equal = 1;
} else {
- int cmp = _alpm_versioncmp(pkg->version, dep->version);
+ int cmp = alpm_versioncmp(pkg->version, dep->version);
switch(dep->mod) {
case PM_DEP_MOD_EQ: equal = (cmp == 0); break;
case PM_DEP_MOD_GE: equal = (cmp >= 0); break;
diff --git a/lib/libalpm/versioncmp.h b/lib/libalpm/versioncmp.h
index 3a64888a..34f7a189 100644
--- a/lib/libalpm/versioncmp.h
+++ b/lib/libalpm/versioncmp.h
@@ -26,7 +26,6 @@
#include "deps.h"
#include "package.h"
-int _alpm_versioncmp(const char *a, const char *b);
int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
#endif