razor2.git/.git
17 years agoUse depsolver to verify rpm -e, flush out more options.
Kristian Høgsberg [Mon, 16 Jun 2008 02:33:15 +0000]
Use depsolver to verify rpm -e, flush out more options.

18 years agoMake razor_transaction_describe() work and use it in rpm wrapper.
Kristian Høgsberg [Tue, 10 Jun 2008 03:51:52 +0000]
Make razor_transaction_describe() work and use it in rpm wrapper.

18 years agoRemove some debug prints from depsolver.
Kristian Høgsberg [Tue, 10 Jun 2008 02:58:49 +0000]
Remove some debug prints from depsolver.

18 years agoAdd read-only open function for razor_root and support --root in rpm wrapper.
Kristian Høgsberg [Tue, 10 Jun 2008 02:41:37 +0000]
Add read-only open function for razor_root and support --root in rpm wrapper.

18 years agoAdd --initdb support for rpm wrapper.
Kristian Høgsberg [Mon, 9 Jun 2008 20:38:58 +0000]
Add --initdb support for rpm wrapper.

18 years agoMove razor root code to its own file.
Kristian Høgsberg [Mon, 9 Jun 2008 20:14:05 +0000]
Move razor root code to its own file.

18 years agoAdd librazor.a to Makefile to make it clearer what is core razor.
Kristian Høgsberg [Mon, 9 Jun 2008 20:01:34 +0000]
Add librazor.a to Makefile to make it clearer what is core razor.

18 years agoIntroduce struct razor_root.
Kristian Høgsberg [Mon, 9 Jun 2008 19:39:23 +0000]
Introduce struct razor_root.

This object encapsulates the directory layout and locking protocol for
a razor install root.

18 years agoMake yum url overridable by environment variable YUM_URL.
Kristian Høgsberg [Mon, 9 Jun 2008 18:38:58 +0000]
Make yum url overridable by environment variable YUM_URL.

18 years agoRewrite depsolver to use a series of passes over all packages.
Kristian Høgsberg [Mon, 14 Apr 2008 20:56:35 +0000]
Rewrite depsolver to use a series of passes over all packages.

The big change is that we follow one step of the depedency chain for
each package to resolve in each iteration, and repeat until there are
no more possible moves.  In contrast the old depsolver would try to
follow the dependency chain completely for one package at a time.

This new approach is simpler and faster, and at the same time more
roboust. Instead of knowing how one newly installed package may
affect other packages (obsoleting, pulling in new packages etc), the
new algorithm just looks at the total list of requires, provides,
obsoletes and conflicts after installing new packages.

18 years agoFactor out --query package selection, share with --verify.
Kristian Høgsberg [Thu, 5 Jun 2008 01:28:26 +0000]
Factor out --query package selection, share with --verify.

18 years agoStart implementing rpm -i.
Kristian Høgsberg [Thu, 5 Jun 2008 01:06:09 +0000]
Start implementing rpm -i.

18 years agoStart implementing erase - still need better depsolver.
Kristian Høgsberg [Thu, 5 Jun 2008 00:53:17 +0000]
Start implementing erase - still need better depsolver.

18 years agoSupport bundling of single letter options.
Kristian Høgsberg [Thu, 5 Jun 2008 00:16:50 +0000]
Support bundling of single letter options.

18 years agoProcess all option structs that match a given arg.
Kristian Høgsberg [Thu, 5 Jun 2008 00:04:57 +0000]
Process all option structs that match a given arg.

This lets us handle options such as -i that have different meanings
depending on what other options are present on the command line.

18 years agoImplement the rpm --package option.
Kristian Høgsberg [Wed, 4 Jun 2008 18:57:14 +0000]
Implement the rpm --package option.

18 years agoFlesh out the rpm -q part of the rpm command line wrapper.
Kristian Høgsberg [Wed, 4 Jun 2008 17:19:54 +0000]
Flesh out the rpm -q part of the rpm command line wrapper.

18 years agoStart rpm commandline compatible wrapper.
Kristian Høgsberg [Tue, 3 Jun 2008 19:20:00 +0000]
Start rpm commandline compatible wrapper.

18 years agoAdd more TODO items.
Kristian Høgsberg [Wed, 30 Apr 2008 22:18:27 +0000]
Add more TODO items.

