razor2.git/.git
11 years agoAdd missing files
J. Ali Harlow [Fri, 17 Oct 2014 09:13:48 +0000]
Add missing files

11 years agoFix multiple memory allocation problems (found with valgrind)
J. Ali Harlow [Fri, 17 Oct 2014 09:10:57 +0000]
Fix multiple memory allocation problems (found with valgrind)

11 years agoAdd low-level dump command to aid debugging
J. Ali Harlow [Fri, 17 Oct 2014 09:08:28 +0000]
Add low-level dump command to aid debugging

11 years agoAdd facility to specify razor command when running tests.
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"

11 years agoSupport downloading from local repository even without libcurl
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).

11 years agoOnly export symbols starting with razor_ in dynamic library.
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.

11 years agoAdd INTLLIBS back into librazor_la_LIBADD and also into razor.pc
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.

11 years agoAdd RAZOR_HAVE_ATOMIC_ROLLBACK
J. Ali Harlow [Fri, 3 Oct 2014 11:26:22 +0000]
Add RAZOR_HAVE_ATOMIC_ROLLBACK

11 years agoFix make distcheck
J. Ali Harlow [Fri, 3 Oct 2014 11:24:10 +0000]
Fix make distcheck

11 years agorazor_atomic_create_dir() shouldn't set mode of existing directories
J. Ali Harlow [Tue, 30 Sep 2014 17:12:55 +0000]
razor_atomic_create_dir() shouldn't set mode of existing directories

11 years agoSetting toplevel from a non-existant path fails
J. Ali Harlow [Tue, 30 Sep 2014 15:19:55 +0000]
Setting toplevel from a non-existant path fails

11 years agoRemove prototype for long-removed razor_set_get_package
J. Ali Harlow [Thu, 11 Sep 2014 17:54:16 +0000]
Remove prototype for long-removed razor_set_get_package

11 years agoAdd error domains and codes
J. Ali Harlow [Tue, 9 Sep 2014 14:27:12 +0000]
Add error domains and codes

11 years agoAdd razor_transaction_unsatisfied()
J. Ali Harlow [Tue, 9 Sep 2014 14:04:24 +0000]
Add razor_transaction_unsatisfied()

11 years agoAdd control over database location
J. Ali Harlow [Mon, 8 Sep 2014 09:26:39 +0000]
Add control over database location

11 years agotestsuite portability fixes
J. Ali Harlow [Mon, 1 Sep 2014 11:19:32 +0000]
testsuite portability fixes

11 years agoUpdate libtool versioning in preparation for release
J. Ali Harlow [Sat, 23 Aug 2014 16:24:34 +0000]
Update libtool versioning in preparation for release

11 years agoFix compiler warnings
J. Ali Harlow [Sat, 23 Aug 2014 15:28:31 +0000]
Fix compiler warnings

11 years agoDrop drive letter from path to razor root when RAZOR_ROOT set.
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.

11 years agoRemove INTLLIBS from librazor_la_LIBADD.
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.

11 years agoAdd secondary text to errors
J. Ali Harlow [Wed, 20 Aug 2014 17:53:37 +0000]
Add secondary text to errors

11 years agoUpdate gnulib
J. Ali Harlow [Wed, 20 Aug 2014 17:46:38 +0000]
Update gnulib

11 years agoStart 0.5.7
J. Ali Harlow [Wed, 20 Aug 2014 17:30:09 +0000]
Start 0.5.7

14 years agoDon't assume the current directory is writable 0.5.6
J. Ali Harlow [Tue, 27 Mar 2012 20:32:46 +0000]
Don't assume the current directory is writable

14 years agoStart 0.5.6
J. Ali Harlow [Tue, 27 Mar 2012 20:29:53 +0000]
Start 0.5.6

14 years agoFix bug causing razor_transaction_resolve() to spin 0.5.5
J. Ali Harlow [Fri, 23 Mar 2012 20:24:09 +0000]
Fix bug causing razor_transaction_resolve() to spin

