diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 16b48a0..e46942d 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -1,7 +1,8 @@
 /*
  * alpm.h
  *
- *  Copyright (c) 2002-2008 by Judd Vinet <jvinet@zeroflux.org>
+ *  Copyright (c) 2006-2009 Pacman Development Team <pacman-dev@archlinux.org>
+ *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
  *  Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
  *  Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
  *  Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
@@ -47,7 +48,6 @@ typedef struct __pmpkg_t pmpkg_t;
 typedef struct __pmdelta_t pmdelta_t;
 typedef struct __pmgrp_t pmgrp_t;
 typedef struct __pmtrans_t pmtrans_t;
-typedef struct __pmsyncpkg_t pmsyncpkg_t;
 typedef struct __pmdepend_t pmdepend_t;
 typedef struct __pmdepmissing_t pmdepmissing_t;
 typedef struct __pmconflict_t pmconflict_t;
@@ -132,11 +132,6 @@ void alpm_option_add_ignorepkg(const char *pkg);
 void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs);
 int alpm_option_remove_ignorepkg(const char *pkg);
 
-alpm_list_t *alpm_option_get_holdpkgs();
-void alpm_option_add_holdpkg(const char *pkg);
-void alpm_option_set_holdpkgs(alpm_list_t *holdpkgs);
-int alpm_option_remove_holdpkg(const char *pkg);
-
 alpm_list_t *alpm_option_get_ignoregrps();
 void alpm_option_add_ignoregrp(const char *grp);
 void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps);
@@ -170,10 +165,10 @@ int alpm_db_setserver(pmdb_t *db, const char *url);
 int alpm_db_update(int level, pmdb_t *db);
 
 pmpkg_t *alpm_db_get_pkg(pmdb_t *db, const char *name);
-alpm_list_t *alpm_db_getpkgcache(pmdb_t *db);
+alpm_list_t *alpm_db_get_pkgcache(pmdb_t *db);
 
 pmgrp_t *alpm_db_readgrp(pmdb_t *db, const char *name);
-alpm_list_t *alpm_db_getgrpcache(pmdb_t *db);
+alpm_list_t *alpm_db_get_grpcache(pmdb_t *db);
 alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles);
 
 /*
@@ -218,6 +213,8 @@ alpm_list_t *alpm_pkg_get_deltas(pmpkg_t *pkg);
 alpm_list_t *alpm_pkg_get_replaces(pmpkg_t *pkg);
 alpm_list_t *alpm_pkg_get_files(pmpkg_t *pkg);
 alpm_list_t *alpm_pkg_get_backup(pmpkg_t *pkg);
+alpm_list_t *alpm_pkg_get_removes(pmpkg_t *pkg);
+pmdb_t *alpm_pkg_get_db(pmpkg_t *pkg);
 void *alpm_pkg_changelog_open(pmpkg_t *pkg);
 size_t alpm_pkg_changelog_read(void *ptr, size_t size,
 		const pmpkg_t *pkg, const void *fp);
@@ -233,9 +230,7 @@ off_t alpm_pkg_download_size(pmpkg_t *newpkg);
  */
 
 const char *alpm_delta_get_from(pmdelta_t *delta);
-const char *alpm_delta_get_from_md5sum(pmdelta_t *delta);
 const char *alpm_delta_get_to(pmdelta_t *delta);
-const char *alpm_delta_get_to_md5sum(pmdelta_t *delta);
 const char *alpm_delta_get_filename(pmdelta_t *delta);
 const char *alpm_delta_get_md5sum(pmdelta_t *delta);
 off_t alpm_delta_get_size(pmdelta_t *delta);
@@ -250,11 +245,7 @@ alpm_list_t *alpm_grp_get_pkgs(const pmgrp_t *grp);
  * Sync
  */
 
-pmpkg_t *alpm_sync_get_pkg(const pmsyncpkg_t *sync);
-alpm_list_t *alpm_sync_get_removes(const pmsyncpkg_t *sync);
 pmpkg_t *alpm_sync_newversion(pmpkg_t *pkg, alpm_list_t *dbs_sync);
-int alpm_sync_sysupgrade(pmdb_t *db_local,
-		alpm_list_t *dbs_sync, alpm_list_t **syncpkgs);
 
 /*
  * Transactions
@@ -282,11 +273,12 @@ typedef enum _pmtransflag_t {
 	PM_TRANS_FLAG_DOWNLOADONLY = 0x200,
 	PM_TRANS_FLAG_NOSCRIPTLET = 0x400,
 	PM_TRANS_FLAG_NOCONFLICTS = 0x800,
-	PM_TRANS_FLAG_PRINTURIS = 0x1000,
+	/* 0x1000 flag can go here */
 	PM_TRANS_FLAG_NEEDED = 0x2000,
 	PM_TRANS_FLAG_ALLEXPLICIT = 0x4000,
 	PM_TRANS_FLAG_UNNEEDED = 0x8000,