18 years agoEdit TODO a bit.
Kristian Høgsberg [Thu, 10 Apr 2008 01:28:17 +0000]
Edit TODO a bit.

18 years agoAdd GPLv2 license headers.
Kristian Høgsberg [Thu, 10 Apr 2008 01:14:31 +0000]
Add GPLv2 license headers.

Make it all GPLv2 for now, we may want to break out an LGPLv2 librazor later.

18 years agoUse the cpio headers instead of the rpm headers when unpacking.
Kristian Høgsberg [Wed, 9 Apr 2008 06:41:03 +0000]
Use the cpio headers instead of the rpm headers when unpacking.

The files in the cpio payload doesn't actually follow the file order
in the rpm headers, so we need to decode the cpio header and use the
information there.

18 years agoMake transaction resolve step optional.
Kristian Høgsberg [Wed, 9 Apr 2008 03:53:57 +0000]
Make transaction resolve step optional.

18 years agoDon't add package to transaction more than once.
Kristian Høgsberg [Tue, 8 Apr 2008 04:10:31 +0000]
Don't add package to transaction more than once.

18 years agoMark package to be installed or removed after creating the transaction.
Kristian Høgsberg [Tue, 8 Apr 2008 03:52:14 +0000]
Mark package to be installed or removed after creating the transaction.

This lets us implement support for fnmatch wildcard and do
better error checking.

18 years agoDetect failure to create download target file.
Kristian Høgsberg [Tue, 8 Apr 2008 01:32:19 +0000]
Detect failure to create download target file.

18 years agoCreate rpms dir on demand.
Kristian Høgsberg [Tue, 8 Apr 2008 01:28:13 +0000]
Create rpms dir on demand.

18 years agoSilly spelling error.
Kristian Høgsberg [Mon, 7 Apr 2008 16:38:21 +0000]
Silly spelling error.

18 years agoHandle http errors better.
Kristian Høgsberg [Mon, 7 Apr 2008 16:29:13 +0000]
Handle http errors better.

18 years agoHandle arch correctly in command_download() and print some status at the end.
Kristian Høgsberg [Mon, 7 Apr 2008 16:09:50 +0000]
Handle arch correctly in command_download() and print some status at the end.

18 years agoRemove redundant curl initialization.
Kristian Høgsberg [Mon, 7 Apr 2008 15:56:48 +0000]
Remove redundant curl initialization.

18 years agoSkip epoch prefix when creating filenames/urls.
Kristian Høgsberg [Mon, 7 Apr 2008 05:19:13 +0000]
Skip epoch prefix when creating filenames/urls.

18 years agoMisc comment/todo changes.
Kristian Høgsberg [Mon, 7 Apr 2008 05:06:09 +0000]
Misc comment/todo changes.

18 years agoReduce harmless warnings from run_script().
Kristian Høgsberg [Mon, 7 Apr 2008 05:03:07 +0000]
Reduce harmless warnings from run_script().

18 years agoDon't install files if package has no files.
Kristian Høgsberg [Mon, 7 Apr 2008 04:56:16 +0000]
Don't install files if package has no files.

18 years agoCreate the new repo file O_EXCL to prevent racing with another razor process.
Kristian Høgsberg [Mon, 7 Apr 2008 04:31:01 +0000]
Create the new repo file O_EXCL to prevent racing with another razor process.

And remember to clean it up on exit paths.

18 years agoMerger razor_transaction_run() and destroy() as finish().
Kristian Høgsberg [Mon, 7 Apr 2008 04:06:22 +0000]
Merger razor_transaction_run() and destroy() as finish().

18 years agoFinish razor_transaction_destroy some more.
Kristian Høgsberg [Mon, 7 Apr 2008 04:02:01 +0000]
Finish razor_transaction_destroy some more.

18 years agoMake install command download and install all requirements.
Kristian Høgsberg [Mon, 7 Apr 2008 03:57:13 +0000]
Make install command download and install all requirements.

18 years agoFix segfault on ./razor list.
Kristian Høgsberg [Mon, 7 Apr 2008 03:36:45 +0000]
Fix segfault on ./razor list.

18 years agoAlso store the package arch in the pacakge set file.
Kristian Høgsberg [Mon, 7 Apr 2008 03:35:46 +0000]
Also store the package arch in the pacakge set file.