14 years agoStart 0.5.5
J. Ali Harlow [Fri, 23 Mar 2012 20:23:36 +0000]
Start 0.5.5

14 years agoRe-order and add missing LIBS for build against a static lua library 0.5.4
J. Ali Harlow [Mon, 20 Feb 2012 19:31:07 +0000]
Re-order and add missing LIBS for build against a static lua library

14 years agoLUA_CFLAGS & LUA_LIBS should override pkg-config, not be ignored.
J. Ali Harlow [Mon, 20 Feb 2012 19:30:23 +0000]
LUA_CFLAGS & LUA_LIBS should override pkg-config, not be ignored.

14 years agoOverload --disable-shared to also build static executables.
J. Ali Harlow [Mon, 20 Feb 2012 19:28:38 +0000]
Overload --disable-shared to also build static executables.

14 years agorazor_rpm_open() should take an error parameter, not an atomic
J. Ali Harlow [Fri, 17 Feb 2012 18:35:10 +0000]
razor_rpm_open() should take an error parameter, not an atomic

14 years agorazor_create_root() should take an error pointer
J. Ali Harlow [Thu, 16 Feb 2012 17:44:25 +0000]
razor_create_root() should take an error pointer

14 years agoAllow multiple atomic transactions to be used with one root object.
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.

14 years agoAdd an error object.
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.

14 years agoPass script failures up to caller
J. Ali Harlow [Sat, 11 Feb 2012 09:49:58 +0000]
Pass script failures up to caller

14 years agoFix object management in error paths
J. Ali Harlow [Sat, 11 Feb 2012 09:34:40 +0000]
Fix object management in error paths

14 years agoStart 0.5.4
J. Ali Harlow [Sat, 11 Feb 2012 09:30:23 +0000]
Start 0.5.4

14 years agoAdd transaction barriers 0.5.3
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.

14 years agoAdd deque_length()
J. Ali Harlow [Thu, 9 Feb 2012 20:43:58 +0000]
Add deque_length()

14 years agoEmulate atomic transactions
J. Ali Harlow [Thu, 9 Feb 2012 20:42:08 +0000]
Emulate atomic transactions

14 years agoAdd mkdtemp to gnulib modules used
J. Ali Harlow [Thu, 9 Feb 2012 20:15:00 +0000]
Add mkdtemp to gnulib modules used

14 years agoStart 0.5.3
J. Ali Harlow [Wed, 1 Feb 2012 13:00:40 +0000]
Start 0.5.3

14 years agoFix bug causing scripts to be run at the wrong time 0.5.2
J. Ali Harlow [Wed, 1 Feb 2012 12:49:13 +0000]
Fix bug causing scripts to be run at the wrong time

14 years agoFix bug causing writes to an unallocated buffer
J. Ali Harlow [Wed, 1 Feb 2012 12:47:50 +0000]
Fix bug causing writes to an unallocated buffer

14 years agoDon't test for installing a package twice
J. Ali Harlow [Wed, 1 Feb 2012 12:46:39 +0000]
Don't test for installing a package twice

14 years agoAvoid %{_libdir} in spec files for testing
J. Ali Harlow [Wed, 1 Feb 2012 12:46:06 +0000]
Avoid %{_libdir} in spec files for testing

14 years agoStart 0.5.2
J. Ali Harlow [Wed, 1 Feb 2012 12:44:16 +0000]
Start 0.5.2

14 years agoFix bugs causing arguments to not be passed to lua scripts 0.5.1
J. Ali Harlow [Fri, 27 Jan 2012 08:12:19 +0000]
Fix bugs causing arguments to not be passed to lua scripts

14 years agoStart 0.5.1
J. Ali Harlow [Fri, 27 Jan 2012 07:55:30 +0000]
Start 0.5.1

14 years agoUse Windows KTM (atomic transactions) where supported. 0.5
J. Ali Harlow [Thu, 10 Nov 2011 10:35:21 +0000]
Use Windows KTM (atomic transactions) where supported.
Increment current header version to 2

