- /var/lib/zypp and /var/cache/zypp should be owned by libzypp (bnc #412094)
authorMichael Andres <ma@suse.de>
Wed, 30 Jul 2008 17:15:36 +0000 (17:15 +0000)
committerMichael Andres <ma@suse.de>
Wed, 30 Jul 2008 17:15:36 +0000 (17:15 +0000)
VERSION.cmake
devel/devel.ma/MaTest.cc
libzypp.spec.cmake
mkChangelog [new file with mode: 0755]
package/libzypp.changes

index 7f7299f..f3a1ced 100644 (file)
 #
 # 6) If any interfaces have been removed since the last public release, then
 #    set COMPATMINOR to MINOR. (binary incompatible change)
-#
+# ==================================================
 
+#=======
+# - Update version according to your changes,
+#   but based on 'LAST RELEASED:' below. I.e
+#   there's no need to increase LIBZYPP_MINOR
+#   if it already differs from 'LAST RELEASED:'.
+#
+# - MOST IMPORTANT:
+#   Before you submitt to autobuild, rmember the
+#   new version in 'LAST RELEASED:', and add a
+#   note in the changes file.
+#
+# - Consider calling ./mkChangelog to edit the
+#   changes file. See './mkChangelog -h' for help.
+#
 SET(LIBZYPP_MAJOR "5")
-SET(LIBZYPP_MINOR "4")
 SET(LIBZYPP_COMPATMINOR "4")
+SET(LIBZYPP_MINOR "4")
 SET(LIBZYPP_PATCH "0")
+#
+# LAST RELEASED: 5.3.0 (2)
+# (The number in parenthesis is LIBZYPP_COMPATMINOR)
+#=======
index a463ed3..9b74140 100644 (file)
@@ -73,7 +73,7 @@ struct X : public trackable
   X() {_s=++s;}
   X( const X & ) {_s=++s;}
   X& operator=( const X & ) { return *this; }
-  ~X() {_s=-_s;}
+  virtual ~X() {_s=-_s;}
   static int s;
   int _s;
 
@@ -102,7 +102,7 @@ int main( int argc, const char * argv[] )
 
   {
     X x;
-    m.siga().connect( boost::bind( &X::pong, &x, _1 ) );
+    m.siga().connect( boost::bind( &X::pong, boost::ref(x), _1 ) );
     m.ping();
 
     X y;
index cc853a8..3c2a0a5 100644 (file)
@@ -204,6 +204,8 @@ rm -rf "$RPM_BUILD_ROOT"
 %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
diff --git a/mkChangelog b/mkChangelog
new file mode 100755 (executable)
index 0000000..e964567
--- /dev/null
@@ -0,0 +1,165 @@
+#! /bin/bash
+#
+
+function errexit() {
+  exec >&2
+  echo "Error: $@"
+  exit 1
+}
+
+export LC_ALL=""
+EDITOR=${EDITOR:-vi}
+
+TDIR=$(dirname $0)
+test -n "$TDIR" && cd $TDIR
+
+CHANGESFILE="package/libzypp.changes"
+test -f "$CHANGESFILE" || errexit "No changes file '$CHANGESFILE'"
+
+VERSIONFILE="VERSION.cmake"
+test -f "$VERSIONFILE" || errexit "No version file '$VERSIONFILE'"
+
+
+function usage() {
+  exec >&2
+cat <<EOF
+
+Usage:   $(basename $0) [OPTIONS]
+Options: -h,-?,--help   This page.
+
+$(basename $0) will load the changes file '$CHANGESFILE'
+into your editor (\$EDITOR=$EDITOR), providing a new changes
+entry template:
+
+    -------------------------------------------------------------------
+    Wed Jul 30 18:20:06 CEST 2008 ma@suse.de
+
+    -
+    - revision 10702
+    #---delete-or-release---# LAST RELEASED: 5.3.2 (2) NEW RELEASE: 5.4.0 (4)
+
+The revision number is a guess and assumes you will check in to
+SVN shortly after editing (current server revision + 1).
+
+The line '#---delete-or-release---#...' shows the last version submitted
+to autobuild ('# LAST RELEASED:; tag in $VERSIONFILE). And also the current
+version, asuming you already updated the $VERSIONFILE according to your changes.
+(The number in parenthesis is LIBZYPP_COMPATMINOR)
+
+
+- Delete the line if you don't want to submit the package to autobuild.
+
+- Leave the line in place if you want to submit the package.
+
+
+Closing the editor you are prompted:
+
+    #---delete-or-release---# LAST RELEASED: 5.3.2 (2) NEW RELEASE: 5.4.0 (4)
+    (a)bort, (c)ontinue, (e)dit :
+
+Choosing (c)ontinue will write the new changes file. The '#---delete-or-release---#'
+line is missing in case you deleted it. It's presence will remind you
+that it is going to be converted into:
+
+    - version 5.4.0
+
+and the '# LAST RELEASED:; tag in $VERSIONFILE will be updated accordingly.
+Now check the result, check in your changes, build the package and submit
+to autobuild.
+
+Released by accident? Don't mind. Nothing bad will happen. If you want to
+undo the change, restore the 'LAST RELEASED: ' entry in $VERSIONFILE and
+delete the '- version' line in $CHANGESFILE'.
+
+EOF
+  exit 1
+}
+
+case "$1" in
+  -[hH?]*)
+    usage
+    ;;
+  --help)
+    usage
+    ;;
+esac
+
+function getversion() {
+  cat "$VERSIONFILE" \
+  | awk '
+  function getnum() {
+    gsub("^[^\"]*\"","")
+    gsub("\".*$","")
+  }
+  /^ *SET *\( *LIBZYPP_MAJOR *"[0-9]+" *\)/       {getnum();major=$0}
+  /^ *SET *\( *LIBZYPP_MINOR *"[0-9]+" *\)/       {getnum();minor=$0}
+  /^ *SET *\( *LIBZYPP_PATCH *"[0-9]+" *\)/       {getnum();patch=$0}
+  /^ *SET *\( *LIBZYPP_COMPATMINOR *"[0-9]+" *\)/ {getnum();compatminor=$0}
+  /^# LAST RELEASED:/                             {gsub("^.*RELEASED: *","");gsub(" +$","");gsub(" +\\("," (");lastrelease=$0}
+  END {
+    thisrelease = major"."minor"."patch" ("compatminor")"
+    if ( thisrelease == lastrelease )
+      print "#---delete-or-release---# LAST RELEASED: "lastrelease" UNCHANGED RELEASE: "thisrelease
+    else
+      print "#---delete-or-release---# LAST RELEASED: "lastrelease" NEW RELEASE: "thisrelease
+  }
+  '
+}
+
+function nextrevision() {
+  svn status -u CMakeLists.txt \
+  | awk '/^Status against revision:/{print $4+1}'
+}
+
+VERSIONNUMBER="$(getversion)"
+
+test -r /etc/sysconfig/mail && source /etc/sysconfig/mail
+EMAIL="${USER}@${FROM_HEADER:-$(hostname -f)}"
+
+
+TMPFILE=$(mktemp)
+exec 3>&1-
+exec >$TMPFILE
+echo "-------------------------------------------------------------------"
+echo "$(date) $EMAIL"
+echo ""
+echo "- "
+echo "- revision $(nextrevision)"
+echo "$(getversion)"
+echo ""
+cat $CHANGESFILE
+exec >&3
+
+RES=e
+while [ "$RES" == "e" ]; do
+  $EDITOR $TMPFILE
+  echo
+  NEWREL=$(grep '#---delete-or-release---#' $TMPFILE)
+  test -n "$NEWREL" && echo "$NEWREL"
+  read -n 1 -p "(a)bort, (c)ontinue, (e)dit : " RES
+  echo
+  case "$RES" in
+    [eE]*)
+      RES=e
+      ;;
+    [cC])
+      test -n "$NEWREL" && {
+        echo "Remember new release in $VERSIONFILE"
+        sed -i 's/^.*#---delete-or-release---#.*RELEASE:/- version/' $TMPFILE
+        NEWREL=$(sed 's/^.*#---delete-or-release---#.*RELEASE:/# LAST RELEASED:/' <<<"$NEWREL")
+        sed -i "s/^# LAST RELEASED:.*$/$NEWREL/" $VERSIONFILE
+      }
+
+      echo "Store new $CHANGESFILE"
+      cp $TMPFILE $CHANGESFILE
+
+      cat $CHANGESFILE \
+      | awk '{print}/----------/{n=n+1; if ( n == 2 ) exit 0; }'
+      ;;
+    *)
+      echo "Leave $CHANGESFILE untouched"
+      ;;
+  esac
+done
+
+rm -f $TMPFILE
index 9c5bb3a..0c24064 100644 (file)
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Jul 30 19:12:00 CEST 2008 ma@suse.de
+
+- /var/lib/zypp and /var/cache/zypp should be owned by libzypp 
+  (bnc #412094)
+- revision 10702
+
+-------------------------------------------------------------------
 Wed Jul 30 12:47:48 CEST 2008 - jkupec@suse.cz
 
 - Service renamed to ServiceInfo