Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-2.x

This commit is contained in:
Arne Fitzenreiter
2011-05-10 14:33:34 +02:00
8 changed files with 722 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ srv/web/ipfire/cgi-bin/ovpnmain.cgi
srv/web/ipfire/cgi-bin/pppsetup.cgi
srv/web/ipfire/cgi-bin/proxy.cgi
srv/web/ipfire/cgi-bin/services.cgi
srv/web/ipfire/cgi-bin/vpnmain.cgi
var/ipfire/langs/de.pl
var/ipfire/langs/en.pl
var/ipfire/langs/es.pl

View File

@@ -0,0 +1,52 @@
#usr/include/satsolver
#usr/include/satsolver/bitmap.h
#usr/include/satsolver/chksum.h
#usr/include/satsolver/dirpool.h
#usr/include/satsolver/evr.h
#usr/include/satsolver/hash.h
#usr/include/satsolver/knownid.h
#usr/include/satsolver/md5.h
#usr/include/satsolver/policy.h
#usr/include/satsolver/pool.h
#usr/include/satsolver/pool_fileconflicts.h
#usr/include/satsolver/poolarch.h
#usr/include/satsolver/poolid.h
#usr/include/satsolver/pooltypes.h
#usr/include/satsolver/poolvendor.h
#usr/include/satsolver/problems.h
#usr/include/satsolver/queue.h
#usr/include/satsolver/repo.h
#usr/include/satsolver/repo_content.h
#usr/include/satsolver/repo_deb.h
#usr/include/satsolver/repo_deltainfoxml.h
#usr/include/satsolver/repo_helix.h
#usr/include/satsolver/repo_products.h
#usr/include/satsolver/repo_releasefile_products.h
#usr/include/satsolver/repo_repomdxml.h
#usr/include/satsolver/repo_rpmdb.h
#usr/include/satsolver/repo_rpmmd.h
#usr/include/satsolver/repo_solv.h
#usr/include/satsolver/repo_susetags.h
#usr/include/satsolver/repo_updateinfoxml.h
#usr/include/satsolver/repo_write.h
#usr/include/satsolver/repo_zyppdb.h
#usr/include/satsolver/repodata.h
#usr/include/satsolver/repopage.h
#usr/include/satsolver/rules.h
#usr/include/satsolver/sat_xfopen.h
#usr/include/satsolver/satversion.h
#usr/include/satsolver/sha1.h
#usr/include/satsolver/sha2.h
#usr/include/satsolver/solvable.h
#usr/include/satsolver/solver.h
#usr/include/satsolver/solverdebug.h
#usr/include/satsolver/strpool.h
#usr/include/satsolver/tools_util.h
#usr/include/satsolver/transaction.h
#usr/include/satsolver/util.h
usr/lib/libsatsolver.so
usr/lib/libsatsolver.so.0
usr/lib/libsatsolver.so.0.16
usr/lib/libsatsolverext.so
usr/lib/libsatsolverext.so.0
usr/lib/libsatsolverext.so.0.16

View File