14 years agoUpdate gnulib 0.4.1
J. Ali Harlow [Thu, 25 Aug 2011 13:22:52 +0000]
Update gnulib

14 years agoMinGW runtime 3.15.2 doesn't define ESTALE or ETIMEDOUT
J. Ali Harlow [Wed, 24 Aug 2011 14:45:44 +0000]
MinGW runtime 3.15.2 doesn't define ESTALE or ETIMEDOUT

14 years agoUpdate gnulib
J. Ali Harlow [Wed, 24 Aug 2011 14:28:52 +0000]
Update gnulib

14 years agoUse INTLLIBS where appropriate
J. Ali Harlow [Wed, 24 Aug 2011 14:27:50 +0000]
Use INTLLIBS where appropriate

14 years agoStart 0.4.1
J. Ali Harlow [Wed, 24 Aug 2011 14:16:14 +0000]
Start 0.4.1

16 years agoTreat missing detail strings as empty 0.4
J. Ali Harlow [Mon, 26 Apr 2010 07:54:44 +0000]
Treat missing detail strings as empty

16 years agoFix bug causing detail strings to be lost
J. Ali Harlow [Fri, 23 Apr 2010 20:07:15 +0000]
Fix bug causing detail strings to be lost

16 years agoUpdate testsuite to work with rpm 4.7
J. Ali Harlow [Fri, 23 Apr 2010 18:14:17 +0000]
Update testsuite to work with rpm 4.7

16 years agoStart 0.4
J. Ali Harlow [Fri, 23 Apr 2010 18:04:43 +0000]
Start 0.4

16 years agoDon't touch v2+ rzdb files 0.3
J. Ali Harlow [Thu, 1 Oct 2009 18:35:56 +0000]
Don't touch v2+ rzdb files

16 years agoFix bug causing razor update foo to always install foo
J. Ali Harlow [Thu, 1 Oct 2009 17:58:55 +0000]
Fix bug causing razor update foo to always install foo

16 years agoImplement proper locking
J. Ali Harlow [Thu, 1 Oct 2009 17:51:02 +0000]
Implement proper locking

16 years agoFix bug causing multiple installs to abort
J. Ali Harlow [Tue, 29 Sep 2009 18:31:16 +0000]
Fix bug causing multiple installs to abort

16 years agoFix bug causing updates to fail on systems with multiple versions of a package installed
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

16 years agoStart 0.3
J. Ali Harlow [Mon, 28 Sep 2009 17:26:02 +0000]
Start 0.3

16 years agoFix bug causing remove to abort 0.2
J. Ali Harlow [Tue, 18 Aug 2009 13:04:11 +0000]
Fix bug causing remove to abort

16 years agoBasic support for update
J. Ali Harlow [Thu, 13 Aug 2009 06:14:51 +0000]
Basic support for update

16 years agoFix a bug causing libtool versioning to be ignored.
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.

16 years agoStart 0.2
J. Ali Harlow [Tue, 11 Aug 2009 11:53:16 +0000]
Start 0.2

16 years agoFix problems found by distcheck 0.1
J. Ali Harlow [Wed, 8 Jul 2009 23:01:18 +0000]
Fix problems found by distcheck

16 years agoFix bugs when removing files and directories
J. Ali Harlow [Wed, 8 Jul 2009 21:14:16 +0000]
Fix bugs when removing files and directories

16 years agoPass installation-count to scripts
J. Ali Harlow [Tue, 7 Jul 2009 21:50:22 +0000]
Pass installation-count to scripts

16 years agoSet RPM_INSTALL_PREFIX{n} in preun as well
J. Ali Harlow [Mon, 6 Jul 2009 17:19:13 +0000]
Set RPM_INSTALL_PREFIX{n} in preun as well

16 years agoFormally fork in preparation for release
J. Ali Harlow [Sat, 4 Jul 2009 10:11:59 +0000]
Formally fork in preparation for release

16 years agoGo back to having all info in one rzdb file.
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.

