J. Ali Harlow [Fri, 17 Oct 2014 09:13:48 +0000]
Add missing files
J. Ali Harlow [Fri, 17 Oct 2014 09:10:57 +0000]
Fix multiple memory allocation problems (found with valgrind)
J. Ali Harlow [Fri, 17 Oct 2014 09:08:28 +0000]
Add low-level dump command to aid debugging
J. Ali Harlow [Fri, 17 Oct 2014 08:57:19 +0000]
Add facility to specify razor command when running tests.
This makes it easy to run under eg., valgrind as:
./details "libtool --mode=execute valgrind --leak-check=yes ../src/razor"
J. Ali Harlow [Thu, 9 Oct 2014 16:27:41 +0000]
Support downloading from local repository even without libcurl
Using the --url option of the razor executable, it is possible
to specify a yum repository on the local machine (eg., on installation
media) and import from there, eg.,:
C> razor --url file:///d:/ import-yum
This will be handled by libcurl if available but if not, an internal
copy routine will be used.
Note that if Microsoft's KTM implementation of atomic transactions is
used, then the current directory must support atomic transactions
(also improve error messages for this, and other, cases).
J. Ali Harlow [Sat, 4 Oct 2014 17:12:58 +0000]
Only export symbols starting with razor_ in dynamic library.
Apart from being good practice to avoid clashes with higher-level
libraries and the application, this also fixes an obscure bug: The
gnulib library is used both by librazor (the dynamic library) and
by razor (the executable). In doing so, we want to have two separate
copies of the library despite the code duplication this involves.
Without the explicit limit to export only razor_ symbols, the razor
executable under mingw64 was picking up the getopt_long function
from librazor and the optind variable from libgnu which meant that
it did not see optind changing. Hiding librazor's copy of getopt
causes the linker to find libgnu's copy and everything works.
Note that under mingw librazor-#.dll still contains undocumented
(private) razor_ symbols but these will do no harm as long as nobody
tries to use them.
J. Ali Harlow [Fri, 3 Oct 2014 14:05:33 +0000]
Add INTLLIBS back into librazor_la_LIBADD and also into razor.pc
INTLLIBS was originally added into librazor_la_LIBADD (but not razor.pc)
in
611c84a3f4b4538a65d186050608c17adbf17770 and then removed in
236cfc8ecc5c66288e41bf9b72051a3b18326e1c over concerns that it meant
that building static applications (eg., in plover) required a static
version of libintl. Since then, however, the inclusion of gnulib's
getopt has caused the build to fail without INTLLIBS in librazor_la_LIBADD
with messages of the form:
../gl/.libs/libgnu.a(getopt.o): In function `_getopt_internal_r':
/home/ali/wk/razor/vpath/gl/../../working/gl/getopt.c:808: undefined reference to `libintl_gettext'
while building librazor.dll.a
Thus it appears that INTLLIBS really is needed and should go back into
librazor_la_LIBADD (which fixes the build) and should also be in Libs.private
in razor.pc for static builds. This means that a static version of libintl
will be required (eg., as part of mingw64-gettext-static).
Along the way, razor.pc has also been fixed to avoid overlinking
(https://wiki.openmandriva.org/en/Overlinking_issues_in_packaging)
and a missing include directory that caused the razor executable to
fail to build was added.
J. Ali Harlow [Fri, 3 Oct 2014 11:26:22 +0000]
Add RAZOR_HAVE_ATOMIC_ROLLBACK
J. Ali Harlow [Fri, 3 Oct 2014 11:24:10 +0000]
Fix make distcheck
J. Ali Harlow [Tue, 30 Sep 2014 17:12:55 +0000]
razor_atomic_create_dir() shouldn't set mode of existing directories
J. Ali Harlow [Tue, 30 Sep 2014 15:19:55 +0000]
Setting toplevel from a non-existant path fails
J. Ali Harlow [Thu, 11 Sep 2014 17:54:16 +0000]
Remove prototype for long-removed razor_set_get_package
J. Ali Harlow [Tue, 9 Sep 2014 14:27:12 +0000]
Add error domains and codes
J. Ali Harlow [Tue, 9 Sep 2014 14:04:24 +0000]
Add razor_transaction_unsatisfied()
J. Ali Harlow [Mon, 8 Sep 2014 09:26:39 +0000]
Add control over database location
J. Ali Harlow [Mon, 1 Sep 2014 11:19:32 +0000]
testsuite portability fixes
J. Ali Harlow [Sat, 23 Aug 2014 16:24:34 +0000]
Update libtool versioning in preparation for release
J. Ali Harlow [Sat, 23 Aug 2014 15:28:31 +0000]
Fix compiler warnings
J. Ali Harlow [Sat, 23 Aug 2014 15:07:09 +0000]
Drop drive letter from path to razor root when RAZOR_ROOT set.
If the RAZOR_ROOT environment variable was set to eg., /root then on
Microsoft Windows we were trying to use paths such as /rootC:/Programs
which is obviously wrong. Instead we should drop the drive letter
giving paths of the form /root/Programs. Note that the drive letter is
_not_ migrated to C:/root/Programs: If a root of C:/root was desired
then RAZOR_ROOT would have been set to C:/root.
J. Ali Harlow [Sat, 23 Aug 2014 10:13:48 +0000]
Remove INTLLIBS from librazor_la_LIBADD.
This partially reverts
611c84a3f4b4538a65d186050608c17adbf17770.
It's not clear what motivated the initial inclusion of INTLLIBS
here since the net effect is only seen in librazor.la and not
in razor.pc and librazor.la is not normally packaged. Certainly
neither the static nor the dynamic versions of librazor currently
use libintl. At best this would cause the linker to search a
static libintl for undefined symbols without finding any; at worse
it causes a static build of plover using librazor.la to fail if
no static version of libintl is installed.
J. Ali Harlow [Wed, 20 Aug 2014 17:53:37 +0000]
Add secondary text to errors
J. Ali Harlow [Wed, 20 Aug 2014 17:46:38 +0000]
Update gnulib
J. Ali Harlow [Wed, 20 Aug 2014 17:30:09 +0000]
Start 0.5.7
J. Ali Harlow [Tue, 27 Mar 2012 20:32:46 +0000]
Don't assume the current directory is writable
J. Ali Harlow [Tue, 27 Mar 2012 20:29:53 +0000]
Start 0.5.6
J. Ali Harlow [Fri, 23 Mar 2012 20:24:09 +0000]
Fix bug causing razor_transaction_resolve() to spin
J. Ali Harlow [Fri, 23 Mar 2012 20:23:36 +0000]
Start 0.5.5
J. Ali Harlow [Mon, 20 Feb 2012 19:31:07 +0000]
Re-order and add missing LIBS for build against a static lua library
J. Ali Harlow [Mon, 20 Feb 2012 19:30:23 +0000]
LUA_CFLAGS & LUA_LIBS should override pkg-config, not be ignored.
J. Ali Harlow [Mon, 20 Feb 2012 19:28:38 +0000]
Overload --disable-shared to also build static executables.
J. Ali Harlow [Fri, 17 Feb 2012 18:35:10 +0000]
razor_rpm_open() should take an error parameter, not an atomic
J. Ali Harlow [Thu, 16 Feb 2012 17:44:25 +0000]
razor_create_root() should take an error pointer
J. Ali Harlow [Thu, 16 Feb 2012 17:33:47 +0000]
Allow multiple atomic transactions to be used with one root object.
This allows transactions that include barriers to be performed
while holding an exclusive system lock.
J. Ali Harlow [Sat, 11 Feb 2012 23:50:26 +0000]
Add an error object.
This is intended to dis-entangle the two roles that the atomic
object has evolved into so that atomic need only be used where
atomic actions are actually being undertaken.
J. Ali Harlow [Sat, 11 Feb 2012 09:49:58 +0000]
Pass script failures up to caller
J. Ali Harlow [Sat, 11 Feb 2012 09:34:40 +0000]
Fix object management in error paths
J. Ali Harlow [Sat, 11 Feb 2012 09:30:23 +0000]
Start 0.5.4
J. Ali Harlow [Thu, 9 Feb 2012 20:45:27 +0000]
Add transaction barriers
These allow packages to be installed and removed which have scripts
that depend on each other when atomic transactions are involved.
Note that yum supports pre, but not other requires flags. post will
need similar support to the post scripts themselves pulling in the
requires flags from the rpms. Likewise preun and postun will need
similar handling to those scrips since the requires flags will need
to be stored in the razor database.
J. Ali Harlow [Thu, 9 Feb 2012 20:43:58 +0000]
Add deque_length()
J. Ali Harlow [Thu, 9 Feb 2012 20:42:08 +0000]
Emulate atomic transactions
J. Ali Harlow [Thu, 9 Feb 2012 20:15:00 +0000]
Add mkdtemp to gnulib modules used
J. Ali Harlow [Wed, 1 Feb 2012 13:00:40 +0000]
Start 0.5.3
J. Ali Harlow [Wed, 1 Feb 2012 12:49:13 +0000]
Fix bug causing scripts to be run at the wrong time
J. Ali Harlow [Wed, 1 Feb 2012 12:47:50 +0000]
Fix bug causing writes to an unallocated buffer
J. Ali Harlow [Wed, 1 Feb 2012 12:46:39 +0000]
Don't test for installing a package twice
J. Ali Harlow [Wed, 1 Feb 2012 12:46:06 +0000]
Avoid %{_libdir} in spec files for testing
J. Ali Harlow [Wed, 1 Feb 2012 12:44:16 +0000]
Start 0.5.2
J. Ali Harlow [Fri, 27 Jan 2012 08:12:19 +0000]
Fix bugs causing arguments to not be passed to lua scripts
J. Ali Harlow [Fri, 27 Jan 2012 07:55:30 +0000]
Start 0.5.1
J. Ali Harlow [Thu, 10 Nov 2011 10:35:21 +0000]
Use Windows KTM (atomic transactions) where supported.
Increment current header version to 2
J. Ali Harlow [Thu, 25 Aug 2011 13:22:52 +0000]
Update gnulib
J. Ali Harlow [Wed, 24 Aug 2011 14:45:44 +0000]
MinGW runtime 3.15.2 doesn't define ESTALE or ETIMEDOUT
J. Ali Harlow [Wed, 24 Aug 2011 14:28:52 +0000]
Update gnulib
J. Ali Harlow [Wed, 24 Aug 2011 14:27:50 +0000]
Use INTLLIBS where appropriate
J. Ali Harlow [Wed, 24 Aug 2011 14:16:14 +0000]
Start 0.4.1
J. Ali Harlow [Mon, 26 Apr 2010 07:54:44 +0000]
Treat missing detail strings as empty
J. Ali Harlow [Fri, 23 Apr 2010 20:07:15 +0000]
Fix bug causing detail strings to be lost
J. Ali Harlow [Fri, 23 Apr 2010 18:14:17 +0000]
Update testsuite to work with rpm 4.7
J. Ali Harlow [Fri, 23 Apr 2010 18:04:43 +0000]
Start 0.4
J. Ali Harlow [Thu, 1 Oct 2009 18:35:56 +0000]
Don't touch v2+ rzdb files
J. Ali Harlow [Thu, 1 Oct 2009 17:58:55 +0000]
Fix bug causing razor update foo to always install foo
J. Ali Harlow [Thu, 1 Oct 2009 17:51:02 +0000]
Implement proper locking
J. Ali Harlow [Tue, 29 Sep 2009 18:31:16 +0000]
Fix bug causing multiple installs to abort
J. Ali Harlow [Mon, 28 Sep 2009 17:29:05 +0000]
Fix bug causing updates to fail on systems with multiple versions of a package installed
J. Ali Harlow [Mon, 28 Sep 2009 17:26:02 +0000]
Start 0.3
J. Ali Harlow [Tue, 18 Aug 2009 13:04:11 +0000]
Fix bug causing remove to abort
J. Ali Harlow [Thu, 13 Aug 2009 06:14:51 +0000]
Basic support for update
J. Ali Harlow [Thu, 13 Aug 2009 06:08:45 +0000]
Fix a bug causing libtool versioning to be ignored.
This bug meant that razor 0.1 was recorded as interface 0 rather
than the intended interface 1. razor 0.2 will use interface 1.
J. Ali Harlow [Tue, 11 Aug 2009 11:53:16 +0000]
Start 0.2
J. Ali Harlow [Wed, 8 Jul 2009 23:01:18 +0000]
Fix problems found by distcheck
J. Ali Harlow [Wed, 8 Jul 2009 21:14:16 +0000]
Fix bugs when removing files and directories
J. Ali Harlow [Tue, 7 Jul 2009 21:50:22 +0000]
Pass installation-count to scripts
J. Ali Harlow [Mon, 6 Jul 2009 17:19:13 +0000]
Set RPM_INSTALL_PREFIX{n} in preun as well
J. Ali Harlow [Sat, 4 Jul 2009 10:11:59 +0000]
Formally fork in preparation for release
Kristian Høgsberg [Fri, 3 Jul 2009 18:06:29 +0000]
Go back to having all info in one rzdb file.
We can still split the rzdb file into a main file and a file data and a details file, but that's only for optimizing the required download size. On the system we always combine the parts back into one rzdb file once downloaded.
J. Ali Harlow [Fri, 3 Jul 2009 17:02:33 +0000]
Support RPM_INSTALL_PREFIX{n} during uninstall
J. Ali Harlow [Thu, 2 Jul 2009 10:31:45 +0000]
Test uninstall scripts survive merge
J. Ali Harlow [Thu, 2 Jul 2009 10:31:03 +0000]
Support empty scripts
J. Ali Harlow [Fri, 12 Jun 2009 15:59:11 +0000]
Add basic support for uninstall scripts.
RPM_INSTALL_PREFIX{n} is not yet supported and upgrading a package
where an uninstall script changes may need more work to ensure the
old script doesn't get included in the merged set (when it is too
late to remove). I haven't yet tested whether this is a real problem.
J. Ali Harlow [Wed, 3 Jun 2009 07:26:09 +0000]
Add automatic provides for lua pre-loaded modules
J. Ali Harlow [Thu, 14 May 2009 04:55:19 +0000]
Order the installation and removal of packages correctly so scripts can run
J. Ali Harlow [Thu, 14 May 2009 04:51:05 +0000]
Take advantage of gcc's builtin implementation of ffs under mingw
J. Ali Harlow [Thu, 14 May 2009 04:50:37 +0000]
Fix documentation typo
J. Ali Harlow [Sat, 9 May 2009 20:30:22 +0000]
Add support for topological sorting (needed to order transactions)
J. Ali Harlow [Fri, 1 May 2009 15:48:47 +0000]
Add very basic support for removing packages
J. Ali Harlow [Fri, 1 May 2009 15:43:37 +0000]
Set RPM_INSTALL_PREFIX{n} environment variables for use in scripts
J. Ali Harlow [Wed, 29 Apr 2009 16:00:01 +0000]
Add support for preloading lua modules. This is useful both when
providing lua bindings to applications based on librazor and when
producing static binaries using librazor (where otherwise the lua
POSIX library would need to be included as an additional dynamic
object).
J. Ali Harlow [Wed, 22 Apr 2009 15:27:11 +0000]
Ensure ssize_t is declared before we use it
J. Ali Harlow [Wed, 22 Apr 2009 14:09:17 +0000]
Add support for named roots so that we can understand MS-Windows paths
such as c:/windows. Without this, the user always has to ensure they
are on the correct drive before running razor.
J. Ali Harlow [Fri, 17 Apr 2009 22:08:11 +0000]
Make 0 a valid hashtable value consistently (and 0xFFFFFFFF invalid).
J. Ali Harlow [Fri, 17 Apr 2009 20:09:55 +0000]
Add hashtable test to expose confusion as to whether 0 is a valid value or not
J. Ali Harlow [Thu, 12 Mar 2009 20:52:12 +0000]
Avoid use of legacy rpm library types
J. Ali Harlow [Thu, 12 Mar 2009 20:23:35 +0000]
Don't list libcurl as a requirement in the .pc file
since it's not needed by librazor.
J. Ali Harlow [Thu, 12 Mar 2009 20:22:52 +0000]
Generate dynamic library on MS-Windows
J. Ali Harlow [Sat, 14 Feb 2009 11:35:32 +0000]
Refactor run_script for improved readability
J. Ali Harlow [Thu, 5 Feb 2009 22:43:29 +0000]
Implement lua scripts with support for standard and posix libraries.
J. Ali Harlow [Thu, 22 Jan 2009 22:54:45 +0000]
Implement relocatations when installing rpms.
J. Ali Harlow [Wed, 14 Jan 2009 12:21:38 +0000]
Fix bug causing "razor remove" to quietly fail.
J. Ali Harlow [Wed, 14 Jan 2009 11:48:50 +0000]
Fix bug causing "razor list-files" to fail to see any files.
J. Ali Harlow [Wed, 14 Jan 2009 11:47:55 +0000]
Fix bug causing merger to place file names in the main string pool
rather than the files string pool.