18 years agoMerger structs razor_transaction and razor_transaction_resolver.
Kristian Høgsberg [Sun, 6 Apr 2008 23:34:58 +0000]
Merger structs razor_transaction and razor_transaction_resolver.

Now that both are opaque and hidden in razor.c we can do this cleanup.

18 years agoHide a bunch of depsolver internals in razor.c.
Kristian Høgsberg [Sun, 6 Apr 2008 23:24:07 +0000]
Hide a bunch of depsolver internals in razor.c.

18 years agoMake a note about how we don't handle release-less properties.
Kristian Høgsberg [Sun, 6 Apr 2008 22:40:53 +0000]
Make a note about how we don't handle release-less properties.

Such as requires: glibc > 2.6.90.

18 years agoDon't print stray newline if nothing was downloaded.
Kristian Høgsberg [Sun, 6 Apr 2008 04:29:47 +0000]
Don't print stray newline if nothing was downloaded.

18 years agoAdd download command to download packages from yum repo.
Kristian Høgsberg [Sun, 6 Apr 2008 03:54:39 +0000]
Add download command to download packages from yum repo.

Works with bash completion against upstream packages and
supports wildcards suchs as gcc-*.

18 years agoMove qsort_with_data to util.c.
Kristian Høgsberg [Sat, 5 Apr 2008 05:15:04 +0000]
Move qsort_with_data to util.c.

18 years agoNo dirnames more likely means 'no files', not old-style filenames.
Kristian Høgsberg [Sat, 5 Apr 2008 05:02:12 +0000]
No dirnames more likely means 'no files', not old-style filenames.

18 years agoUse razor_write() for piping script to interpreter.
Kristian Høgsberg [Sat, 5 Apr 2008 04:44:45 +0000]
Use razor_write() for piping script to interpreter.

18 years agofix find_package_matching to not accidentally skip some packages
Dan Winship [Thu, 20 Mar 2008 18:36:50 +0000]
fix find_package_matching to not accidentally skip some packages

18 years agoMerge branch 'master' of git://people.freedesktop.org/~krh/razor
Dan Winship [Tue, 18 Mar 2008 15:44:28 +0000]
Merge branch 'master' of git://people.freedesktop.org/~krh/razor

18 years agoOnly mark pacakges for update if there is a newer version available.
Kristian Høgsberg [Mon, 17 Mar 2008 23:28:42 +0000]
Only mark pacakges for update if there is a newer version available.

18 years agodescription of the repo file format / struct razor_set
Dan Winship [Fri, 14 Mar 2008 19:32:24 +0000]
description of the repo file format / struct razor_set

18 years agoremove some done things
Dan Winship [Fri, 14 Mar 2008 17:37:06 +0000]
remove some done things

18 years agospell out the depsolving rules explicitly, separate from the algorithm
Dan Winship [Fri, 14 Mar 2008 14:18:58 +0000]
spell out the depsolving rules explicitly, separate from the algorithm

18 years agoMerge branch 'master' of git://people.freedesktop.org/~krh/razor
Dan Winship [Thu, 13 Mar 2008 12:29:05 +0000]
Merge branch 'master' of git://people.freedesktop.org/~krh/razor

18 years agoinstall: Handle the case where a directory already exists.
Kristian Høgsberg [Wed, 12 Mar 2008 21:00:10 +0000]
install: Handle the case where a directory already exists.

18 years agoadd more background to DEPSOLVE.txt
Dan Winship [Wed, 12 Mar 2008 20:41:34 +0000]
add more background to DEPSOLVE.txt

18 years ago64-bit fixes
Dan Winship [Wed, 12 Mar 2008 20:40:50 +0000]
64-bit fixes

18 years agoinstall: Initialize package array correctly.
Kristian Høgsberg [Wed, 12 Mar 2008 20:37:54 +0000]
install: Initialize package array correctly.

18 years agoFix importing flags from RPM file.
Kristian Høgsberg [Wed, 12 Mar 2008 20:26:26 +0000]
Fix importing flags from RPM file.

18 years agoWrite out the new repo on install.
Kristian Høgsberg [Wed, 12 Mar 2008 19:38:56 +0000]
Write out the new repo on install.

We write the repo to a lock file repo, and once the RPMs are installed
we rename() the lock repo back in place.

18 years ago"requires x > n" matches "provides x", but "obsoletes x < n" doesn't
Dan Winship [Wed, 12 Mar 2008 17:27:26 +0000]
"requires x > n" matches "provides x", but "obsoletes x < n" doesn't