@@ -1383,15 +1383,15 @@ END
# Allow nothing or a string (DN,FDQN,) beginning with @
# with no comma but slashes between RID eg @O=FR/C=Paris/OU=myhome/CN=franck
if ( ($cgiparams{'LOCAL_ID'} !~ /^(|[\w.-]*@[\w. =*\/-]+|\d\.\d\.\d\.\d)$/) ||
($cgiparams{'REMOTE_ID'} !~ /^(|[\w.-]*@[\w. =*\/-]+|\d\.\d\.\d\.\d)$/) ||
if ( ($cgiparams{'LOCAL_ID'} !~ /^(|[\w.-]*@[\w. =*\/-]+|\d+\.\d+\.\d+\.\d+)$/) ||
($cgiparams{'REMOTE_ID'} !~ /^(|[\w.-]*@[\w. =*\/-]+|\d+\.\d+\.\d+\.\d+)$/) ||
(($cgiparams{'REMOTE_ID'} eq $cgiparams{'LOCAL_ID'}) && ($cgiparams{'LOCAL_ID'} ne ''))
) {
$errormessage = $Lang::tr{'invalid local-remote id'} . '<br />' .
'DER_ASN1_DN: @c=FR/ou=Paris/ou=Home/cn=*<br />' .
'FQDN: @ipfire.org<br />' .
'USER_FQDN: info@ipfire.org<br />' .
'IPV4_ADDR: @123.123.123.123';
'IPV4_ADDR: 123.123.123.123';
goto VPNCONF_ERROR;
}
# If Auth is DN, verify existance of Remote ID.

106
lfs/libsatsolver Normal file
View File

@@ -0,0 +1,106 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 0.16.4
THISAPP = libsatsolver-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libsatsolver
DEPS = ""
PAK_VER = 1
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 563414330c29e9b49be0e43358185a78
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist :
@$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Build-only-libraries.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Create-linker-scripts-that-do-only-export-the-needed.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
# Who releases code with -Werror?
cd $(DIR_APP) && sed -e "s/-Werror//g" -i CMakeLists.txt
# Make sure that libsatsolverext is linked properly to all needed
# libraries.
cd $(DIR_APP) && echo "TARGET_LINK_LIBRARIES(satsolverext satsolver \$${EXPAT_LIBRARY} \$${ZLIB_LIBRARY})" \
>> ext/CMakeLists.txt
# Remove the RPM stuff when we build with -DFEDORA=1 because we
# do not support RPM.
cd $(DIR_APP) && sed -e "s/DEBIAN/FEDORA/g" -i ext/CMakeLists.txt
cd $(DIR_APP) && mkdir build
cd $(DIR_APP)/build && cmake .. -DFEDORA=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=1
cd $(DIR_APP)/build && make $(PARALELLISMFLAGS)
cd $(DIR_APP)/build && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -690,6 +690,7 @@ buildipfire() {
ipfiremake swig
ipfiremake python-m2crypto
ipfiremake crda
ipfiremake libsatsolver
echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild

View File

@@ -0,0 +1,26 @@
diff -Nur old/CMakeLists.txt new/CMakeLists.txt
--- old/CMakeLists.txt 2011-04-10 23:55:09.506257000 +0200
+++ new/CMakeLists.txt 2011-04-10 23:46:30.612257002 +0200
@@ -32,7 +32,7 @@
INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake )
FIND_PACKAGE(EXPAT REQUIRED)
-FIND_PACKAGE(Check REQUIRED)
+#FIND_PACKAGE(Check REQUIRED)
FIND_PACKAGE(ZLIB REQUIRED)
IF ( FEDORA )
@@ -190,10 +190,10 @@
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(ext)
-ADD_SUBDIRECTORY(tools)
-ADD_SUBDIRECTORY(tests)
-ADD_SUBDIRECTORY(examples)
-ADD_SUBDIRECTORY(doc)
+#ADD_SUBDIRECTORY(tools)
+#ADD_SUBDIRECTORY(tests)
+#ADD_SUBDIRECTORY(examples)
+#ADD_SUBDIRECTORY(doc)
MESSAGE(STATUS "version: ${VERSION}")

View File

@@ -0,0 +1,439 @@
>From a42d7e17fa3e39a8306126c19f1b3b54f1fdd79e Mon Sep 17 00:00:00 2001
From: Michael Tremer <michael.tremer@ipfire.org>
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@ipfire.org>
---
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

View File

@@ -0,0 +1,94 @@
>From 1f9659b55013f222046b9d161fd5a0f2fc399cb8 Mon Sep 17 00:00:00 2001
From: Michael Tremer <michael.tremer@ipfire.org>
Date: Thu, 21 Apr 2011 12:48:41 +0200
Subject: [PATCH] Make libsatsolver{,ext} a versioned shared lib.
Most distributions only do accept shared libraries because of
relro and hardening stuff.
Previously, libsatsolver was statically compiled because the ABI
was assumed to be changed from time to time but has now become
very stable.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
---
ext/CMakeLists.txt | 6 +++++-
src/CMakeLists.txt | 6 +++++-
tools/CMakeLists.txt | 12 ++++++------
3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
index 8e71eee..68e1c3c 100644
--- a/ext/CMakeLists.txt
+++ b/ext/CMakeLists.txt
@@ -8,7 +8,11 @@ SET(libsatsolverext_SRCS
${libsatsolverext_SRCS} pool_fileconflicts.c repo_rpmdb.c)
ENDIF (NOT DEBIAN)
-ADD_LIBRARY(satsolverext STATIC ${libsatsolverext_SRCS})
+ADD_LIBRARY(satsolverext SHARED ${libsatsolverext_SRCS})
+SET_TARGET_PROPERTIES(satsolverext PROPERTIES
+ VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
+ SOVERSION "${LIBSATSOLVER_MAJOR}"
+)
SET(libsatsolverext_HEADERS
pool_fileconflicts.h repo_content.h repo_deltainfoxml.h repo_helix.h repo_products.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9bd0fde..6a14d10 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -6,7 +6,11 @@ SET(libsatsolver_SRCS
transaction.c rules.c problems.c
chksum.c md5.c sha1.c sha2.c satversion.c)
-ADD_LIBRARY(satsolver STATIC ${libsatsolver_SRCS})
+ADD_LIBRARY(satsolver SHARED ${libsatsolver_SRCS})
+SET_TARGET_PROPERTIES(satsolver PROPERTIES
+ VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
+ SOVERSION "${LIBSATSOLVER_MAJOR}"
+)
SET(libsatsolver_HEADERS
bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 79d4890..7696612 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -20,19 +20,19 @@ ADD_EXECUTABLE(rpmmd2solv rpmmd2solv.c)
TARGET_LINK_LIBRARIES(rpmmd2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(helix2solv helix2solv.c)
-TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
+TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(susetags2solv susetags2solv.c)
-TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${ZLIB_LIBRARY})
+TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(updateinfoxml2solv updateinfoxml2solv.c)
-TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
+TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(deltainfoxml2solv deltainfoxml2solv.c)
-TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
+TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(repomdxml2solv repomdxml2solv.c)
-TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
+TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
ADD_EXECUTABLE(installcheck installcheck.c)
TARGET_LINK_LIBRARIES(installcheck satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
@@ -44,7 +44,7 @@ ADD_EXECUTABLE(dumpsolv dumpsolv.c )
TARGET_LINK_LIBRARIES(dumpsolv satsolver)
ADD_EXECUTABLE(mergesolv mergesolv.c )
-TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver)
+TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
install(TARGETS
mergesolv
--
1.7.4.4