- Don't write any archive entry to disk unless the package metadata
plist files are found.
- Always check for the package metadata plist files in the first 4
entries, if they aren't found stop the unpacking... invalid archive.
- Don't check for removing INSTALL/REMOVE scripts on each iteration when
extracting, just check it once before the loop.
- Add doxygen comments and related stuff.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100122225639-wameh8ls94bkm68h
once that 4 entries are checked for the plist file.
Processing 6 entries is too much, we can be sure that plist file will
always be in the first 4 entries.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100122225433-u440x01bf8io3vd3
Some changes were made to the API when making the documentation:
- A few exported functions are now hidden, because they were only used
internally in the library.
- A few exported symbols were renamed to document them better than
previously.
- Cosmetic changes all along the way, as well as some fixes here and there.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100121021019-onbsivlrhdb7t3ou
* A package failed to be upgraded properly if current pkg contained
INSTALL/REMOVE scripts, while the new one didn't have any of them.
Fixed this by always removing current scripts if they exist.
* Essential pkgs are never removed (they are replaced) so the pre remove
action target was never called, now it all works properly.
Bumped XBPS_RELVER because I consider these bugs so important.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100118184932-pdsb0djvf0swylm3
check that it wasn't added before.
This change fixes and endless loop while doing the following:
$ xbps-bin install libXext libX11
where libX11 is a dependency of libXext and was already queued.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100114125713-o9vxzayz1tnhlt96
https://blueprints.launchpad.net/xbps/+spec/install-pkg-by-pkgmatch
The implementation works as expected, it was easier that I thought.
Bump XBPS_RELVER because the API was changed slightly.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100114011431-xv5q6bgahm6v9dbq
joerg@netbsd libfetch-2.27:
The connection sharing didn't handle the case of active transfers
correctly and tried to close the connection in that case (PR 42607).
Correctly check if there is a transfer going on and just leave the
connection alone in that case.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100111192421-5fddbsek3ayi9wm8
found after processing 6 entries from the archive.
This to detect non-valid XBPS binary packages.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091207062422-fnwx9n0miq1nwadt
A new function has been created, xbps_remove_pkg_files() that accepts
a dictionary internalized from files.plist and a key to remove
links, dirs, files and conf_files.
As result of this, now when purging a package those directories that
were used in configuration files will also be removed if they are empty.
Bump XBPS_RELVER to 20091207.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091207053006-egw65u6y1jcuraje
to not remove files in removal or upgrades.
Bump XBPS_RELVER to 20091202.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091202053103-uby6hwu313pieafa
- Use an array of strings to store the pkgdeps.
- While adding a missing pkgdep, check if it's already in the queue and
new required version is greater, in that case replace with new one.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091129021735-5dqfucofny8slks2
Now it looks like:
$ xbps-repo show xbps-devel
Fetching info from: /storage/xbps/packages
Filename: xbps-devel-20091128.i686.xbps (size: 69K)
SHA256: 2c54a61fbd128097692edc19a7c17bfb10d93b3f055b04171cd1e4d97cde79df
Compression type: xz
Package: xbps-devel
Installed size: 216K
Maintainer: Juan RP [xtraeme@gmail.com]
Architecture: i686
Version: 20091128
Description: The XBPS package system (development branch)
The XBPS package system. A new, fast, from scratch and simple
binary package manager. This packages includes code from a development
branch available from https://launchpad.net/xbps
$
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091128051134-qzqqnwd76tcxgxb0
libxbps:
* Added xbps_set_cachedir() and xbps_get_cachedir(). By default it's
set to /var/cache/xbps if not specified and it's always relative
to the root directory.
* Move mkpath() code from sync_remote_pkgidc.c into its own file mkpath.c
to use it in another parts of the code.
* Added xbps_get_binpkg_local_path(), that returns the local path to
a binary package file, stored in cachedir or local repo.
* Remote pkg index files are now stored directly in metadir/repodir,
skipping the arch directory because binpkgs are now in cachedir.
xbps-bin:
* Added -c flag to set the cachedir.
* Check sha256 hashes in the download stage so that it can check
a downloaded binpkg immediately once is stored.
* If a binpkg doesn't match the hash it will be refetched.
Bump XBPS_RELVER to 20091128.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091128013841-kkcvk07lsqdr26w8
libxbps:
- Moved repolist code to lib/repository_pool.c.
- Renamed xbps_{prepare,release}_repolist_data() to
xbps_repository_pool_{init,release} respectively.
- Moved regpkgdb dict code to lib/regpkgs_dictionary.c.
- Renamed xbps_{prepare,release}_regpkgdb_dict() to
xbps_regpkgs_dictionary_{init,release} respectively.
- Use a global reference count for repository_pool and regpkgs_dictionary,
this gives a substantial performance gain while looking for dependencies
in repository pool, among other things.
- Make xbps_find_pkg_* functions return errno and use it to detect
for spurious errors in code using them.
- Add code to detect when a dependency is already unpacked.
xbps-bin:
- Do not set pkg state to unpacked in the transaction, it's set already
while a package is unpacked.
- While installing or updating packages, it now knows when a dependency
is already unpacked and shows it as "unconfigured".
Bump XBPS_RELVER to 20091126.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091126022250-uu8x0fa86l4scb5x
from an url into a new function, xbps_get_pkg_plist_dict_from_url.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091125025258-dnq0lstx67xj6w8t
This function will fetch a requested plist file in a binary
package matching its 'pkgname' object by searching in repository pool.
This works in any kind of repository, local and remote. Some code
was Taken from NetBSD's pkg_install HEAD. Oh, and it's on-the-fly!
doesn't need to download the binpkg first!
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091125020936-7uf2ncrf1692c5hz
As consequence of this, remove xbps_callback_array_iter_in_repolist().
Nowadays to iter over the repository pool we have a SIMPLEQ, this
allowed to simplify the code and remove some now unneeed stuff.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091124104704-oyvrmb3tmd59w4e7
Improved xbps-repo sync/add and xbps-fetch to print informative
messages when a transfer was not necessary because local/remote size
and/or mtime matched.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091124050326-owez7140fdxwepuk
checked for any spurious error, this should make the core more safer :-)
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091123094651-5prw0bkqmt3y8h23
remote repositories, so remove its argument.
xbps_sync_repository_pkg_index:
- create the local repo dir in XBPS_META_PATH.
- also add the uri scheme (http://, https://, ftp://) in the created
local directory and subst ':' also with an underscore.
- do not create local repo directories unless the download pkg-index
plist file is verified to be fetched correctly.
xbps_check_is_repo_string_remote:
New function to check if a repo string is a remote repository, use
it in all places where it was used before.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091123042316-rmu4w3ehoxwh3iz8
in pkg dictionary to improve performance in some cases.
Bumped XBPS_RELVER to 20091121.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091122041547-oywx4db75j8uttl3
Also always build the static bins so that it's done in one pass,
that means that objects are PIC and built with SSP.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091119050337-hkdksjqxy9n7vy7m
See https://blueprints.launchpad.net/xbps/+spec/essential-upgrades
for complete information.
Implementation used almost the same code than the pseudo-code explained
in the blueprint. Works really fine, tested with glibc-2.10.1 -> 2.11
upgrade.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091109013004-szdc9ngb3i70bc4p
dependencies, as specified in blueprint "improved-version-matching".
It's possible now to require greater, greater or equal than,
less, less or equal than, and equal pkg versions, as well as using
'{}' and '[^!]' csh patterns in dependencies.
Code lifted from FreeBSD, thanks! :-)
Change XBPS_RELVER to 20091107 to match latest additions.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091107035620-3051wcwrirqn2g14
Some HTTP servers (observerd with googlecode.com), issue a 404
if the headers are checked before issuing a GET transfer.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091030162044-ng8o944bajwdudg8
fetchLastErrString.
Hook xbps-fetch to the tree and use the new function to print errors.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091030021303-6wu9sri5o8kgvfwl
libfetch from NetBSD's pkgsrc has been imported into lib/fetch, but
the objects are embedded into libxbps. Only a public function to fetch
files has been implemented: xbps_fetch_file().
The library now is built with -fvisibility=hidden by default, and
exported symbols are the ones that use the SYMEXPORT macro.
The code works well enough, but will need many more cleanups.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091027004600-0lq9aao67lisbzxv
* Fix 'autoupdate' target to look for new packages in ALL repos, not
just the first one that has the package.
* Fix 'update' target to work correctly.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091016133157-asvkv5jb6i9q2ibe
unsigned int and size_t do not match in size in x86_64, so use
unsigned int in functions expecting this type.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091010141337-vfoiay5nx8edl0ux
Make xbps_find_deps_in_pkg() return ENOENT when missing deps are found.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091005195748-nhhsgldgg3hwfcz7
aware of package being upgraded or removed. Will be used later to
restart services while upgrading packages.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091002113833-x7nsur0g4ehyr5zq
Simplify logic and fix the mistake of pass-by-value vs pass-by-ref.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20090930162921-wfx9ze2v7rjrpmza
state in the object dictionary rather than opening and externalizing
the dictionary of every package.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20090821093126-0xw980x0pqtq59q2
Move the set_pkg_state call just after the fsync call, otherwise
strange things can ocurr sometimes.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20090818205029-b01fqdf5tw4hnzgc