]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
python-satsolver: New package.
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 11 May 2011 20:13:59 +0000 (22:13 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 13 May 2011 16:17:31 +0000 (18:17 +0200)
Only initial commit - package doesn't build atm - needs fixing.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/python-satsolver [new file with mode: 0644]
make.sh
src/patches/python-satsolver-only-python-bindings.patch [new file with mode: 0644]
src/patches/python-satsover-fix-building-without-rpm.patch [new file with mode: 0644]

diff --git a/lfs/python-satsolver b/lfs/python-satsolver
new file mode 100644 (file)
index 0000000..b1a47f9
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# 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 22af8396384977fffd268b5ea5fec05f0b0c43a1..ccb1dbca44dc58205b543c764ba6fc139be1fac3 100755 (executable)
--- 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 (file)
index 0000000..36905d0
--- /dev/null
@@ -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 (file)
index 0000000..68e2767
--- /dev/null
@@ -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
+