16 years agoSupport RPM_INSTALL_PREFIX{n} during uninstall
J. Ali Harlow [Fri, 3 Jul 2009 17:02:33 +0000]
Support RPM_INSTALL_PREFIX{n} during uninstall

16 years agoTest uninstall scripts survive merge
J. Ali Harlow [Thu, 2 Jul 2009 10:31:45 +0000]
Test uninstall scripts survive merge

16 years agoSupport empty scripts
J. Ali Harlow [Thu, 2 Jul 2009 10:31:03 +0000]
Support empty scripts

17 years agoAdd basic support for uninstall 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.

17 years agoAdd automatic provides for lua pre-loaded modules
J. Ali Harlow [Wed, 3 Jun 2009 07:26:09 +0000]
Add automatic provides for lua pre-loaded modules

17 years agoOrder the installation and removal of packages correctly so scripts can run
J. Ali Harlow [Thu, 14 May 2009 04:55:19 +0000]
Order the installation and removal of packages correctly so scripts can run

17 years agoTake advantage of gcc's builtin implementation of ffs under mingw
J. Ali Harlow [Thu, 14 May 2009 04:51:05 +0000]
Take advantage of gcc's builtin implementation of ffs under mingw

17 years agoFix documentation typo
J. Ali Harlow [Thu, 14 May 2009 04:50:37 +0000]
Fix documentation typo

17 years agoAdd support for topological sorting (needed to order transactions)
J. Ali Harlow [Sat, 9 May 2009 20:30:22 +0000]
Add support for topological sorting (needed to order transactions)

17 years agoAdd very basic support for removing packages
J. Ali Harlow [Fri, 1 May 2009 15:48:47 +0000]
Add very basic support for removing packages

17 years agoSet RPM_INSTALL_PREFIX{n} environment variables for use in scripts
J. Ali Harlow [Fri, 1 May 2009 15:43:37 +0000]
Set RPM_INSTALL_PREFIX{n} environment variables for use in scripts

17 years agoAdd support for preloading lua modules. This is useful both when
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).

17 years agoEnsure ssize_t is declared before we use it
J. Ali Harlow [Wed, 22 Apr 2009 15:27:11 +0000]
Ensure ssize_t is declared before we use it

17 years agoAdd support for named roots so that we can understand MS-Windows paths
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.

17 years agoMake 0 a valid hashtable value consistently (and 0xFFFFFFFF invalid).
J. Ali Harlow [Fri, 17 Apr 2009 22:08:11 +0000]
Make 0 a valid hashtable value consistently (and 0xFFFFFFFF invalid).

17 years agoAdd hashtable test to expose confusion as to whether 0 is a valid value or not
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

17 years agoAvoid use of legacy rpm library types
J. Ali Harlow [Thu, 12 Mar 2009 20:52:12 +0000]
Avoid use of legacy rpm library types

17 years agoDon't list libcurl as a requirement in the .pc file
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.

17 years agoGenerate dynamic library on MS-Windows
J. Ali Harlow [Thu, 12 Mar 2009 20:22:52 +0000]
Generate dynamic library on MS-Windows

17 years agoRefactor run_script for improved readability
J. Ali Harlow [Sat, 14 Feb 2009 11:35:32 +0000]
Refactor run_script for improved readability

17 years agoImplement lua scripts with support for standard and posix libraries.
J. Ali Harlow [Thu, 5 Feb 2009 22:43:29 +0000]
Implement lua scripts with support for standard and posix libraries.

17 years agoImplement relocatations when installing rpms.
J. Ali Harlow [Thu, 22 Jan 2009 22:54:45 +0000]
Implement relocatations when installing rpms.

17 years agoFix bug causing "razor remove" to quietly fail.
J. Ali Harlow [Wed, 14 Jan 2009 12:21:38 +0000]
Fix bug causing "razor remove" to quietly fail.

17 years agoFix bug causing "razor list-files" to fail to see any files.
J. Ali Harlow [Wed, 14 Jan 2009 11:48:50 +0000]
Fix bug causing "razor list-files" to fail to see any files.

17 years agoFix bug causing merger to place file names in the main string pool
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.