- filtering of repos with non-matching repos moved to RepoManager
[platform/upstream/libzypp.git] / libzypp.spec.cmake
index b55f123..8d07f1f 100644 (file)
@@ -29,6 +29,7 @@ BuildRequires:  boost-devel curl-devel dejagnu doxygen gcc-c++ gettext-devel gra
 
 %if 0%{?suse_version}
 BuildRequires:  hicolor-icon-theme update-desktop-files rpm-devel
+Requires: uuid-runtime
 %endif
 
 %if 0%{?fedora_version}
@@ -38,6 +39,8 @@ BuildRequires: glib2-devel popt-devel dbus-glib-devel rpm-devel
 %if 0%{?mandriva_version}
 BuildRequires:  glib2-devel
 BuildRequires:  librpm-devel
+# uuidgen
+Requires: e2fsprogs
 %endif
 
 
@@ -94,11 +97,11 @@ Authors:
 %build
 mkdir build
 cd build
+export CFLAGS="$RPM_OPT_FLAGS"
+export CXXFLAGS="$CFLAGS"
 cmake -DCMAKE_INSTALL_PREFIX=%{prefix} \
       -DDOC_INSTALL_DIR=%{_docdir} \
       -DLIB=%{_lib} \
-      -DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags}" \
-      -DCMAKE_CXX_FLAGS_RELEASE:STRING="%{optflags}" \
       -DCMAKE_BUILD_TYPE=Release \
       -DCMAKE_SKIP_RPATH=1 \
       ..
@@ -114,6 +117,10 @@ cd build
 make install DESTDIR=$RPM_BUILD_ROOT
 make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/etc/zypp/repos.d
+mkdir -p $RPM_BUILD_ROOT/etc/zypp/products.d
+mkdir -p $RPM_BUILD_ROOT/etc/zypp/services.d
+mkdir -p $RPM_BUILD_ROOT/var/lib/zypp
+mkdir -p $RPM_BUILD_ROOT/var/cache/zypp
 
 %if 0%{?suse_version}
 %suse_update_desktop_file -G "" -C "" package-manager
@@ -130,6 +137,65 @@ cd ..
 if [ -f /var/cache/zypp/zypp.db ]; then rm /var/cache/zypp/zypp.db; fi
 #%{prefix}/lib/zypp/zypp-migrate-sources
 
+# convert old lock file to new
+# TODO make this a separate file?
+# TODO run the sript only when updating form pre-11.0 libzypp versions
+LOCKSFILE=/etc/zypp/locks
+OLDLOCKSFILE=/etc/zypp/locks.old
+
+is_old(){
+  TEMP_FILE=`mktemp`
+  cat ${LOCKSFILE} | sed '/^\#.*/ d;/.*:.*/d;/^[^[a-zA-Z\*?.0-9]*$/d' > ${TEMP_FILE}
+  if [ -s ${TEMP_FILE} ]
+  then
+    RES=0
+  else
+    RES=1
+  fi
+  rm -f ${TEMP_FILE}
+  return ${RES}
+}
+
+append_new_lock(){
+  case "$#" in
+    1 )
+  echo "
+solvable_name: $1
+match_type: glob
+" >> ${LOCKSFILE}
+;;
+    2 ) #TODO version
+  echo "
+solvable_name: $1
+match_type: glob
+version: $2
+" >> ${LOCKSFILE}
+;;
+    3 ) #TODO version
+  echo "
+solvable_name: $1
+match_type: glob
+version: $2 $3
+" >> ${LOCKSFILE}
+  ;;
+esac
+}
+
+die() {
+  echo $1
+  exit 1
+}
+
+if is_old ${LOCKSFILE}
+  then
+  mv -f ${LOCKSFILE} ${OLDLOCKSFILE} || die "cannot backup old locks"
+  cat ${OLDLOCKSFILE}| sed "/^\#.*/d"| while read line
+  do
+    append_new_lock $line
+  done
+fi
+
+
 %postun
 %run_ldconfig
 
@@ -142,11 +208,16 @@ rm -rf "$RPM_BUILD_ROOT"
 %dir               /etc/zypp/repos.d
 %dir               /etc/zypp/products.d
 %config(noreplace) /etc/zypp/zypp.conf
+%config(noreplace) /etc/zypp/systemCheck
+%dir               /var/lib/zypp
+%dir               /var/cache/zypp
 %{prefix}/lib/zypp
 %{prefix}/share/zypp
 %{prefix}/share/applications/package-manager.desktop
 %{prefix}/share/icons/hicolor/scalable/apps/package-manager-icon.svg
 %{prefix}/share/icons/hicolor/16x16/apps/package-manager-icon.png
+%{prefix}/share/icons/hicolor/22x22/apps/package-manager-icon.png
+%{prefix}/share/icons/hicolor/24x24/apps/package-manager-icon.png
 %{prefix}/share/icons/hicolor/32x32/apps/package-manager-icon.png
 %{prefix}/share/icons/hicolor/48x48/apps/package-manager-icon.png
 %{prefix}/bin/package-manager