18 years agofix up transaction descriptions a little more
Dan Winship [Wed, 12 Mar 2008 15:53:10 +0000]
fix up transaction descriptions a little more

18 years agoupdate to match latest DEPSOLVE.txt changes; find updates of obsoleted packages
Dan Winship [Wed, 12 Mar 2008 15:46:53 +0000]
update to match latest DEPSOLVE.txt changes; find updates of obsoleted packages

18 years agomove the initialization of the root entry name to razor_set_create
Dan Winship [Tue, 11 Mar 2008 22:12:02 +0000]
move the initialization of the root entry name to razor_set_create

18 years agodeal with a single package being the target of both a FORCED_UPDATE and an INSTALL
Dan Winship [Tue, 11 Mar 2008 22:08:12 +0000]
deal with a single package being the target of both a FORCED_UPDATE and an INSTALL

18 years agofix req_package in one case
Dan Winship [Tue, 11 Mar 2008 21:49:00 +0000]
fix req_package in one case

18 years agoFix file tree merging (broken since 7b26d6b3)
Dan Winship [Tue, 11 Mar 2008 21:15:02 +0000]
Fix file tree merging (broken since 7b26d6b3)

18 years agofix generated provides of files provided by more than one package
Dan Winship [Tue, 11 Mar 2008 20:48:20 +0000]
fix generated provides of files provided by more than one package

(uniqueify_properties() assumes that each property only belongs to a
single package, so our previous strategy of generating a single property
with an indirect package list wouldn't work.)

18 years agofix the types of fields in razor_property for easier debugging
Dan Winship [Tue, 11 Mar 2008 19:45:53 +0000]
fix the types of fields in razor_property for easier debugging

also fix a case in razor_transaction_describe

18 years agoupdate to deal with obsoletes better
Dan Winship [Tue, 11 Mar 2008 15:44:51 +0000]
update to deal with obsoletes better

when looking for a package "foo" to install/update, we have to look
not just for a package named "foo", but also any package that
obsoletes+provides "foo".

So redo the algorithm to satisfy *all* installs/removes from the
property list, so now we don't need to walk the package list at all.

18 years agoupdate to match DEPSOLVE.txt
Dan Winship [Tue, 11 Mar 2008 15:43:54 +0000]
update to match DEPSOLVE.txt

unfortunately not quite right; it can't figure out that "git-core" updates
to "git"

18 years agowhen importing, create fake file PROVIDES to match file REQUIRES
Dan Winship [Mon, 10 Mar 2008 18:12:31 +0000]
when importing, create fake file PROVIDES to match file REQUIRES

18 years agoupdate DEPSOLVE.txt after talking with Kristian
Dan Winship [Mon, 10 Mar 2008 15:30:00 +0000]
update DEPSOLVE.txt after talking with Kristian

In particular, we're going to do the fake PROVIDES for files thing now.

18 years agodepsolving plan
Dan Winship [Fri, 7 Mar 2008 20:38:31 +0000]
depsolving plan

18 years agoFix both sides of provide/conflict handling to work the same way
Dan Winship [Fri, 7 Mar 2008 18:45:37 +0000]
Fix both sides of provide/conflict handling to work the same way

thus fixing conflicts-on-properties-rather-than-names, thus fixing the
last remaining unpassed test

18 years agokill warning
Dan Winship [Fri, 7 Mar 2008 18:44:22 +0000]
kill warning

18 years agoanother checkpoint...
Dan Winship [Fri, 7 Mar 2008 13:52:09 +0000]
another checkpoint...

there are a bunch of problems with doing things this way, and file
provide removals are currently unhandled

18 years agofix version parsing to not sometimes use octal :)
Dan Winship [Fri, 7 Mar 2008 13:24:09 +0000]
fix version parsing to not sometimes use octal :)

18 years agoUse the razor transaction logic when installing rpms.
Kristian Høgsberg [Thu, 6 Mar 2008 05:54:13 +0000]
Use the razor transaction logic when installing rpms.

18 years agoSplit install root creation out into command_init().
Kristian Høgsberg [Thu, 6 Mar 2008 05:28:25 +0000]
Split install root creation out into command_init().