-	PM_TRANS_FLAG_RECURSEALL = 0x10000
+	PM_TRANS_FLAG_RECURSEALL = 0x10000,
+	PM_TRANS_FLAG_NOLOCK = 0x20000
 } pmtransflag_t;
 
 /**
@@ -364,10 +356,6 @@ typedef enum _pmtransevt_t {
 	 * A line of text is passed to the callback.
 	 */
 	PM_TRANS_EVT_SCRIPTLET_INFO,
-	/** Print URI.
-	 * The database's URI and the package's filename are passed to the callback.
-	 */
-	PM_TRANS_EVT_PRINTURI,
 	/** Files will be downloaded from a repository.
 	 * The repository's tree name is passed to the callback.
 	 */
@@ -382,8 +370,7 @@ typedef enum _pmtransconv_t {
 	PM_TRANS_CONV_CONFLICT_PKG = 0x04,
 	PM_TRANS_CONV_CORRUPTED_PKG = 0x08,
 	PM_TRANS_CONV_LOCAL_NEWER = 0x10,
-	/* 0x20 flag can go here */
-	PM_TRANS_CONV_REMOVE_HOLDPKG = 0x40
+	PM_TRANS_CONV_REMOVE_PKGS = 0x20,
 } pmtransconv_t;
 
 /* Transaction Progress */
@@ -431,7 +418,7 @@ typedef enum _pmdepmod_t {
 } pmdepmod_t;
 
 int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
-alpm_list_t *alpm_checkdeps(pmdb_t *db, int reversedeps,
+alpm_list_t *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
 		alpm_list_t *remove, alpm_list_t *upgrade);
 alpm_list_t *alpm_deptest(pmdb_t *db, alpm_list_t *targets);
 
@@ -439,7 +426,7 @@ const char *alpm_miss_get_target(const pmdepmissing_t *miss);
 pmdepend_t *alpm_miss_get_dep(pmdepmissing_t *miss);
 const char *alpm_miss_get_causingpkg(const pmdepmissing_t *miss);
 
-alpm_list_t *alpm_checkdbconflicts(pmdb_t *db_local);
+alpm_list_t *alpm_checkconflicts(alpm_list_t *pkglist);
 
 const char *alpm_conflict_get_package1(pmconflict_t *conflict);
 const char *alpm_conflict_get_package2(pmconflict_t *conflict);
@@ -447,7 +434,7 @@ const char *alpm_conflict_get_package2(pmconflict_t *conflict);
 pmdepmod_t alpm_dep_get_mod(const pmdepend_t *dep);
 const char *alpm_dep_get_name(const pmdepend_t *dep);
 const char *alpm_dep_get_version(const pmdepend_t *dep);
-char *alpm_dep_get_string(const pmdepend_t *dep);
+char *alpm_dep_compute_string(const pmdepend_t *dep);
 
 /*
  * File conflicts
@@ -468,7 +455,7 @@ const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict);
  */
 
 /* checksums */
-char *alpm_get_md5sum(const char *name);
+char *alpm_compute_md5sum(const char *name);
 
 /*
  * Errors
@@ -494,6 +481,7 @@ enum _pmerrno_t {
 	PM_ERR_DB_REMOVE,
 	/* Servers */
 	PM_ERR_SERVER_BAD_URL,
+	PM_ERR_SERVER_NONE,
 	/* Transactions */
 	PM_ERR_TRANS_NOT_NULL,
 	PM_ERR_TRANS_NULL,
@@ -502,36 +490,28 @@ enum _pmerrno_t {
 	PM_ERR_TRANS_NOT_PREPARED,
 	PM_ERR_TRANS_ABORT,
 	PM_ERR_TRANS_TYPE,
-	PM_ERR_TRANS_COMMITING,
-	PM_ERR_TRANS_DOWNLOADING,
+	PM_ERR_TRANS_NOT_LOCKED,
 	/* Packages */
 	PM_ERR_PKG_NOT_FOUND,
+	PM_ERR_PKG_IGNORED,
 	PM_ERR_PKG_INVALID,
 	PM_ERR_PKG_OPEN,
-	PM_ERR_PKG_LOAD,
-	PM_ERR_PKG_CANT_FRESH,
 	PM_ERR_PKG_CANT_REMOVE,
 	PM_ERR_PKG_INVALID_NAME,
 	PM_ERR_PKG_REPO_NOT_FOUND,
 	/* Deltas */
 	PM_ERR_DLT_INVALID,
 	PM_ERR_DLT_PATCHFAILED,
-	/* Groups */
-	PM_ERR_GRP_NOT_FOUND,
 	/* Dependencies */
 	PM_ERR_UNSATISFIED_DEPS,
 	PM_ERR_CONFLICTING_DEPS,
 	PM_ERR_FILE_CONFLICTS,
 	/* Misc */
-	PM_ERR_USER_ABORT,
-	PM_ERR_INTERNAL_ERROR,
-	PM_ERR_DB_SYNC,
 	PM_ERR_RETRIEVE,
-	PM_ERR_PKG_HOLD,
 	PM_ERR_INVALID_REGEX,
 	/* External library errors */
 	PM_ERR_LIBARCHIVE,
-	PM_ERR_LIBDOWNLOAD,
+	PM_ERR_LIBFETCH,
 	PM_ERR_EXTERNAL_DOWNLOAD
 };
 
