Mailinglist Archive: zypp-devel (18 mails)
| < Previous | Next > |
Re: [zypp-devel] Shared library for libsatsolver
- From: Michael Tremer <michael.tremer@xxxxxxxxxx>
- Date: Thu, 21 Apr 2011 16:45:51 +0200
- Message-id: <1303397151.2356.53.camel@rice-oxley.tremer.info>
This is the result. Works for me.
Thanks for your detailed guidelines how to do it. I took b) and nearly
all symbols are in.
Hopefully someone could verify the patch?
On Thu, 2011-04-21 at 15:18 +0200, Michael Matz wrote:
Date: Thu, 21 Apr 2011 16:40:11 +0200
Subject: [PATCH] Create linker-scripts that do only export the needed symbols
of libsatsolver{,ext}.
See these posts for reference:
http://lists.opensuse.org/zypp-devel/2011-04/msg00012.html
http://lists.opensuse.org/zypp-devel/2011-04/msg00014.html
Signed-off-by: Michael Tremer <michael.tremer@xxxxxxxxxx>
---
ext/CMakeLists.txt | 1 +
ext/libsatsolverext.ver | 25 ++++
src/CMakeLists.txt | 1 +
src/libsatsolver.ver | 355 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 382 insertions(+), 0 deletions(-)
create mode 100644 ext/libsatsolverext.ver
create mode 100644 src/libsatsolver.ver
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
index 68e1c3c..d51a43b 100644
--- a/ext/CMakeLists.txt
+++ b/ext/CMakeLists.txt
@@ -21,6 +21,7 @@ SET(libsatsolverext_HEADERS
tools_util.h repo_deb.h sat_xfopen.h)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS}
-Wl,--version-script=${satsolver_SOURCE_DIR}/ext/libsatsolverext.ver")
INSTALL(FILES ${libsatsolverext_HEADERS} DESTINATION
"${CMAKE_INSTALL_PREFIX}/include/satsolver")
INSTALL(TARGETS satsolverext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE
DESTINATION ${LIB_INSTALL_DIR})
diff --git a/ext/libsatsolverext.ver b/ext/libsatsolverext.ver
new file mode 100644
index 0000000..4869d37
--- /dev/null
+++ b/ext/libsatsolverext.ver
@@ -0,0 +1,25 @@
+EXT1.0 {
+ global:
+ repo_add_code11_products;
+ repo_add_content;
+ repo_add_deb;
+ repo_add_debdb;
+ repo_add_debpackages;
+ repo_add_debs;
+ repo_add_deltainfoxml;
+ repo_add_helix;
+ repo_add_products;
+ repo_add_releasefile_products;
+ repo_add_repomdxml;
+ repo_add_rpmmd;
+ repo_add_susetags;
+ repo_add_updateinfoxml;
+ repo_add_zyppdb_products;
+ repodata_write;
+ repo_write;
+ repo_write_stdkeyfilter;
+ sat_xfopen;
+ sat_xfopen_fd;
+ local:
+ *;
+};
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6a14d10..b54d01d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,6 +20,7 @@ SET(libsatsolver_HEADERS
chksum.h md5.h sha1.h sha2.h ${CMAKE_BINARY_DIR}/src/satversion.h)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS}
-Wl,--version-script=${satsolver_SOURCE_DIR}/src/libsatsolver.ver")
INSTALL(FILES ${libsatsolver_HEADERS} DESTINATION
"${CMAKE_INSTALL_PREFIX}/include/satsolver")
INSTALL(TARGETS satsolver LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE
DESTINATION ${LIB_INSTALL_DIR})
diff --git a/src/libsatsolver.ver b/src/libsatsolver.ver
new file mode 100644
index 0000000..dab3576
--- /dev/null
+++ b/src/libsatsolver.ver
@@ -0,0 +1,355 @@
+SAT1.0 {
+ global:
+ dataiterator_clonepos;
+ dataiterator_entersub;
+ dataiterator_free;
+ dataiterator_init;
+ dataiterator_init_clone;
+ dataiterator_jump_to_repo;
+ dataiterator_jump_to_solvid;
+ dataiterator_match;
+ dataiterator_prepend_keyname;
+ dataiterator_seek;
+ dataiterator_set_keyname;
+ dataiterator_set_match;
+ dataiterator_setpos;
+ dataiterator_setpos_parent;
+ dataiterator_set_search;
+ dataiterator_skip_attribute;
+ dataiterator_skip_repo;
+ dataiterator_skip_solvable;
+ dataiterator_step;
+ datamatcher_free;
+ datamatcher_init;
+ datamatcher_match;
+ data_read_idarray;
+ data_read_rel_idarray;
+ data_skip_key;
+ dep2str;
+ dirpool_add_dir;
+ dirpool_free;
+ dirpool_init;
+ dirpool_make_dirtraverse;
+ evrcmp;
+ evrmatch;
+ id2str;
+ map_free;
+ map_grow;
+ map_init;
+ map_init_clone;
+ policy_create_obsolete_index;
+ policy_filter_unwanted;
+ policy_findupdatepackages;
+ policy_illegal2str;
+ policy_illegal_archchange;
+ policy_illegal_vendorchange;
+ policy_is_illegal;
+ pool_add_fileconflicts_deps;
+ pool_addfileprovides;
+ pool_addfileprovides_ids;
+ pool_addrelproviders;
+ pool_add_solvable;
+ pool_add_solvable_block;
+ pool_alloctmpspace;
+ pool_arch2color_slow;
+ pool_bin2hex;
+ pool_calc_duchanges;
+ pool_calc_installsizechange;
+ pool_clear_pos;
+ pool_create;
+ pool_create_state_maps;
+ pool_createwhatprovides;
+ pool_debug;
+ pool_free;
+ pool_freeidhashes;
+ pool_free_solvable_block;
+ pool_freetmpspace;
+ pool_freewhatprovides;
+ pool_id2langid;
+ pool_job2str;
+ pool_lookup_bin_checksum;
+ pool_lookup_checksum;
+ pool_lookup_id;
+ pool_lookup_num;
+ pool_lookup_str;
+ pool_lookup_void;
+ pool_match_dep;
+ pool_match_nevr_rel;
+ pool_queuetowhatprovides;
+ pool_search;
+ pool_setarch;
+ pool_setarchpolicy;
+ pool_setdebuglevel;
+ pool_set_installed;
+ pool_set_languages;
+ pool_setvendorclasses;
+ pool_shrink_rels;
+ pool_shrink_strings;
+ pool_tmpappend;
+ pool_tmpjoin;
+ pool_trivial_installable;
+ pool_trivial_installable_noobsoletesmap;
+ pool_vendor2mask;
+ prune_best_arch_name_version;
+ prune_to_best_arch;
+ prune_to_best_version;
+ queue_alloc_one;
+ queue_alloc_one_head;
+ queue_delete;
+ queue_delete2;
+ queue_deleten;
+ queue_free;
+ queue_init;
+ queue_init_buffer;
+ queue_init_clone;
+ queue_insert;
+ queue_insert2;
+ queue_insertn;
+ rel2id;
+ repo_addid;
+ repo_addid_dep;
+ repo_add_poolstr_array;
+ repo_add_repodata;
+ repo_add_solv;
+ repo_add_solv_flags;
+ repo_create;
+ repodata_add_dirnumnum;
+ repodata_add_dirstr;
+ repodata_add_fixarray;
+ repodata_add_flexarray;
+ repodata_add_idarray;
+ repodata_add_poolstr_array;
+ repodata_chk2str;
+ repodata_create;
+ repodata_create_stubs;
+ repodata_delete;
+ repodata_delete_uninternalized;
+ repodata_dir2str;
+ repodata_disable_paging;
+ repodata_empty;
+ repodata_extend;
+ repodata_extend_block;
+ repodata_filelistfilter_matches;
+ repodata_free;
+ repodata_freedata;
+ repodata_free_schemahash;
+ repodata_globalize_id;
+ repodata_initdata;
+ repodata_internalize;
+ repodata_key2id;
+ repodata_localize_id;
+ repodata_lookup_bin_checksum;
+ repodata_lookup_id;
+ repodata_lookup_idarray;
+ repodata_lookup_num;
+ repodata_lookup_str;
+ repodata_lookup_type;
+ repodata_lookup_void;
+ repodata_merge_attrs;
+ repodata_merge_some_attrs;
+ repodata_new_handle;
+ repodata_schema2id;
+ repodata_search;
+ repodata_set_binary;
+ repodata_set_bin_checksum;
+ repodata_set_checksum;
+ repodata_set_constant;
+ repodata_set_constantid;
+ repodata_set_id;
+ repodata_set_idarray;
+ repodata_set_location;
+ repodata_set_num;
+ repodata_set_poolstr;
+ repodata_setpos_kv;
+ repodata_set_str;
+ repodata_set_void;
+ repodata_shrink;
+ repodata_str2dir;
+ repodata_stringify;
+ repo_disable_paging;
+ repo_empty;
+ repo_fix_conflicts;
+ repo_fix_supplements;
+ repo_free;
+ repo_freeallrepos;
+ repo_free_solvable_block;
+ repo_internalize;
+ repo_last_repodata;
+ repo_lookup_bin_checksum;
+ repo_lookup_checksum;
+ repo_lookup_id;
+ repo_lookup_idarray;
+ repo_lookup_num;
+ repo_lookup_str;
+ repo_lookup_type;
+ repo_lookup_void;
+ repo_matchvalue;
+ repopagestore_compress_page;
+ repopagestore_disable_paging;
+ repopagestore_free;
+ repopagestore_init;
+ repopagestore_load_page_range;
+ repopagestore_read_or_setup_pages;
+ repo_reserve_ids;
+ repo_search;
+ repo_set_id;
+ repo_set_num;
+ repo_set_poolstr;
+ repo_set_str;
+ repo_sidedata_create;
+ repo_sidedata_extend;
+ sat_bin2hex;
+ sat_calloc;
+ sat_chksum_add;
+ sat_chksum_create;
+ sat_chksum_create_from_bin;
+ sat_chksum_free;
+ sat_chksum_get;
+ sat_chksum_get_type;
+ sat_chksum_isfinished;
+ sat_chksum_str2type;
+ sat_chksum_type2str;
+ sat_dupappend;
+ sat_dupjoin;
+ sat_free;
+ sat_hex2bin;
+ sat_malloc;
+ sat_malloc2;
+ sat_MD5_Final;
+ sat_MD5_Init;
+ sat_MD5_Update;
+ sat_oom;
+ sat_realloc;
+ sat_realloc2;
+ sat_SHA1_Final;
+ sat_SHA1_Init;
+ sat_SHA1_Update;
+ sat_SHA256_Data;
+ sat_SHA256_End;
+ sat_SHA256_Final;
+ sat_SHA256_Init;
+ sat_SHA256_Update;
+ sat_SHA384_Data;
+ sat_SHA384_End;
+ sat_SHA384_Final;
+ sat_SHA384_Init;
+ sat_SHA384_Update;
+ sat_SHA512_Data;
+ sat_SHA512_End;
+ sat_SHA512_Final;
+ sat_SHA512_Init;
+ sat_SHA512_Update;
+ sat_sort;
+ sat_timems;
+ sat_version;
+ sat_version_major;
+ sat_version_minor;
+ sat_version_patch;
+ solvable2str;
+ solvable_get_location;
+ solvable_identical;
+ solvable_lookup_bin_checksum;
+ solvable_lookup_bool;
+ solvable_lookup_checksum;
+ solvable_lookup_id;
+ solvable_lookup_idarray;
+ solvable_lookup_num;
+ solvable_lookup_str;
+ solvable_lookup_str_lang;
+ solvable_lookup_str_poollang;
+ solvable_lookup_void;
+ solvable_selfprovidedep;
+ solvable_trivial_installable_map;
+ solvable_trivial_installable_queue;
+ solvable_trivial_installable_repo;
+ solver_addchoicerules;
+ solver_addduprules;
+ solver_addinfarchrules;
+ solver_addrpmrulesforsolvable;
+ solver_addrpmrulesforupdaters;
+ solver_addrpmrulesforweak;
+ solver_addrule;
+ solver_addupdaterule;
+ solver_allruleinfos;
+ solver_calc_duchanges;
+ solver_calc_installsizechange;
+ solver_calculate_noobsmap;
+ solver_create;
+ solver_create_decisions_obsoletesmap;
+ solver_createdupmaps;
+ solver_dep_installed;
+ solver_disablechoicerules;
+ solver_disablepolicyrules;
+ solver_disableproblem;
+ solver_enableproblem;
+ solver_findallproblemrules;
+ solver_findproblemrule;
+ solver_free;
+ solver_freedupmaps;
+ solver_next_problem;
+ solver_next_solution;
+ solver_next_solutionelement;
+ solver_prepare_solutions;
+ solver_printallsolutions;
+ solver_printcompleteprobleminfo;
+ solver_printdecisionq;
+ solver_printdecisions;
+ solver_printproblem;
+ solver_printprobleminfo;
+ solver_printproblemruleinfo;
+ solver_printrule;
+ solver_printruleclass;
+ solver_printruleelement;
+ solver_printsolution;
+ solver_printtransaction;
+ solver_printtrivial;
+ solver_printwatches;
+ solver_problem_count;
+ solver_problemruleinfo;
+ solver_problemruleinfo2str;
+ solver_reenablepolicyrules;
+ solver_reset;
+ solver_ruleinfo;
+ solver_run_sat;
+ solver_samerule;
+ solver_select2str;
+ solver_solution_count;
+ solver_solutionelement2str;
+ solver_solutionelement_count;
+ solver_solve;
+ solver_splitprovides;
+ solver_take_solution;
+ solver_take_solutionelement;
+ solver_trivial_installable;
+ solver_unifyrules;
+ str2id;
+ strn2id;
+ stringpool_clone;
+ stringpool_free;
+ stringpool_freehash;
+ stringpool_init;
+ stringpool_init_empty;
+ stringpool_shrink;
+ stringpool_str2id;
+ stringpool_strn2id;
+ transaction_add_obsoleted;
+ transaction_all_obs_pkgs;
+ transaction_calc_duchanges;
+ transaction_calc_installsizechange;
+ transaction_calculate;
+ transaction_check_order;
+ transaction_classify;
+ transaction_classify_pkgs;
+ transaction_free;
+ transaction_free_orderdata;
+ transaction_init;
+ transaction_init_clone;
+ transaction_installedresult;
+ transaction_obs_pkg;
+ transaction_order;
+ transaction_order_add_choices;
+ transaction_type;
+ vercmp;
+ local:
+ *;
+};
--
1.7.4.4
Thanks for your detailed guidelines how to do it. I took b) and nearly
all symbols are in.
Hopefully someone could verify the patch?
On Thu, 2011-04-21 at 15:18 +0200, Michael Matz wrote:
Hi,
On Thu, 21 Apr 2011, Michael Tremer wrote:
Good point. I'm sorry I missed that. As I am not familiar with the
internals of libsatsolver, could someone support me with that?
I've meanwhile forgotten the cmake way of specifying linker argument, but
you have to somehow pass "-Wl,--version-script,libsatsolver.ver" to the
link command (if using gcc for linking). The file libsatsolver.ver would
be written by you and contains a list of all to-be-exported symbols with
their associated version, like:
% cat example.ver
SAT1.0 {
global:
some_function;
some_other_function;
local:
*;
};
(Once you have released such a shared library for good you never change
the content of the SAT1.0 section, you instead only ever add more version
sections, e.g. to export new symbols).
To get to the list of functions that are sensible to export there are two
easy strategies:
a) start with an empty version script, and add as many symbols as needed
until the whole repo and libzypp builds again
b) start with the list of symbols that are currently exported without a
version script (readelf -W --dyn-syms libsatsolver.so | grep -v UND)
and remove all that seem to be intended to be internal when thinking
about them.
Variant (a) is more fragile of course, because you have to be sure you
know all current users of the library, so I would recommend the (b) way.
Ciao,
Michael.
From a42d7e17fa3e39a8306126c19f1b3b54f1fdd79e Mon Sep 17 00:00:00 2001From: Michael Tremer <michael.tremer@xxxxxxxxxx>
Date: Thu, 21 Apr 2011 16:40:11 +0200
Subject: [PATCH] Create linker-scripts that do only export the needed symbols
of libsatsolver{,ext}.
See these posts for reference:
http://lists.opensuse.org/zypp-devel/2011-04/msg00012.html
http://lists.opensuse.org/zypp-devel/2011-04/msg00014.html
Signed-off-by: Michael Tremer <michael.tremer@xxxxxxxxxx>
---
ext/CMakeLists.txt | 1 +
ext/libsatsolverext.ver | 25 ++++
src/CMakeLists.txt | 1 +
src/libsatsolver.ver | 355 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 382 insertions(+), 0 deletions(-)
create mode 100644 ext/libsatsolverext.ver
create mode 100644 src/libsatsolver.ver
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
index 68e1c3c..d51a43b 100644
--- a/ext/CMakeLists.txt
+++ b/ext/CMakeLists.txt
@@ -21,6 +21,7 @@ SET(libsatsolverext_HEADERS
tools_util.h repo_deb.h sat_xfopen.h)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS}
-Wl,--version-script=${satsolver_SOURCE_DIR}/ext/libsatsolverext.ver")
INSTALL(FILES ${libsatsolverext_HEADERS} DESTINATION
"${CMAKE_INSTALL_PREFIX}/include/satsolver")
INSTALL(TARGETS satsolverext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE
DESTINATION ${LIB_INSTALL_DIR})
diff --git a/ext/libsatsolverext.ver b/ext/libsatsolverext.ver
new file mode 100644
index 0000000..4869d37
--- /dev/null
+++ b/ext/libsatsolverext.ver
@@ -0,0 +1,25 @@
+EXT1.0 {
+ global:
+ repo_add_code11_products;
+ repo_add_content;
+ repo_add_deb;
+ repo_add_debdb;
+ repo_add_debpackages;
+ repo_add_debs;
+ repo_add_deltainfoxml;
+ repo_add_helix;
+ repo_add_products;
+ repo_add_releasefile_products;
+ repo_add_repomdxml;
+ repo_add_rpmmd;
+ repo_add_susetags;
+ repo_add_updateinfoxml;
+ repo_add_zyppdb_products;
+ repodata_write;
+ repo_write;
+ repo_write_stdkeyfilter;
+ sat_xfopen;
+ sat_xfopen_fd;
+ local:
+ *;
+};
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6a14d10..b54d01d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,6 +20,7 @@ SET(libsatsolver_HEADERS
chksum.h md5.h sha1.h sha2.h ${CMAKE_BINARY_DIR}/src/satversion.h)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS}
-Wl,--version-script=${satsolver_SOURCE_DIR}/src/libsatsolver.ver")
INSTALL(FILES ${libsatsolver_HEADERS} DESTINATION
"${CMAKE_INSTALL_PREFIX}/include/satsolver")
INSTALL(TARGETS satsolver LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE
DESTINATION ${LIB_INSTALL_DIR})
diff --git a/src/libsatsolver.ver b/src/libsatsolver.ver
new file mode 100644
index 0000000..dab3576
--- /dev/null
+++ b/src/libsatsolver.ver
@@ -0,0 +1,355 @@
+SAT1.0 {
+ global:
+ dataiterator_clonepos;
+ dataiterator_entersub;
+ dataiterator_free;
+ dataiterator_init;
+ dataiterator_init_clone;
+ dataiterator_jump_to_repo;
+ dataiterator_jump_to_solvid;
+ dataiterator_match;
+ dataiterator_prepend_keyname;
+ dataiterator_seek;
+ dataiterator_set_keyname;
+ dataiterator_set_match;
+ dataiterator_setpos;
+ dataiterator_setpos_parent;
+ dataiterator_set_search;
+ dataiterator_skip_attribute;
+ dataiterator_skip_repo;
+ dataiterator_skip_solvable;
+ dataiterator_step;
+ datamatcher_free;
+ datamatcher_init;
+ datamatcher_match;
+ data_read_idarray;
+ data_read_rel_idarray;
+ data_skip_key;
+ dep2str;
+ dirpool_add_dir;
+ dirpool_free;
+ dirpool_init;
+ dirpool_make_dirtraverse;
+ evrcmp;
+ evrmatch;
+ id2str;
+ map_free;
+ map_grow;
+ map_init;
+ map_init_clone;
+ policy_create_obsolete_index;
+ policy_filter_unwanted;
+ policy_findupdatepackages;
+ policy_illegal2str;
+ policy_illegal_archchange;
+ policy_illegal_vendorchange;
+ policy_is_illegal;
+ pool_add_fileconflicts_deps;
+ pool_addfileprovides;
+ pool_addfileprovides_ids;
+ pool_addrelproviders;
+ pool_add_solvable;
+ pool_add_solvable_block;
+ pool_alloctmpspace;
+ pool_arch2color_slow;
+ pool_bin2hex;
+ pool_calc_duchanges;
+ pool_calc_installsizechange;
+ pool_clear_pos;
+ pool_create;
+ pool_create_state_maps;
+ pool_createwhatprovides;
+ pool_debug;
+ pool_free;
+ pool_freeidhashes;
+ pool_free_solvable_block;
+ pool_freetmpspace;
+ pool_freewhatprovides;
+ pool_id2langid;
+ pool_job2str;
+ pool_lookup_bin_checksum;
+ pool_lookup_checksum;
+ pool_lookup_id;
+ pool_lookup_num;
+ pool_lookup_str;
+ pool_lookup_void;
+ pool_match_dep;
+ pool_match_nevr_rel;
+ pool_queuetowhatprovides;
+ pool_search;
+ pool_setarch;
+ pool_setarchpolicy;
+ pool_setdebuglevel;
+ pool_set_installed;
+ pool_set_languages;
+ pool_setvendorclasses;
+ pool_shrink_rels;
+ pool_shrink_strings;
+ pool_tmpappend;
+ pool_tmpjoin;
+ pool_trivial_installable;
+ pool_trivial_installable_noobsoletesmap;
+ pool_vendor2mask;
+ prune_best_arch_name_version;
+ prune_to_best_arch;
+ prune_to_best_version;
+ queue_alloc_one;
+ queue_alloc_one_head;
+ queue_delete;
+ queue_delete2;
+ queue_deleten;
+ queue_free;
+ queue_init;
+ queue_init_buffer;
+ queue_init_clone;
+ queue_insert;
+ queue_insert2;
+ queue_insertn;
+ rel2id;
+ repo_addid;
+ repo_addid_dep;
+ repo_add_poolstr_array;
+ repo_add_repodata;
+ repo_add_solv;
+ repo_add_solv_flags;
+ repo_create;
+ repodata_add_dirnumnum;
+ repodata_add_dirstr;
+ repodata_add_fixarray;
+ repodata_add_flexarray;
+ repodata_add_idarray;
+ repodata_add_poolstr_array;
+ repodata_chk2str;
+ repodata_create;
+ repodata_create_stubs;
+ repodata_delete;
+ repodata_delete_uninternalized;
+ repodata_dir2str;
+ repodata_disable_paging;
+ repodata_empty;
+ repodata_extend;
+ repodata_extend_block;
+ repodata_filelistfilter_matches;
+ repodata_free;
+ repodata_freedata;
+ repodata_free_schemahash;
+ repodata_globalize_id;
+ repodata_initdata;
+ repodata_internalize;
+ repodata_key2id;
+ repodata_localize_id;
+ repodata_lookup_bin_checksum;
+ repodata_lookup_id;
+ repodata_lookup_idarray;
+ repodata_lookup_num;
+ repodata_lookup_str;
+ repodata_lookup_type;
+ repodata_lookup_void;
+ repodata_merge_attrs;
+ repodata_merge_some_attrs;
+ repodata_new_handle;
+ repodata_schema2id;
+ repodata_search;
+ repodata_set_binary;
+ repodata_set_bin_checksum;
+ repodata_set_checksum;
+ repodata_set_constant;
+ repodata_set_constantid;
+ repodata_set_id;
+ repodata_set_idarray;
+ repodata_set_location;
+ repodata_set_num;
+ repodata_set_poolstr;
+ repodata_setpos_kv;
+ repodata_set_str;
+ repodata_set_void;
+ repodata_shrink;
+ repodata_str2dir;
+ repodata_stringify;
+ repo_disable_paging;
+ repo_empty;
+ repo_fix_conflicts;
+ repo_fix_supplements;
+ repo_free;
+ repo_freeallrepos;
+ repo_free_solvable_block;
+ repo_internalize;
+ repo_last_repodata;
+ repo_lookup_bin_checksum;
+ repo_lookup_checksum;
+ repo_lookup_id;
+ repo_lookup_idarray;
+ repo_lookup_num;
+ repo_lookup_str;
+ repo_lookup_type;
+ repo_lookup_void;
+ repo_matchvalue;
+ repopagestore_compress_page;
+ repopagestore_disable_paging;
+ repopagestore_free;
+ repopagestore_init;
+ repopagestore_load_page_range;
+ repopagestore_read_or_setup_pages;
+ repo_reserve_ids;
+ repo_search;
+ repo_set_id;
+ repo_set_num;
+ repo_set_poolstr;
+ repo_set_str;
+ repo_sidedata_create;
+ repo_sidedata_extend;
+ sat_bin2hex;
+ sat_calloc;
+ sat_chksum_add;
+ sat_chksum_create;
+ sat_chksum_create_from_bin;
+ sat_chksum_free;
+ sat_chksum_get;
+ sat_chksum_get_type;
+ sat_chksum_isfinished;
+ sat_chksum_str2type;
+ sat_chksum_type2str;
+ sat_dupappend;
+ sat_dupjoin;
+ sat_free;
+ sat_hex2bin;
+ sat_malloc;
+ sat_malloc2;
+ sat_MD5_Final;
+ sat_MD5_Init;
+ sat_MD5_Update;
+ sat_oom;
+ sat_realloc;
+ sat_realloc2;
+ sat_SHA1_Final;
+ sat_SHA1_Init;
+ sat_SHA1_Update;
+ sat_SHA256_Data;
+ sat_SHA256_End;
+ sat_SHA256_Final;
+ sat_SHA256_Init;
+ sat_SHA256_Update;
+ sat_SHA384_Data;
+ sat_SHA384_End;
+ sat_SHA384_Final;
+ sat_SHA384_Init;
+ sat_SHA384_Update;
+ sat_SHA512_Data;
+ sat_SHA512_End;
+ sat_SHA512_Final;
+ sat_SHA512_Init;
+ sat_SHA512_Update;
+ sat_sort;
+ sat_timems;
+ sat_version;
+ sat_version_major;
+ sat_version_minor;
+ sat_version_patch;
+ solvable2str;
+ solvable_get_location;
+ solvable_identical;
+ solvable_lookup_bin_checksum;
+ solvable_lookup_bool;
+ solvable_lookup_checksum;
+ solvable_lookup_id;
+ solvable_lookup_idarray;
+ solvable_lookup_num;
+ solvable_lookup_str;
+ solvable_lookup_str_lang;
+ solvable_lookup_str_poollang;
+ solvable_lookup_void;
+ solvable_selfprovidedep;
+ solvable_trivial_installable_map;
+ solvable_trivial_installable_queue;
+ solvable_trivial_installable_repo;
+ solver_addchoicerules;
+ solver_addduprules;
+ solver_addinfarchrules;
+ solver_addrpmrulesforsolvable;
+ solver_addrpmrulesforupdaters;
+ solver_addrpmrulesforweak;
+ solver_addrule;
+ solver_addupdaterule;
+ solver_allruleinfos;
+ solver_calc_duchanges;
+ solver_calc_installsizechange;
+ solver_calculate_noobsmap;
+ solver_create;
+ solver_create_decisions_obsoletesmap;
+ solver_createdupmaps;
+ solver_dep_installed;
+ solver_disablechoicerules;
+ solver_disablepolicyrules;
+ solver_disableproblem;
+ solver_enableproblem;
+ solver_findallproblemrules;
+ solver_findproblemrule;
+ solver_free;
+ solver_freedupmaps;
+ solver_next_problem;
+ solver_next_solution;
+ solver_next_solutionelement;
+ solver_prepare_solutions;
+ solver_printallsolutions;
+ solver_printcompleteprobleminfo;
+ solver_printdecisionq;
+ solver_printdecisions;
+ solver_printproblem;
+ solver_printprobleminfo;
+ solver_printproblemruleinfo;
+ solver_printrule;
+ solver_printruleclass;
+ solver_printruleelement;
+ solver_printsolution;
+ solver_printtransaction;
+ solver_printtrivial;
+ solver_printwatches;
+ solver_problem_count;
+ solver_problemruleinfo;
+ solver_problemruleinfo2str;
+ solver_reenablepolicyrules;
+ solver_reset;
+ solver_ruleinfo;
+ solver_run_sat;
+ solver_samerule;
+ solver_select2str;
+ solver_solution_count;
+ solver_solutionelement2str;
+ solver_solutionelement_count;
+ solver_solve;
+ solver_splitprovides;
+ solver_take_solution;
+ solver_take_solutionelement;
+ solver_trivial_installable;
+ solver_unifyrules;
+ str2id;
+ strn2id;
+ stringpool_clone;
+ stringpool_free;
+ stringpool_freehash;
+ stringpool_init;
+ stringpool_init_empty;
+ stringpool_shrink;
+ stringpool_str2id;
+ stringpool_strn2id;
+ transaction_add_obsoleted;
+ transaction_all_obs_pkgs;
+ transaction_calc_duchanges;
+ transaction_calc_installsizechange;
+ transaction_calculate;
+ transaction_check_order;
+ transaction_classify;
+ transaction_classify_pkgs;
+ transaction_free;
+ transaction_free_orderdata;
+ transaction_init;
+ transaction_init_clone;
+ transaction_installedresult;
+ transaction_obs_pkg;
+ transaction_order;
+ transaction_order_add_choices;
+ transaction_type;
+ vercmp;
+ local:
+ *;
+};
--
1.7.4.4
| < Previous | Next > |