From: Stefan Schantl Date: Wed, 11 May 2011 20:13:59 +0000 (+0200) Subject: python-satsolver: New package. X-Git-Tag: v2.9-core53~119^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=66befe59522b9b4721f4318cc69063304c1da448;p=people%2Fstevee%2Fipfire-2.x.git python-satsolver: New package. Only initial commit - package doesn't build atm - needs fixing. Signed-off-by: Michael Tremer --- diff --git a/lfs/python-satsolver b/lfs/python-satsolver new file mode 100644 index 0000000000..b1a47f95bb --- /dev/null +++ b/lfs/python-satsolver @@ -0,0 +1,89 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# 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 . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.16.0-20110429-868eae9 + +THISAPP = sat-solver-bindings-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 479f3b57a9f9a59c7b24e37aedda7469 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +############################################################################### +# 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) + + # Workaround for weak tarball + @rm -rf $(DIR_APP) && mkdir $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE) -C $(DIR_APP) + + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/python-satsover-fix-building-without-rpm.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/python-satsolver-only-python-bindings.patch + + cd $(DIR_APP) && mkdir build + cd $(DIR_APP)/build && cmake .. -DDEBIAN=1 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=1 + cd $(DIR_APP)/build && make $(PARALELLISMFLAGS) + + # Install only the python bindings. That's all we need. + cd $(DIR_APP)/build/bindings/python && make install + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 22af839638..ccb1dbca44 100755 --- a/make.sh +++ b/make.sh @@ -691,6 +691,7 @@ buildipfire() { ipfiremake python-m2crypto ipfiremake crda ipfiremake libsatsolver + ipfiremake python-satsolver echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild diff --git a/src/patches/python-satsolver-only-python-bindings.patch b/src/patches/python-satsolver-only-python-bindings.patch new file mode 100644 index 0000000000..36905d00c3 --- /dev/null +++ b/src/patches/python-satsolver-only-python-bindings.patch @@ -0,0 +1,27 @@ +diff -Nur old/bindings/CMakeLists.txt new/bindings/CMakeLists.txt +--- old/bindings/CMakeLists.txt 2011-04-11 22:51:37.891109001 +0200 ++++ new/bindings/CMakeLists.txt 2011-04-11 22:55:52.859108992 +0200 +@@ -21,17 +21,17 @@ + #FIND_PACKAGE(PerlLibs) + FIND_PACKAGE(Perl) + +-IF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) +- ADD_SUBDIRECTORY(ruby) +-ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH) ++#IF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH) ++# ADD_SUBDIRECTORY(ruby) ++#ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH) + + IF (PYTHON_LIBRARY) + ADD_SUBDIRECTORY(python) + ENDIF(PYTHON_LIBRARY) + +-IF (PERL_EXECUTABLE) +- ADD_SUBDIRECTORY(perl) +-ENDIF (PERL_EXECUTABLE) ++#IF (PERL_EXECUTABLE) ++# ADD_SUBDIRECTORY(perl) ++#ENDIF (PERL_EXECUTABLE) + + SET(bindings_devel_dir "${CMAKE_CURRENT_BINARY_DIR}/satsolver-bindings") + ADD_CUSTOM_COMMAND ( diff --git a/src/patches/python-satsover-fix-building-without-rpm.patch b/src/patches/python-satsover-fix-building-without-rpm.patch new file mode 100644 index 0000000000..68e276735e --- /dev/null +++ b/src/patches/python-satsover-fix-building-without-rpm.patch @@ -0,0 +1,37 @@ +diff -Nur src/bindings/pool.i sat-solver-bindings/bindings/pool.i +--- src/bindings/pool.i 2011-04-25 12:03:31.000000000 +0000 ++++ sat-solver-bindings/bindings/pool.i 2011-04-29 18:40:59.645929695 +0000 +@@ -474,6 +474,7 @@ + return repo; + } + ++#if defined(FEDORA) + /* + * Add RPM database to Pool. + * +@@ -493,6 +494,7 @@ + repo_add_rpmdb( repo, NULL, rootdir, 0 ); + return repo; + } ++#endif + + %newobject create_repo; + /* +diff -Nur src/bindings/repo.i sat-solver-bindings/bindings/repo.i +--- src/bindings/repo.i 2011-04-25 12:03:31.000000000 +0000 ++++ sat-solver-bindings/bindings/repo.i 2011-04-29 18:37:13.856570319 +0000 +@@ -139,11 +139,13 @@ + } + } + ++#if defined(FEDORA) + /* + * Add RPM database, optionally passing a _root_ directory + */ + void add_rpmdb( const char *rootdir ) + { repo_add_rpmdb( $self, NULL, rootdir, 0); } ++#endif + + /* + * Create solvable with +name+ and +evr+ in the Repo +