Skip to content

AlpmHandle

Mark Weiman edited this page Dec 30, 2017 · 31 revisions

Properties in AlpmHandle:

Property Type Description Can Write
arch string Architecture set Yes
cachedirs array(string) Array of cachedirs No
checkspace boolean True to check disk space before commit Yes
dbpath string Path of ALPM db (set in constructor) No
deltaratio double Download deltas if possible; a ratio value Yes
gpgdir string Directory where GPG files are stored Yes
ignoregrps array(string) Package groups to be ignored in transaction No
ignorepkgs array(string) Packages to be ignored in transaction No
lockfile string Name of lock file No
logfile string Name of the log file Yes
noextracts array(string) Files to not be extracted from packages No
noupgrades array(string) Files to not be upgraded No
root string Root directory (set in constructor) No
usesyslog boolean Use syslog instead of log file Yes

Functions in AlpmHandle:

Functions

__construct()

  • Parameters: Two or None
    • Two: rootpath (String) and dbpath (String)
    • None
      • Assumes "/" as rootpath and "/var/lib/pacman" as dbpath.
  • Notes: Must be a valid rootpath and dbpath or it will fail with exception AlpmHandleException
  • Returns: AlpmHandle object
  • Example:
$handle_object = new AlpmHandle();
$handle_object2 = new AlpmHandle("/", "/var/lib/pacman");

add_cachedir()

  • Parameters: One, path (String)
  • Notes: A cachedir is a directory on the system where packages downloaded are cached (like a backup).
  • Returns: NULL
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_cachedir("/path/to/cachedir");

add_ignoregrp()

  • Parameters: One, grpname (String)
  • Notes: An ignore group is a group of packages that will be ignored on an upgrade. Groups include base, gnome, and plasma.
  • Returns: NULL
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_ignoregrp("gnome");

add_ignorepkg()

  • Parameters: One, pkgname (String)
  • Notes: An ignore package is a package that will be ignored on an upgrade.
  • Returns: NULL
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_ignorepkg("linux");

add_noextract()

  • Parameters: One, path (String)
  • Notes: This is a list of files that will not be extracted from any package to the system on a package install/upgrade.
  • Returns: NULL
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_noextract("/path/to/file/to/not/extract");

add_noupgrade()

  • Parameters: One, path (String)
  • Notes: This is a list of files that will not be upgraded on a package upgrade.
  • Returns: NULL
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_noupgrade("/path/to/file/to/not/upgrade");

get_localdb()

  • Parameters: None
  • Notes: Gets localdb from $dbpath/local.
  • Returns AlpmDb object for local.
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$localdb = $handle_object->get_localdb();
echo $localdb->name; /* echos "local" */

get_syncdbs()

$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->register_syncdb("core", ALPM_SIG_USE_DEFAULT);
$handle_object->register_syncdb("extra", ALPM_SIG_USE_DEFAULT);
$dbs = $handle_object->get_syncdbs();

init_transaction()

  • Parameters: None
  • Notes: Unimplemented
  • Returns: NULL

load_pkg()

  • Parameters: One, filename (String)
  • Returns: AlpmPkg object for the package at given filename.
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$pkg = $handle_object->load_pkg("/path/to/pkg/pkg-1.0-1-x86_64.pkg.tar.xz");

register_syncdb()

  • Parameters: Two, dbname (String) and signature level (long)
  • Notes:
    • This function can only be used once per repository, or an AlpmHandleException will be thrown.
    • This function requires a signature level, which is based on an enum from libalpm. Check the constants page for more information.
  • Returns: AlpmDb object for database
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$db = $handle_object->register_syncdb("core", ALPM_SIG_USE_DEFAULT);

remove_cachedir()

  • Parameters: One, cachedir (String)
  • Returns: Boolean, true if cachedir is removed, false otherwise
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_cachedir("/path/to/cachedir");
$handle_object->remove_cachedir("/path/to/cachedir"); /* returns true */
$handle_object->remove_cachedir("/bad/path"); /* return false */

remove_ignoregrp()

  • Parameters: One, ignoregrp (String)
  • Returns: Boolean, true if ignoregrp is removed, false otherwise
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_ignoregrp("gnome");
$handle_object->remove_ignoregrp("gnome"); /* returns true */
$handle_object->remove_ignoregrp("base-devel"); /* return false */

remove_ignorepkg()

  • Parameters: One, ignorepkg (String)
  • Returns: Boolean, true if ignorepkg is removed, false otherwise
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_ignorepkg("linux");
$handle_object->remove_ignorepkg("linux"); /* returns true */
$handle_object->remove_ignorepkg("gcc"); /* return false */

remove_noextract()

  • Parameters: One, noextract (String)
  • Returns: Boolean, true if noextract is removed, false otherwise
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_noextract("/etc/pacman.conf");
$handle_object->remove_noextract("/etc/pacman.conf"); /* returns true */
$handle_object->remove_noextract("/etc/pacman.d/mirrorlist"); /* return false */

remove_noupgrade()

  • Parameters: One, noupgrade (String)
  • Returns: Boolean, true if noupgrade is removed, false otherwise
  • Example:
$handle_object = new AlpmHandle("/", "/var/lib/pacman");
$handle_object->add_noupgrade("/etc/pacman.conf");
$handle_object->remove_noupgrade("/etc/pacman.conf"); /* returns true */
$handle_object->remove_noupgrade("/etc/pacman.d/mirrorlist"); /* return false */