Checkout Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
revert recursive query logic. does not play nice with libdispatch

  1. … 7 more files in changeset.
add retry algorithm

allow nulls

handle nulls in fields better

  1. … 1 more file in changeset.
add locked, change field to nullable

  1. … 1 more file in changeset.
add return val

add additional fields and bump both version fields

  1. … 4 more files in changeset.
attempt to standardize the select count * code for indexes

  1. … 2 more files in changeset.
fix error handler after refactor

  1. … 1 more file in changeset.
fix a double free and add retry code on a locked database

  1. … 1 more file in changeset.
attempt to protect prepare with a serial queue

merge changes from 0.8

  1. … 5 more files in changeset.
fix upgrades so that we do not continuously try to recreate tables during mport operations. This fixes some errors as well as speeds up some operations

  1. … 1 more file in changeset.
start work on @(root,wheel,0755) command structure

  1. … 7 more files in changeset.
clean up error handler

  1. … 1 more file in changeset.
explicit cast to avoid clang warnings

fix several dispatch queues

  1. … 2 more files in changeset.
add some libdispatch love

  1. … 9 more files in changeset.
Add support for locking and unlocking packages to libmport. This will allow a user to block update or delete operations on packages

  1. … 8 more files in changeset.
update database version when upgrading the schema

add CPE column to mport bundles and the master list. bump the MPORT database version to 3 as well as the bundle version

  1. … 5 more files in changeset.
Create os_release in packages of the master database to indicate what os_release the installed package is for.

This is important because we may be upgrading from 0.4 to 0.5. We want to be able to indicate to the user that we have old packages or force upgrade functionality on them.

  1. … 3 more files in changeset.
remove cvs2svn prop

  1. … 38420 more files in changeset.
reset props for svn keywords

  1. … 30226 more files in changeset.
Start populating os_release. needs more work

  1. … 5 more files in changeset.
Introduce new functions:

mport_version() (public) to display bundle version and currently running os.

mport_get_osrelease() (private util) to get the os release from sysctl

Packate stubs now include the OS version the package was created for in the meta table as os_release key. This way, we know what OS version the package was built for. Fetching packages currently relies on a static define in the mport tool and this may go dynamic in the future.

It might be useful to install old packages in newer os versions in some scenarios such as jails.

Also, bump the fetch url to 0.5 for 0.5-CURRENT as we're starting to tinker with the package format. The idea is to assume packages are for old releases if they don't include the meta[os_release] and allow a new mechanism to upgrade all packages for those built on the current release when we do major updates.

  1. … 3 more files in changeset.
Add new mport_setting_get and mport_setting_set functions to allow users to customize settings. The sqlite3 master database now contains a settings table with name and val fields.

There are two obvious uses for this:

1. defining the country the user is in to pick the nearest mirror list.

2. storing the last time we fetched an index so it doesn't try to do it all the time when it's out of date and we haven't generated one on stargazer yet.

  1. … 24 more files in changeset.
I forgot to check for SQLITE_OK like the original code did in the success case.. duh

We're getting weird locking errors sometimes. If the sqlite call is "busy" or "locked", try the operation again. It could be a temporary problem from another process or a time consuming operation.

Upgrade to latest snap from github.

  1. … 23 more files in changeset.