960 lines
41 KiB
Plaintext
960 lines
41 KiB
Plaintext
xbps-0.18 (???):
|
|
|
|
* When registering a pkg to pkgdb make sure to remove unneeded meta objs
|
|
from its pkg dictionary. Also add a check to xbps-bin(8) to remove those
|
|
objects if found.
|
|
|
|
* Improved finding and removing obsolete files after upgrading a package
|
|
in a transaction. Any obsolete link (not just dangling links) and
|
|
configuration files are now removed if they are obsoletes.
|
|
|
|
* Add support to resolve exact dependencies such as "foo-1.0_1".
|
|
|
|
* Fixed a bug in the dependency sort code that in some cases and due to
|
|
virtual packages added duplicate matches and broke the dependency order.
|
|
|
|
* xbps-bin(8): the 'check' target now checks the target file in relative
|
|
symlinks, or multiple levels of symlinks.
|
|
|
|
* xbps-create(8): fixed an assertion that happened when resolving the
|
|
target file of a symlink, which was unexistent because the real file was
|
|
provided by another pkg. In this case just keep the target file as is.
|
|
|
|
xbps-0.17 (2012-10-02):
|
|
|
|
* Package metadata files and pkgdb plist are now stored uncompressed.
|
|
This improves performance when those files store large chunks of data.
|
|
|
|
* Fixed "packages on hold". Regression added in 0.16.2.
|
|
|
|
* xbps-repo(8): fixed crash in the 'search' target when the terminal has
|
|
been resized, reported by pancake.
|
|
|
|
* xbps-bin(8), xbps-repo(8): added a new flag -B to set default repository
|
|
to install packages, in case xbps.conf couldn't be found.
|
|
|
|
* xbps-create(8): a new utility to create XBPS binary packages; package
|
|
files must be installed to a directory prior to executing this utility.
|
|
|
|
* configure: if compiler supports PIE and RELRO, enable them by default.
|
|
|
|
* xbps-repo(8): the 'show-deps' target does not show the repository from
|
|
the matching target package, just the list of dependencies.
|
|
|
|
* xbps-repo(8): the 'search' target now shows which packages are currently
|
|
installed "[*]" or not installed "[-]".
|
|
|
|
* xbps-repo(8): a new target has been added: 'remove-obsoletes'. This removes
|
|
obsolete packages found in a local repository; obsoletes are packages not
|
|
registered in repository's index.
|
|
|
|
* configure: fixes for Ubuntu, which uses ld(1) --as-needed by default and
|
|
some function tests were failiing due to this.
|
|
|
|
* configure: added "--with-static" and if enabled, the static executables
|
|
will also be built and installed. By default it's disabled.
|
|
|
|
* xbps-repo(8): the 'genindex' target has been replaced by the 'index-add' and
|
|
'index-clean' targets. The 'index-add' expects a list of binary packages to
|
|
be added to repository's index:
|
|
|
|
$ xbps-repo index-add /path/to/repo/*.xbps
|
|
|
|
The 'index-clean' removes obsolete entries in repository's index:
|
|
|
|
$ xbps-repo index-clean /path/to/repo
|
|
|
|
xbps-0.16.5 (2012-07-14):
|
|
|
|
* xbps.conf: remove obsolete remote repositories.
|
|
|
|
* libxbps: extend the list of ignored symlinks in rootfs if they were found
|
|
as obsoletes at package upgrade time.
|
|
|
|
* libxbps: at package register time a new string object in pkgdb is added
|
|
"install-date" that records the package installation date with the following
|
|
strftime(3) format: "%F %R %Z".
|
|
|
|
* xbps-bin(8): the 'show' target now prints some objects from pkgdb if found:
|
|
"install-date" and "automatic-install".
|
|
|
|
xbps-0.16.4 (2012-07-10):
|
|
|
|
* Imported proplib 0.6.1 from http://code.google.com/p/portableproplib.
|
|
|
|
* libxbps: when finding obsolete files also match against sha256, not
|
|
just the filename. Also ignore symlinks found in rootfs to make
|
|
the system transition to /usr fully work.
|
|
|
|
xbps-0.16.3 (2012-07-04):
|
|
|
|
* libxbps: fixed a regression in 0.16.2.
|
|
|
|
xbps-0.16.2 (2012-07-04):
|
|
|
|
* libxbps: fixed 2 bugs while updating packages.
|
|
|
|
* libxbps: after removing a pkg the state cb was passing dangling pointers in
|
|
its pkgname and version members.
|
|
|
|
xbps-0.16.1 (2012-06-30):
|
|
|
|
* xbps-repo(8): fixed a regression in the 'genindex' target. It was looking
|
|
at wrong repository subdirectory when removing obsolete files.
|
|
This also fixes issue 24 from googlecode.
|
|
|
|
xbps-0.16 (2012-06-20):
|
|
|
|
* Added support for package conflicts. If any conflicting pkg has been found
|
|
in a transaction, xbps_transaction_prepare() will return EAGAIN and
|
|
the array object "conflicts" in transaction dictionary must be inspected
|
|
to know what conflicts have been found.
|
|
|
|
* Always require an underscore at package versions, if any provided
|
|
pkgver (i.e 'foo-1.0_1') does not contain an underscore the name/version
|
|
won't be detected for a string. That means that now any package can contain
|
|
any character in pkgname and all characters in version except hyphens ('-'),
|
|
and as bonus there's no need to make some tricks to perform installation
|
|
of exact package versions.
|
|
|
|
* xbps-bin(8): the 'install' target now can (re)install an exact package
|
|
version as specified on its arguments, i.e:
|
|
|
|
$ xbps-bin install foo-1.0_1
|
|
|
|
If that version is not available no other version will be installed.
|
|
|
|
* xbps-repo(8): 'genindex' target is now able to remove binary packages
|
|
when a greater version exists on the index.
|
|
|
|
* xbps-repo(8): 'sync' target now is able to sync just a single repository
|
|
by passing the repository URI as argument, i.e:
|
|
|
|
$ xbps-repo sync http://xbps.mirror.org/repo
|
|
|
|
* xbps-repo(8): 'pkg-list' target now expects the repository URI than
|
|
the index number, i.e:
|
|
|
|
$ xbps-repo pkg-list http://xbps.mirror.org/repo
|
|
|
|
* xbps-bin(8): -n flag (dry-run mode) now also prints the pkg architecture
|
|
as last component and if the transaction reason supports it.
|
|
|
|
* Repository index format 1.5. The files are now named properly:
|
|
index.plist for XBPS_PKGINDEX and index-files.plist for XBPS_PKGINDEX_FILES.
|
|
The difference in XBPS_PKGINDEX is that now a single plist file can store
|
|
all metadata from any package with any architecture. XBPS_PKGINDEX_FILES
|
|
has been modified to speed up 'xbps-repo find-files'. That means
|
|
that in xbps.conf now you'd only have to use the directory where the
|
|
index.plist is stored, i.e:
|
|
|
|
/path/to/my/repo <- 1st repository
|
|
|-- i686
|
|
|-- index-files.plist
|
|
|-- index.plist
|
|
|-- noarch
|
|
|-- nonfree <- 2nd repository
|
|
| |-- i686
|
|
| |-- index-files.plist
|
|
| |-- index.plist
|
|
| |-- noarch
|
|
| `-- x86_64
|
|
`-- x86_64
|
|
|
|
Any other directory not named "noarch" or "$(uname -m)" must be specified
|
|
as another different repository, such case is "nonfree" or any other with
|
|
unmatched names.
|
|
|
|
* xbps-bin(8): new flag: -S which syncs rpool indexes before executing
|
|
the "dist-upgrade", "install" or "update" targets.
|
|
|
|
* libxbps: renamed xbps_repository_pool_xxx to xbps_rpool_xxx
|
|
(API/ABI incompat changes).
|
|
|
|
* libxbps: extended rpool with a new function:
|
|
xbps_repository_pool_find_virtualpkg_conf. This function will match
|
|
a virtual package as was specified in configuration file. That means
|
|
that the find_xxx functions now do exactly what the API documents.
|
|
While resolving packages, the order to look for them is the following:
|
|
|
|
find_virtualpkg_conf -> find_pkg -> find_virtualpkg
|
|
|
|
If no virtual pkg from conf matched, look for a real pkg, otherwise
|
|
use the first virtual package from rpool that matches our pattern.
|
|
|
|
* libxbps: introduce the concept of "soft replace". When a package
|
|
contains that boolean object set in pkg's metadata props.plist,
|
|
some steps will be skipped at remove time for the package being
|
|
replaced: its files won't be removed and the post action in REMOVE
|
|
file won't be executed.
|
|
|
|
* libxbps: change the order in which package files are removed:
|
|
|
|
current: files, conf_files, links, directories.
|
|
previous: links, files, conf_files, directories.
|
|
|
|
This is required to avoid removing working symlinks, which could be
|
|
owned by another installed package. Now only dangling symlinks are now
|
|
removed.
|
|
|
|
* libxbps: when removing package files and if metadata files.plist wasn't
|
|
found, do not error out and rather just continue until the package is
|
|
fully removed.
|
|
|
|
* xbps-bin(8): renamed "autoupdate" target to "dist-upgrade" and
|
|
"autoremove" to "remove-orphans". For compatibility with previous
|
|
versions the old targets are still kept, but will be removed in future
|
|
releases.
|
|
|
|
* Added support to put packages "on hold". Packages on hold
|
|
won't be updated by system upgrades even if there is a newer version.
|
|
The configuration string list "PackagesOnHold" in xbps.conf expects
|
|
a list of package names.
|
|
|
|
* xbps-bin(8): miscellaneous cosmetic improvements while unpacking
|
|
package files and add a counter for the 'check all' target.
|
|
|
|
* xbps-repo(8): new target: 'clean'. This removes obsolete binpkgs
|
|
from cachedir, either because the binpkg is not available in repository
|
|
pool anymore or because its sha256 hash doesn't match with the
|
|
one matched in repository index file.
|
|
|
|
* Miscellanous API cleanups (API/ABI incompat changes).
|
|
|
|
xbps-0.15 (2012-04-06):
|
|
|
|
* xbps-bin(8): a new test for the 'check' target to find stale entries
|
|
in 'requiredby' package metadata object from pkgdb.
|
|
|
|
* When reinstalling existing packages (xbps-bin -f install), make sure
|
|
to remove previous entry in the "requiredby" pkgdb's array object.
|
|
|
|
* When sorting required dependencies make sure that a pkg with
|
|
required version is taken into account, not just the first
|
|
one matching its pkgname.
|
|
|
|
* When resolving required dependencies also find the best pkg
|
|
available in repository pool. Thanks to dave for testing!
|
|
|
|
* Started a test suite for libxbps. Tests are written for Kyua
|
|
(http://code.google.com/p/kyua) and can be built and installed
|
|
with the --with-tests configure option, by default will be installed
|
|
to EPREFIX/tests but can be overriden with --testsdir. ATF 0.15
|
|
(part of Kyua) is required to build the test suite.
|
|
|
|
* Enabled assertions by default even if --debug not enabled. We want
|
|
to enforce correct behaviour even in release builds.
|
|
|
|
* Fixed issue 22: "Updating a package doesn't set correct perms when
|
|
file not modified". When extracting package files, always set
|
|
permissions from binary package, even if file has not been modified.
|
|
|
|
xbps-0.14 (2012-02-28):
|
|
|
|
* Fixed 'xbps-bin reconfigure all' (regression added in 0.13).
|
|
|
|
* While resolving dependencies check if required dependency is matched
|
|
with any virtual package already added in transaction, on match use it.
|
|
|
|
* Only accept binary packages compressed in gzip, bzip2 and xz formats.
|
|
Profiling tests showed that libarchive wasted a considerable amount of
|
|
time checking if archive was compressed in zip format.
|
|
|
|
* xbps-bin(8)/xbps-repo(8): redirect some more warnings/errors to stderr.
|
|
|
|
xbps-0.13.0 (2012-02-20):
|
|
|
|
* libxbps: skip checking for obsolete files if a package in a transaction
|
|
replaces another one that is going to be updated. In such cases that means
|
|
new package now owns some files previously owned by the package to be
|
|
updated, therefore the updated package must not check for obsolete files.
|
|
|
|
* xbps-repo(8): the `show', `show-deps' and `show-files' targets now accept
|
|
package patterns, i.e "xbps-repo show 'foo>=2.0'". If only a `pkgname`
|
|
has been specified, the newest package available in repositories will be
|
|
shown.
|
|
|
|
* xbps-repo(8): print meaningful help usage, added -h option.
|
|
|
|
* xbps-bin(8): print a meaningful help usage, added -h option.
|
|
|
|
* libxbps: fixed xbps_transaction_install_pkg return value if package
|
|
is already installed: this must be EEXIST not ENODEV.
|
|
|
|
xbps-0.12.0 (2012-02-06):
|
|
|
|
* xbps-bin: new dry-run mode (-n) to show the actions that would
|
|
be executed in a transaction. This mode takes effect in the
|
|
autoremove, autoupdate, install, remove and update targets. Example:
|
|
|
|
$ xbps-bin -n install kernel-snapshot
|
|
<pkgname> <install|remove|update|configure> <version> <repository> <filename>
|
|
$
|
|
|
|
The format is "%s %s %s[ %s %s]\n" for `pkgname', `action', `version',
|
|
`repository' and `filename' (optional).
|
|
|
|
* xbps-bin: the install target will now install the best package
|
|
version available in repository pool if just package name has
|
|
been specified, otherwise the first repository matching the
|
|
specified pattern wins, i.e:
|
|
|
|
$ xbps-bin install foo 'blah>=1.2<2.0'
|
|
|
|
* Massive pkgdb API rototill. The xbps-uhelper command gained support
|
|
for the 'updatepkgdb' target which will migrate old pkgdb
|
|
format to the new 0.12 format. ALERT: make sure to execute
|
|
"xbps-uhelper -r <rootdir> updatepkgdb" to update to the new 0.12
|
|
pkgdb format before installing/removing/updating any package.
|
|
|
|
* Repository index 1.4: the file is now externalized to a proplib array
|
|
and has been renamed to "rindex.plist" to not break compatibility
|
|
with previous XBPS versions. This helps in simplifying the API
|
|
implementation substantially.
|
|
|
|
* Added a pkg-config file to simplify writing code with libxbps.
|
|
|
|
* libxbps: improved support for finding newest package versions available
|
|
in repository pool.
|
|
|
|
* libxbps: added support for finding exact package name/version matches
|
|
in repository pool.
|
|
|
|
* Fixed registering repositories with trailing '/' chars in
|
|
configuration file: xbps.conf.
|
|
|
|
* xbps-repo(8): the 'genindex' target now creates a plist file to cache
|
|
all files provided by binary packages in a repository. This makes
|
|
the 'find-files' target marginally faster, because this avoids having
|
|
to fetch data from network in remote repositories. The new file
|
|
'index-files.plist' will be downloaded every time the 'sync' target
|
|
is issued but only iff the file has been modified.
|
|
This fixes Issue 21 "`xbps-repo find-files` is awfully slow".
|
|
|
|
* It's now possible to fetch files thru xbps_fetch_file() from HTTP
|
|
servers that don't set the Content-Length header. This fixes issue 19:
|
|
"xbps-src cannot fetch source with unknown Content-Length" reported
|
|
by ojab.
|
|
|
|
* Renamed some options in xbps.conf to not have dashes, such as:
|
|
fetch-timeout-connection -> FetchTimeoutConnection
|
|
fetch-cache-connections-host -> FetchCacheConnections
|
|
fetch-cache-connections-per-host -> FetchCacheConnectionsPerHost
|
|
|
|
* Implemented memory caching for regpkgdb and configurable transaction
|
|
flushing. Can be changed in xbps.conf with "TransactionFrequencyFlusing".
|
|
By default set to 5. That means that every 5 packages processed in
|
|
a transaction there will be a regpkgdb plist flush to disk.
|
|
|
|
Setting it to 0 enables automatic mode which will only flush in
|
|
two required points. Setting it to 1 makes the behaviour used in XBPS<=0.11,
|
|
which flushed it on every package.
|
|
|
|
That feature provides a 25% (and in some cases even more!) of performance
|
|
when executing a transaction.
|
|
|
|
* Merged purge code into remove. It wasn't necessary to have this splitted,
|
|
so it now has been merged into xbps_remove_pkg(). That also means that
|
|
'-p' flag in xbps-bin(8) and xbps-repo(8) doesn't exist anymore.
|
|
|
|
* xbps-repo(8): the 'find-files' target accepts multiple patterns, such as:
|
|
$ xbps-repo find-files /bin/cat '/bin/f*' ...
|
|
|
|
* xbps-bin(8): the 'find-files' target accepts multiple patterns, such as:
|
|
$ xbps-bin find-files /bin/cat '/bin/f*' ...
|
|
|
|
* xbps-repo(8): the 'search' target accepts multiple patterns, such as:
|
|
$ xbps-repo search 'foo-[0-9]*' '*blah*' ...
|
|
|
|
* libxbps: more paranoid type checking and allocation results, to make
|
|
sure that out of memory conditions are handled gracefully.
|
|
|
|
xbps-0.11.0 (2011-12-20):
|
|
|
|
* xbps-bin(8): it is possible now to reinstall a package even if it's
|
|
installed with the '-f' option. If reinstalling the same package version,
|
|
only unexistent files or files not matching its hash will be extracted.
|
|
|
|
* While unpacking a binary package, always check that file to be extracted
|
|
exists on filesystem, if true and its hash is matched, skip extraction.
|
|
|
|
* While installing a package always preserve configuration files if they
|
|
exist, but if hash don't match rename configuration files to
|
|
<filename>.old.
|
|
|
|
* New shared configuration file via libconfuse that replaces the
|
|
plist configuration files: xbps.conf. That means that libxbps
|
|
now requires confuse >= 2.7 available at
|
|
http://www.nongnu.org/confuse/.
|
|
|
|
* Support for syslog logging common operations, such as install, update,
|
|
remove and purge via LOG_NOTICE, and errors with LOG_ERR.
|
|
By default it's always enabled, can be disabled thru the conf file.
|
|
|
|
* xbps-repo(8): new target: pkg-list [index]. This target will list all
|
|
packages from repository with index [index]. If optional argument
|
|
[index] (decimal) not set, all repositories will be used.
|
|
|
|
* libxbps: when registering new packages, existing entries in
|
|
requiredby matching the same pkgname/version touple are now
|
|
simply skipped.
|
|
|
|
* Repositories with missing index file are now simply ignored.
|
|
It's expected that user executes 'xbps-repo sync' to fetch the
|
|
index for all remote repositories specified in configuration file.
|
|
|
|
* Faster binary package unpacking. Only files and symlinks are now
|
|
extracted from binary packages, thus directories are not extracted
|
|
anymore. The package builder is responsible to create required
|
|
directories where appropiate and set correct permissions.
|
|
While being here, some stuff is skipped now if a package uses the
|
|
"preserve" keyword or package is being installed, resulting in a
|
|
faster operation.
|
|
|
|
* Implemented "New repository scheme and configuration file" from issue 16.
|
|
The plist index file has been renamed to "index.plist", version bumped
|
|
to 1.3. The configuration file (repositories.plist) now expect the full
|
|
path to the directory storing the index.plist file. This will allow us
|
|
to use other directories (such as non-free, or alike) for such purpose.
|
|
|
|
* libxbps: improve xbps_purge_pkg() in case that the process was
|
|
unexpectedly interrupted, do not error out unless the unregister
|
|
phase returns an error value.
|
|
|
|
* libxbps: when unpacking a package that replaced another package
|
|
due to virtual packages, preserve its configuration files if
|
|
they already existed.
|
|
|
|
* xbps-bin(8)/xbps-repo(8): new flag '-o' (option). This can be used
|
|
in the 'show' target to print only a set of objects stored in package's
|
|
properties dictionary, example:
|
|
|
|
$ xbps-bin -olicense show xbps
|
|
Simplified BSD
|
|
$ xbps-bin -oversion,build_date show xbps
|
|
0.10.1
|
|
Wednesday 26 October, 2011, 14:37:31 UTC
|
|
$
|
|
|
|
* libxbpps: when fetching new pkg-index.plist from a repository,
|
|
make sure that it's a plist file and can be internalized; otherwise
|
|
remove downloaded file and return error.
|
|
|
|
* xbps-bin(8): new test for the 'check' target to fix missing
|
|
entries in requiredby array, i.e reverse dependencies in
|
|
the package database plist.
|
|
|
|
* xbps-bin(8): the 'check' target now works virtual packages.
|
|
|
|
* libxbps: failed to properly match installed virtualpkgs that were
|
|
dependencies in a transaction, therefore resulting in real packages
|
|
being reinstalled and replacing installed virtual packages.
|
|
|
|
xbps-0.10.1 (2011-10-26):
|
|
|
|
* libxbps: fixed multiple free(3) calls in error paths (via closedir(3))
|
|
when some virtualpkg plist file couldn't be internalized.
|
|
|
|
* xbps-bin(8): 'remove' with recursive flag (-R) now removes first
|
|
the specified packages and puts its automatic dependencies at the
|
|
tail of the array.
|
|
|
|
* libxbps: xbps_pkgpattern_{name,version} now return expected
|
|
pkgname/version if pattern is a shell wildcard pattern (fnmatch(3)).
|
|
|
|
* libxbps: removed csh alternate code from the NetBSD's match code.
|
|
We weren't using this code anyway and this only slowed down
|
|
xbps_pkgpattern_match().
|
|
|
|
xbps-0.10.0 (2011-10-21):
|
|
|
|
* Fixed issue 11 "xbps-bin fails to update properly some pkgs".
|
|
http://code.google.com/p/xbps/issues/detail?id=11
|
|
|
|
* xbps-bin(8): the 'check' target now is able to detect if a package
|
|
was installed manually and other packages are currently depending
|
|
on it and change its mode to "automatic", i.e as dependency of those
|
|
packages.
|
|
|
|
* xbps-bin(8), xbps-repo(8): the -C flag now expects a path to a
|
|
directory where the configuration files (conf.plist and
|
|
repositories.plist) are stored.
|
|
|
|
* New configuration scheme for virtual packages as defined in
|
|
http://code.google.com/p/xbps/issues/detail?id=12
|
|
|
|
XBPS now reads all plist files in PREFIX/etc/xbps/virtualpkg.d.wants
|
|
directory with settings for the wanted virtual packages.
|
|
|
|
* New configuration scheme as defined in
|
|
http://code.google.com/p/xbps/issues/detail?id=12
|
|
|
|
A directory to store XBPS configuration files is now used, by default
|
|
set to PREFIX/etc/xbps. Configuration options are now set via
|
|
conf.plist, and repositories in repositories.plist.
|
|
|
|
* It is possible now to reinstall packages that provide virtual packages
|
|
and put it back the original package, such as jpeg <-> libjpeg-turbo
|
|
multiple times, without loosing important objects set when the
|
|
original package was installed, i.e reverse dependencies and
|
|
automatic installation. This is a requisite to really make a system
|
|
that can be fully customizable and restored back to its original
|
|
state with the virtual packages feature.
|
|
|
|
* Fixed issue 10 "HTTP repositories in non standard HTTP port currently segfault".
|
|
You can now use any HTTP server in non standard ports, such as:
|
|
|
|
http://yourhost:8080/your/repo
|
|
|
|
* xbps-bin(8): the 'check' target now detects broken symlinks and marks
|
|
them as critical errors.
|
|
|
|
* libxbps: when updating packages, only files that have been modified
|
|
(compared to current installed file) are now unpacked. This should
|
|
save some writes to storage and make the process a bit smoother as well.
|
|
|
|
* Moved install transaction code to libxbps. The API has been extended
|
|
with xbps_transaction_commit() which expects the transaction dictionary
|
|
as its argument. This function will execute transaction tasks, like
|
|
removing, updating, installing and configuring packages as defined
|
|
in the transaction dictionary.
|
|
|
|
* The 'cachedir' option in configuration file now can be changed to
|
|
be relative to the rootdir if the first character is not '/'. The
|
|
-c flag in xbps-bin(8) still expects a full path and if set, overrides
|
|
the setting in configuration file.
|
|
|
|
* xbps-bin(8): the 'show', 'show-deps' and 'show-revdeps' targets now
|
|
work with virtual packages.
|
|
|
|
* libxbps: fixed NetBSD's dewey matching code to properly identify
|
|
that a version X.Y.Z should be greater than X.Y_Z.
|
|
|
|
* libxbps: revamped virtual package handling. The public API find
|
|
functions (xbps_find_pkg_*) don't know anything about virtual packages.
|
|
To find virtual packages the xbps_find_virtualpkg_* functions must be
|
|
used instead of the "classic" ones.
|
|
|
|
* libxbps: the xbps_find_foo_in_array functions have been renamed
|
|
to xbps_match_foo_in_array because its task is only matching against
|
|
the provided package name, package pattern or string.
|
|
|
|
xbps-0.9.1 (2011-07-15):
|
|
|
|
* libxbps: xbps_repository_pool no longer loops forever if a package
|
|
index plist file cannot be fetched due to network problems, or
|
|
if the file is not available anymore; the repository will be
|
|
ignored.
|
|
|
|
* xbps-repo(8): the 'genindex' failed to register in pkg-index
|
|
packages less than on equal than any other package providing the
|
|
same package name. Ignore packages providing virtual packages.
|
|
|
|
* xbps-repo(8): the 'genindex' target now removes entries in existent
|
|
package index files for unexistent packages that were previously
|
|
registered (removed, not enough permissions, etc).
|
|
|
|
* xbps-repo(8): the 'genindex' target creates required directories
|
|
in local repositories if it's necessary.
|
|
|
|
* xbps-repo(8): the 'search' target now matches patterns in
|
|
case insensitive mode.
|
|
|
|
* A bug has been fixed while updating a package and another package
|
|
providing a virtual package with a greater version was available
|
|
in repositories. Only accept this if the virtual package is explicitly
|
|
enabled in the "virtual-packages" section in the configuration file.
|
|
|
|
xbps-0.9.0 (2011-07-08):
|
|
|
|
* configure doesn't require a zlib package with a pkg-config file, to
|
|
workaround some distribution that don't provide it (hi Ubuntu!). Rather
|
|
it now checks for a required function. Fixes issue 6 in googlecode.
|
|
|
|
* The configuration file now accepts a new option "fetch-timeout-connection",
|
|
to specify the limit to wait (in seconds) of timed out connections when
|
|
fetching files. It's set to 30 in configuration file, and if not set it
|
|
also defaults to 30 seconds.
|
|
|
|
* The configuration file now accepts new options to change rootdir
|
|
(same than -r in xbps-bin(8)), cachedir (same than -c in xbps-bin(8))
|
|
and fetching cache connection limits. If settings are specified via
|
|
the flags -r and -c in xbps-bin(8)/xbps-repo(8), they are prefered
|
|
over the ones in the configuration file.
|
|
|
|
* Fixed some bugs with virtual packages, to not adding duplicate package
|
|
dictionaries in the transaction dictionary.
|
|
|
|
* xbps-bin(8)/xbps-repo(8): the 'show-files' target now prints the target
|
|
file on symlinks, i.e: "/sbin/foo -> /sbin/blah".
|
|
|
|
* Changed the package pattern match code to the one available on NetBSD.
|
|
It's much better and provides more alternative pattern matching options.
|
|
|
|
* A new configuration file in plist format to specify repositories and
|
|
virtual packages has been created, defaults to "/etc/xbps-conf.plist".
|
|
That means that you no longer need to register/unregister repositories;
|
|
just add your favourite local or remote repository and the first time
|
|
XBPS needs to access the pkg-index file it will be downloaded.
|
|
|
|
More options and properties will be added to the configuration file in
|
|
the future. By default we use the official public remote repository,
|
|
and "dcron" package for a cron daemon package.
|
|
|
|
The ABI/API is not compatible anymore with previous versions, you've
|
|
been advised :-)
|
|
|
|
* xbps-bin(8): the 'check' target now also checks for modified symlinks,
|
|
and warns if any of them has been modified. For this to work, the package
|
|
metadata files.plist should contain the 'target' object in the 'links'
|
|
array (created automatically by xbps-src since 20110531).
|
|
|
|
* Improved repository package index format (v1.2). The index now contains all
|
|
package objects, so that it's not necessary to fetch info from binpkgs.
|
|
The file will also be a bit bigger, but not to worry about.
|
|
|
|
xbps-0.8.1 (2011-05-27):
|
|
|
|
* xbps-bin(8)/xbps-repo(8): more meaningful messages when a package couldn't
|
|
be found in the show, show-deps and show-files targets, rather than exiting
|
|
silently with only the error return value.
|
|
|
|
* Added three new objects for the package props.plist metadata file to
|
|
specify homepage, license and build date.
|
|
|
|
* Minor improvements to the generation of API documentation.
|
|
|
|
xbps-0.8.0 (2011-05-24):
|
|
|
|
* xbps-bin(8): added -A and -M options, for setting package install reason
|
|
to automatic or manual. Obviously both cannot be used togeter.
|
|
|
|
* xbps-{bin,repo}(8): -c (cachedir) argument now is an absolute path and
|
|
not relative to the root directory.
|
|
|
|
* Fixed finally when a package should replace an installed package, but
|
|
at the same time the package to be replaced also needs to be updated
|
|
in the transaction. A real example:
|
|
|
|
- sg3_utils-1.28 is currently installed.
|
|
- Installed package udisks-1.0.2_1 depends on sg3_utils-1.28.
|
|
- sg3_utils-1.28 has been splitted into libsgutils for 1.31,
|
|
and libsgutils-1.31 has "replaces=sg3_utils<1.31".
|
|
- udisks-1.0.2_2 depends on libsgutils-1.31.
|
|
|
|
So now the old sg3_utils-1.28 package will be marked in its transaction
|
|
object as "remove" and the new sg3_utils-1.31 package as "update".
|
|
Therefore both packages (sg3_utils old/new) will be in the transaction
|
|
but one will be removed and the other one updated.
|
|
|
|
* Fixed a bug that made all registered repositories to fail when the first
|
|
one couldn't be internalized in xbps_repository_pool_init().
|
|
|
|
* Added the concept of package properties in the API. At this moment
|
|
only one property is fully working, "virtual". When xbps-bin(8)
|
|
sets this property for a package, its virtual package list will be
|
|
set in the XBPS_REGPKGDB plist in a package dictionary and the matching
|
|
logic will always prefer its virtual packages over the real ones.
|
|
You can do wonderful things with this, like always using development
|
|
package versions, or simply customize what packages you want to
|
|
install rather than the default ones. As a real example, you can now
|
|
use the 'xbps-devel' package rather than the stable package version
|
|
'xbps' before installing the system and package dependencies will
|
|
still be resolved:
|
|
|
|
"$ xbps-bin set-prop virtual xbps-devel"
|
|
"$ xbps-bin install xbps-base-system"
|
|
|
|
Only packages that have the "provides" object are valid for the
|
|
"virtual" property.
|
|
|
|
* Moved the "replaces" handling logic into the API. But instead of
|
|
removing any package, the packages that should be replaced are
|
|
added into the transaction dictionary and marked as "remove".
|
|
The frontend is responsible to install, update, configure and remove
|
|
all packages by using the properties set in the transaction dictionary.
|
|
|
|
* xbps-dgraph: now parses the "provides" object in the package properties
|
|
metadata plist file for packages providing virtual packages.
|
|
|
|
* xbps-bin(8): added -R option for the "remove" target, to recursively
|
|
remove packages that were installed automatically by the package(s)
|
|
that we want to remove, and no other package currently depends on.
|
|
This is much like the remove and autoremove targets together, i.e
|
|
"xbps-bin -yp remove foo && xbps-bin -yp autoremove".
|
|
|
|
* xbps-bin(8): added -D option to only show the URLs to download the binary
|
|
packages required by the "install", "update" and "autoupdate" targets.
|
|
|
|
* xbps-bin(8): make the list target (without arguments) only show
|
|
packages that are fully installed. Previously packages in unpacked
|
|
state were also shown.
|
|
|
|
* Added support for virtual packages. A virtual package is one that doesn't
|
|
exist in the repository, but other packages can provide it. A new array
|
|
in the package properties dictionary has been added to specify which
|
|
virtual packages the package supports. As an example, the `rsyslog'
|
|
package provides the virtual package `syslog-daemon-0'. Other packages
|
|
can depend in `syslog-daemon>=0' and `rsyslog' will satisfy the dependency.
|
|
|
|
* Merged the `progress_callback' branch that makes possible to specify a
|
|
function callback to update progress while unpacking binary packages
|
|
and while fetching files. xbps-bin(8) now lists current extract files
|
|
with its size in bytes if -v flag is set.
|
|
|
|
* Improved package dependency resolution in repositories by using a new
|
|
function, xbps_repository_pool_find_pkg() that returns a package dictionary
|
|
found in the first repository registered in the pool. It can also be used
|
|
to find the newest version found in all registered repositories.
|
|
|
|
* Improved package dependency sorting algorithm that uses less memory,
|
|
it is 60% faster approximately and as bonus sorts all packages in the way
|
|
they should be (previously the sorting was a bit different for packages
|
|
with no run-time dependencies).
|
|
|
|
* Many structural changes in the API. Made some stuff private and changed
|
|
some function arguments in the API, the ABI is not compatible anymore with
|
|
previous versions... anyway you shouldn't be using libxbps just yet.
|
|
The API documentation has been modified to stay in sync with reality.
|
|
|
|
xbps-0.7.3 (2011-01-16):
|
|
|
|
* Fixed a bug that made libxbps fail to detect properly configuration files.
|
|
This made all updates in configuration files to be lost.
|
|
|
|
* It is now possible to properly build against an external portable proplib
|
|
(with pkg-config support) and libfetch.
|
|
|
|
* Enabled a bunch of compiler warnings in the configure script (if supported
|
|
by the compiler), and made symbol visibility dependent of configure tests.
|
|
|
|
* Added --silent argument to the configure script, hiding compilation
|
|
details in the build process (disabled by default).
|
|
|
|
xbps-0.7.2 (2010-12-28):
|
|
|
|
* Fixed some memleaks in libxbps and its clients, found by valgrind.
|
|
|
|
xbps-0.7.1 (2010-12-23):
|
|
|
|
* xbps-dgraph: fixed small build error on x86 shown in buildbot tests.
|
|
|
|
* libxbps: xbps_repository_pool_init(): don't loop forever if repository
|
|
pkg-index.plist files cannot be internalized.
|
|
|
|
* libxbps: xbps_fetch_file(): set a 30 seconds timeout for transfers.
|
|
|
|
* xbps-repo(8): fixed the 'genindex' target for the API changes in 0.7.0.
|
|
|
|
* xbps-uhelper: fixed the 'unregister' target for the API changes in 0.7.0.
|
|
|
|
xbps-0.7.0 (2010-12-15):
|
|
|
|
* xbps-repo(8): implemented the 'find-files' target to print which packages
|
|
own a file, link, directory, etc. Analogue to the one implemented in
|
|
xbps-bin(8). Works for local and remote repository, fetching info on-the-fly.
|
|
|
|
* Fixed a typo in the configure script that broke detection of strlcat(),
|
|
reported and patch provided by Min Sik Kim in issue 2.
|
|
|
|
* xbps-bin(8): added -F flag for the remove target. Unless it's set,
|
|
packages that are dependencies of other installed packages won't be removed.
|
|
This flag overrides this behaviour and forces the package removal.
|
|
|
|
* xbps-{bin,repo}(8): indent uniformly all lines while listing packages
|
|
in xbps-bin or while searching for packages in xbps-repo.
|
|
|
|
* xbps-repo(8): while searching for packages also try to find strings
|
|
in the short description object.
|
|
|
|
* xbps-{bin,repo}(8): added -d arg to enable debugging output to stderr.
|
|
|
|
* While updating packages, obsolete directories are also removed when
|
|
necessary. This helped to remove some empty dirs for python 2.6 > 2.7
|
|
update, just to mention a real example.
|
|
|
|
* Cleaned up the API. Still not finished and there's a long way to have this
|
|
finished and ready for public consumption.
|
|
|
|
* xbps-dgraph: new utility to generate graphviz' dot(1) graphs for package
|
|
metadata properties, such as dependencies, reverse dependencies, etc.
|
|
Extracts the info from installed package metadata plist files.
|
|
|
|
* Performance improvements in libxbps and all utilities, by avoiding
|
|
unnecessary access(2) and chdir(2) calls while executing the
|
|
INSTALL/REMOVE scripts at pre/post (de)install time.
|
|
|
|
* Fixed some memleaks on libxbps found while working on the xbps-dgraph
|
|
utility.
|
|
|
|
xbps-0.6.2 (2010-10-31):
|
|
|
|
* libxbps: xbps_repository_unregister(): in remote repositories, also
|
|
remove the pkg index file and its directory.
|
|
|
|
* libxbps: xbps_get_pkg_index_plist(): fixed a memleak.
|
|
|
|
* xbps-bin(8): modify the 'list' target to accept an optional argument to
|
|
list packages in the specified state, so that you can list packages that
|
|
need to be purged, configured and broken (will be used in the future).
|
|
|
|
* xbps-bin(8): added a new target 'find-files' to find which installed
|
|
package(s) own a file. Exact matches "/bin/mount" or patterns
|
|
"/usr/lib/libb[ao]b\*" can be specified.
|
|
|
|
* When updating a package and removing obsolete files, don't forget to
|
|
remove those directories if they were empty.
|
|
|
|
xbps-0.6.1 (2010-10-23):
|
|
|
|
* When replacing a package that is going to be updated in the transaction
|
|
do not remove it, just overwrite its files and continue. The updated
|
|
package will find that old files didn't match the SHA256 hash and will
|
|
skip them. This solves the issue of new package updates requiring new
|
|
dependencies with files that were previously stored in the old version.
|
|
For example gtk+-2.20 containing gdk-pixbuf, and gtk+-2.22 requiring
|
|
gdk-pixbuf externally.
|
|
|
|
xbps-0.6.0 (2010-06-03):
|
|
|
|
* Synced libfetch code with NetBSD pkgsrc, updated to 2.31.
|
|
|
|
* libxbps: improved xbps_get_file_hash() to mmap(2) rather than read(2)
|
|
the file we have to process. With mmap'ed files the hash can be
|
|
processed 5x faster than before, or even more in some cases.
|
|
|
|
* libxbps: switch to OpenSSL SHA256 implementation and remove the one
|
|
previously used. It's faster and OpenSSL is required for libfetch so
|
|
there is not point in using it.
|
|
|
|
* Added strlcpy() and strlcat() from OpenBSD. Use them if they weren't
|
|
found by the configure script on the system.
|
|
|
|
* Added a configure script that emulates GNU autoconf but simplified, to
|
|
simplify customization for build options, flags, etc.
|
|
|
|
xbps-0.5.2.2 (2010-05-18):
|
|
|
|
* libxbps: do not forget to reset a variable to 0 when removing obsolete files
|
|
that are unexistent or its hash didn't match.
|
|
|
|
xbps-0.5.2.1 (2010-05-18):
|
|
|
|
* Due to human error, last fix in 0.5.2 was completely wrong and the
|
|
INSTALL/REMOVE scripts were simply empty so ENOENT was returned, clearly
|
|
this is expected and shouldn't be ignored.
|
|
|
|
xbps-0.5.2 (2010-05-18):
|
|
|
|
* libxbps: while running INSTALL/REMOVE scripts, do not fail if a script
|
|
returns ENOENT but the script exists; that means the script did not match
|
|
the expected action on its switch statement and the fact can be simply
|
|
ignored.
|
|
|
|
* libxbps: while upgrading packages and searching for obsolete files,
|
|
do not remove the files that did not match previous SHA256 hash. Also,
|
|
only remove obsolete dangling symlinks.
|
|
|
|
* xbps-repo(8): fixed the 'genindex' target to not return error if any
|
|
package is already registered in the index.
|
|
|
|
* xbps-repo(8): improved the 'search' target to also match substrings in
|
|
package/version tuples.
|
|
|
|
xbps-0.5.1 (2010-05-12):
|
|
|
|
* Fixed build issues in RHEL5, Ubuntu and others distributions.
|
|
|
|
* libxbps: changed the epoch component in version strings to the ':'
|
|
character to be differentiated from '-' in pkgname, and '_' in revision.
|
|
|
|
* xbps-bin(8): added a new target 'show-orphans' that list all package
|
|
orphans currently installed.
|
|
|
|
* Removed asciidoc build dependency, simply use the troff manpages.
|
|
|
|
xbps-0.5.0 (2010-05-01):
|
|
|
|
* xbps-repo(8): fixed the 'search' target to also match patterns against
|
|
its description, and not only from the package/version tuple.
|
|
|
|
* Cleaned up the code by using the LLVM's clang static analyzer, found
|
|
two possible NULL pointer dereferences in error branches and dead code.
|
|
|
|
* xbps-bin(8): added new flag '-p' for the 'remove' and 'autoremove'
|
|
targets, to also purge the package(s) after successful removal.
|
|
|
|
* xbps-repo(8): print a warning when registering a repository that has
|
|
been already added previously.
|
|
|
|
* Add proplib-0.4.1 source and use it in XBPS. This is to avoid
|
|
an external dependency, so that we depend on the features of the
|
|
internal library. This also means that proplib is not required anymore.
|
|
|
|
* Added support to read/write gzip compressed plists by default, thanks
|
|
to proplib-0.4 that gained new functionality.
|
|
|
|
xbps-0.4.1 (2010-02-28):
|
|
|
|
* xbps-bin(8): fixed the install target to work with package names containing
|
|
multiple '-', thus resulting in incorrect package name.
|
|
[ https://bugs.launchpad.net/bugs/528212 ]
|
|
|
|
* xbps-bin(8): fixed printing of incorrect message for packages containing
|
|
the 'preserve' object in its props dictionary.
|
|
[ https://bugs.launchpad.net/xbps/bugs/528216 ]
|
|
|
|
xbps-0.4 (2010-02-01):
|
|
|
|
* libxbps, xbps-bin(8), xbps-repo(8): redirect all warning and error
|
|
messages to stderr.
|
|
|
|
* libxbps: changes xbps_yesno() and xbps_noyes() to only accept "yes" or "no"
|
|
(case insensitive) answers rather than 'y' or 'n', to avoid mistaken answers.
|
|
|
|
* xbps-repo(8): added support to the 'search' target to find exact matches,
|
|
i.e 'xbps-repo search bash'.
|
|
|
|
* xbps-bin(8) added support to the 'install', 'remove' and 'update'
|
|
targets to accept any arbitrary number of package names, i.e
|
|
"xbps-bin install foo blah baz".
|
|
See https://blueprints.launchpad.net/xbps/+spec/arbitrary-pkgname-args
|
|
|
|
* xbps-bin(8): added support to the 'install' and 'update' targets to
|
|
accept package patterns, i.e "xbps-bin install 'foo<=3.0'.
|
|
See https://blueprints.launchpad.net/xbps/+spec/install-pkg-by-pkgmatch
|
|
|
|
* libxbps: fixed some bugs while upgrading essential packages when new package
|
|
didn't have an INSTALL or REMOVE script and old package had them.
|
|
|
|
* libxbps: fixed some memleaks found by cppcheck and valgrind.
|
|
|
|
* Makefiles reworked to support parallel builds.
|
|
|
|
* libxbps: many exported functions to the API are now internal and not
|
|
exported, because they were only used internally. The API is still not
|
|
finished and may be changed without notice.
|
|
|
|
* libxbps: be more strict finding required metadata plist files in binary
|
|
packages. Now the code checks for the two required plist files to be at
|
|
index <= 4 and doesn't write any entry to storage until they aren't found.
|
|
|
|
* Added doxygen documentation for the API, enabled with BUILD_API_DOCS.
|
|
|
|
* libxbps: synced libfetch code with NetBSD's pkgsrc, updated to 2.30.
|
|
|
|
* xbps-bin(8): when downloading binary packages, it now sets default
|
|
libfetch cache connection limits, thus reusing connections to the same host.
|
|
|
|
* xbps-uhelper: the 'fetch' target now accepts an arbitrary number of
|
|
arguments, and sets default libfetch cache connection limits.
|
|
|
|
* xbps-bin(8): enable -f option for the 'purge' and 'remove' targets.
|
|
If set, files will be removed even if its hash doesn't match for the
|
|
'remove' target, and configuration files for the 'purge' target.
|
|
|
|
* libxbps: if updating a package, always overwrite files while unpacking;
|
|
compare old and new files to remove obsoletes if necessary. This makes
|
|
the "essential" object in package dictionary unnecessary, because all
|
|
packages are treated as they were essential.
|