18 years agoInitalize empty package sets with a proper empty file list.
Kristian Høgsberg [Thu, 6 Mar 2008 06:30:55 +0000]
Initalize empty package sets with a proper empty file list.

18 years agoFix bug in razor_create_dir() path component loop.
Kristian Høgsberg [Thu, 6 Mar 2008 05:27:43 +0000]
Fix bug in razor_create_dir() path component loop.

18 years agoFix epoch in rpm and rpmdb importer: epoch is an integer tag.
Kristian Høgsberg [Thu, 6 Mar 2008 04:49:05 +0000]
Fix epoch in rpm and rpmdb importer: epoch is an integer tag.

18 years agokeep track of both the install and the remove on an update
Dan Winship [Thu, 6 Mar 2008 00:02:29 +0000]
keep track of both the install and the remove on an update

razor_transaction_satisfy_removes() is now quite broken, as it thinks
it should remove a package if a package it depends on was updated.

18 years agomove razor_set_diff so it's not in the middle of the transaction code
Dan Winship [Thu, 6 Mar 2008 00:01:51 +0000]
move razor_set_diff so it's not in the middle of the transaction code

18 years agoclean up packages states some
Dan Winship [Wed, 5 Mar 2008 15:46:40 +0000]
clean up packages states some

18 years agocheckpoint, misc rewritage
Dan Winship [Wed, 5 Mar 2008 00:07:14 +0000]
checkpoint, misc rewritage

18 years agoFix version handling (particularly wrt epoch) on import
Dan Winship [Tue, 4 Mar 2008 15:55:01 +0000]
Fix version handling (particularly wrt epoch) on import

18 years agounduplicate file-finding code
Dan Winship [Mon, 3 Mar 2008 21:19:56 +0000]
unduplicate file-finding code

18 years agoadd struct razor_transaction_resolver to reduce redundant procedure args
Dan Winship [Mon, 3 Mar 2008 21:05:33 +0000]
add struct razor_transaction_resolver to reduce redundant procedure args

18 years agoredo some of the transaction code, get conflicts and obsoletes partly working
Dan Winship [Mon, 3 Mar 2008 19:55:16 +0000]
redo some of the transaction code, get conflicts and obsoletes partly working

now uses a bit array of to-be-installed/removed packages and uses that to
avoid needing to do either per-property searches or repeated merges. but it
really needs to have a bit array of properties too probably

checkpoint before starting on simplifying/cleaning up the existing
transaction code

18 years agoadd somewhat inefficient file dep removal code
Dan Winship [Fri, 29 Feb 2008 20:09:44 +0000]
add somewhat inefficient file dep removal code

(fwiw, the comment on the previous commit was incorrect)

18 years agoimplement file dependencies for installs
Dan Winship [Fri, 29 Feb 2008 17:45:08 +0000]
implement file dependencies for installs

removes are trickier because there are no backlinks from the files array
the properties array, so there's currently no way to efficiently determine
what packages are affected by the removal of a particular file

18 years agoRedo updates and removes in terms of a single razor_transaction abstraction
Dan Winship [Fri, 29 Feb 2008 16:53:15 +0000]
Redo updates and removes in terms of a single razor_transaction abstraction

Also does versioned depsolving at least partially.
Update main.c and test-driver.c for that, and fix some unrelated test-driver
bugs.

Now gets up to testUpdateSinglePackageObsoletesOldRequirement, although
it really should not be passing the multilib tests; apparently they aren't
clever enough in their testing of the depsolving algorithm and are allowing
it to come up with the right answer for the wrong reason.

18 years agouse -Wmissing-prototypes to help find dead code
Dan Winship [Fri, 29 Feb 2008 16:51:58 +0000]
use -Wmissing-prototypes to help find dead code

(by forcing us to declare functions static, allowing gcc to tell us
"warning: foo defined by not used")

18 years agofix
Dan Winship [Fri, 29 Feb 2008 16:46:37 +0000]
fix

18 years agoredo razor_set_update to only rebuild the set once
Dan Winship [Tue, 26 Feb 2008 21:39:01 +0000]
redo razor_set_update to only rebuild the set once

messy, and with too much duplicated code...

18 years agofix one of the tests to match the probably mistaken python version, and
Dan Winship [Tue, 26 Feb 2008 18:47:31 +0000]
fix one of the tests to match the probably mistaken python version, and
add two more comments pointing out oddities in the python tests