gnome-control-center/archiver/ChangeLog

432 lines
15 KiB
Text
Raw Normal View History

Use read rather than fread 2001-04-24 Bradford Hovinen <hovinen@ximian.com> * location.c (location_store): Use read rather than fread 2001-04-23 Bradford Hovinen <hovinen@ximian.com> * location.c (location_store): Block SIGPIPE (location_store): Fix off-by-one bug * archive.c (archive_get_current_location_id): Store a full snapshot of the system after the default location is created * location.c (run_backend_proc): Added parameter do_get to allow control of whether pipe is opened to read or write (store_snapshot_cb): Implement. Invokes the given backend with --get and stores the XML data (location_store_full_snapshot): Implement. Stores a complete snapshot with all backend data (subtract_xml_node): Assume all nodes are the same (location_store): Add string termination character (location_store): Only store data if any data were actually read 2001-04-22 Bradford Hovinen <hovinen@ximian.com> * config-log.c (config_log_iterate): Use the correct data pointer to pass to the callback * location.c (location_new): Save the metadata for the newly created location right away * util.h: Defined DEBUG_MSG macro for debugging messages * archive.c (archive_unregister_location): Don't remove the location from the tree if the object is marked destroyed 2001-04-21 Bradford Hovinen <hovinen@ximian.com> * archive.c (archive_destroy): Return if the archive was already destroyed * location.c (location_delete): Unregister the location before destroying it * config-log.c (config_log_delete): Set deleted flag (config_log_destroy): Only dump the log if the log is not marked deleted * location.c (location_delete): Check return value of rmdir * config-log.c (io_buffer_destroy): Call g_io_channel_close to close the GIOChannel (disconnect_socket): Force the removal of the source id from the main loop (config_log_destroy): Disconnect the socket after unloading, not before * location.c (location_delete): Remember to have a NULL at the end of arguments to g_strconcat () 2001-04-22 Bradford Hovinen <hovinen@ximian.com> * location-list.[ch]: Change to inherit GtkObject * location-manager-dialog.c (location_manager_dialog_destroy): Implement. Close and destroy all aggregated objects. (close_cb): Call gtk_object_destroy 2001-04-21 Bradford Hovinen <hovinen@ximian.com> * location-manager-dialog.c (delete_location_cb): Don't let the user delete the default location (delete_ok_cb): Add some sanity checks to make sure the current location is set to something new if we delete it * location-list.c (location_list_select): Implement. Selectes the given location in the location list * location-manager-dialog.c (delete_ok_cb): Use correct semantics for callback
2001-04-25 00:57:59 +00:00
2001-04-24 Bradford Hovinen <hovinen@ximian.com>
* location.c (location_store): Use read rather than fread
(location_add_backend):
(location_remove_backend): Save metadata immediately
Use read rather than fread 2001-04-24 Bradford Hovinen <hovinen@ximian.com> * location.c (location_store): Use read rather than fread 2001-04-23 Bradford Hovinen <hovinen@ximian.com> * location.c (location_store): Block SIGPIPE (location_store): Fix off-by-one bug * archive.c (archive_get_current_location_id): Store a full snapshot of the system after the default location is created * location.c (run_backend_proc): Added parameter do_get to allow control of whether pipe is opened to read or write (store_snapshot_cb): Implement. Invokes the given backend with --get and stores the XML data (location_store_full_snapshot): Implement. Stores a complete snapshot with all backend data (subtract_xml_node): Assume all nodes are the same (location_store): Add string termination character (location_store): Only store data if any data were actually read 2001-04-22 Bradford Hovinen <hovinen@ximian.com> * config-log.c (config_log_iterate): Use the correct data pointer to pass to the callback * location.c (location_new): Save the metadata for the newly created location right away * util.h: Defined DEBUG_MSG macro for debugging messages * archive.c (archive_unregister_location): Don't remove the location from the tree if the object is marked destroyed 2001-04-21 Bradford Hovinen <hovinen@ximian.com> * archive.c (archive_destroy): Return if the archive was already destroyed * location.c (location_delete): Unregister the location before destroying it * config-log.c (config_log_delete): Set deleted flag (config_log_destroy): Only dump the log if the log is not marked deleted * location.c (location_delete): Check return value of rmdir * config-log.c (io_buffer_destroy): Call g_io_channel_close to close the GIOChannel (disconnect_socket): Force the removal of the source id from the main loop (config_log_destroy): Disconnect the socket after unloading, not before * location.c (location_delete): Remember to have a NULL at the end of arguments to g_strconcat () 2001-04-22 Bradford Hovinen <hovinen@ximian.com> * location-list.[ch]: Change to inherit GtkObject * location-manager-dialog.c (location_manager_dialog_destroy): Implement. Close and destroy all aggregated objects. (close_cb): Call gtk_object_destroy 2001-04-21 Bradford Hovinen <hovinen@ximian.com> * location-manager-dialog.c (delete_location_cb): Don't let the user delete the default location (delete_ok_cb): Add some sanity checks to make sure the current location is set to something new if we delete it * location-list.c (location_list_select): Implement. Selectes the given location in the location list * location-manager-dialog.c (delete_ok_cb): Use correct semantics for callback
2001-04-25 00:57:59 +00:00
2001-04-23 Bradford Hovinen <hovinen@ximian.com>
* location.c (location_store): Block SIGPIPE
(location_store): Fix off-by-one bug
* archive.c (archive_get_current_location_id): Store a full
snapshot of the system after the default location is created
* location.c (run_backend_proc): Added parameter do_get to allow
control of whether pipe is opened to read or write
(store_snapshot_cb): Implement. Invokes the given backend with
--get and stores the XML data
(location_store_full_snapshot): Implement. Stores a complete
snapshot with all backend data
(subtract_xml_node): Assume all nodes are the same
(location_store): Add string termination character
(location_store): Only store data if any data were actually read
2001-04-22 Bradford Hovinen <hovinen@ximian.com>
* config-log.c (config_log_iterate): Use the correct data pointer
to pass to the callback
* location.c (location_new): Save the metadata for the newly
created location right away
* util.h: Defined DEBUG_MSG macro for debugging messages
* archive.c (archive_unregister_location): Don't remove the
location from the tree if the object is marked destroyed
2001-04-21 Bradford Hovinen <hovinen@ximian.com>
* archive.c (archive_destroy): Return if the archive was already
destroyed
* location.c (location_delete): Unregister the location before
destroying it
* config-log.c (config_log_delete): Set deleted flag
(config_log_destroy): Only dump the log if the log is not marked
deleted
* location.c (location_delete): Check return value of rmdir
* config-log.c (io_buffer_destroy): Call g_io_channel_close to
close the GIOChannel
(disconnect_socket): Force the removal of the source id from the
main loop
(config_log_destroy): Disconnect the socket after unloading, not
before
* location.c (location_delete): Remember to have a NULL at the end
of arguments to g_strconcat ()
Added InputBuffer, removed get_line (struct _Slave): (struct 2001-04-20 Bradford Hovinen <hovinen@ximian.com> * config-log.c: Added InputBuffer, removed get_line (struct _Slave): (struct _ConfigLogPrivate ): Replaced GIOChannel * and FILE * with InputBuffer *'s (input_buffer_new): Implement. Constructs a new input buffer (input_buffer_destroy): Implement. Destroys an input buffer and closes the file descriptor (input_buffer_cycle): Implement (borrowed from GDict). Reads additional data from the input file (input_buffer_read_line): Implement (borrowed from GDict). Reads a line from the input file and returns a pointer to it (input_buffer_write): Implement. Write the indicated string out to the channel 2001-04-15 Bradford Hovinen <hovinen@ximian.com> * config-log.c (config_log_set_arg): Create semaphore for auto-reloading (do_load): Removed locking code (load_log_entry): Support prepending log entries to the beginning of the log; free entry->date if parsing was unsuccessful (config_log_reset_filenames): Unlink socket filename if not owner (config_log_reset_filenames): Rebind socket when filename is reset (connect_socket): Implement. Creates or connects to the socket associated with the config log (check_socket_filename): Implement. Checks to see if the filename associated with the socket is in use. (bind_socket): Implement. Binds the socket to the filename. (socket_connect_cb): Implement. Callback issued when a master gets a new connection. (socket_data_cb): Implement. Callback issued when a slave gets data from the master. (slave_new): Implement. Creates a new slave structure (slave_destroy): Implement. Destroys a slave structure (slave_data_cb): Implement. Callback issued when data comes in from a slave (slave_broadcast_data): Implement. Broadcast the first log entry to all the slaves except the given one (disconnect_socket): Implement. Disconnects the socket (config_log_open): Call connect_socket (do_unload): Don't dump the log unless currently the socket owner (config_log_write_entry): Broadcast data to slaves or write data to socket, depending on whether currently the socket owner 2001-04-14 Bradford Hovinen <hovinen@ximian.com> * config-log.c (do_unload): Add a parameter write_log to tell whether to write out the log when unloading (config_log_finalize): Implement * config-log.[ch]: Put all data fields in ConfigLogPrivate structure * gui-backend-list.c (gui_backend_list_launch_current): Rewrite to use popen
2001-04-22 01:05:26 +00:00
2001-04-20 Bradford Hovinen <hovinen@ximian.com>
* config-log.c: Added InputBuffer, removed get_line
(struct _Slave):
(struct _ConfigLogPrivate ): Replaced GIOChannel * and FILE * with
InputBuffer *'s
(input_buffer_new): Implement. Constructs a new input buffer
(input_buffer_destroy): Implement. Destroys an input buffer and
closes the file descriptor
(input_buffer_cycle): Implement (borrowed from GDict). Reads
additional data from the input file
(input_buffer_read_line): Implement (borrowed from GDict). Reads a
line from the input file and returns a pointer to it
(input_buffer_write): Implement. Write the indicated string out to
the channel
2001-04-15 Bradford Hovinen <hovinen@ximian.com>
* config-log.c (config_log_set_arg): Create semaphore for
auto-reloading
(do_load): Removed locking code
(load_log_entry): Support prepending log entries to the beginning
of the log; free entry->date if parsing was unsuccessful
(config_log_reset_filenames): Unlink socket filename if not owner
(config_log_reset_filenames): Rebind socket when filename is reset
(connect_socket): Implement. Creates or connects to the socket
associated with the config log
(check_socket_filename): Implement. Checks to see if the filename
associated with the socket is in use.
(bind_socket): Implement. Binds the socket to the filename.
(socket_connect_cb): Implement. Callback issued when a master gets
a new connection.
(socket_data_cb): Implement. Callback issued when a slave gets
data from the master.
(slave_new): Implement. Creates a new slave structure
(slave_destroy): Implement. Destroys a slave structure
(slave_data_cb): Implement. Callback issued when data comes in
from a slave
(slave_broadcast_data): Implement. Broadcast the first log entry
to all the slaves except the given one
(disconnect_socket): Implement. Disconnects the socket
(config_log_open): Call connect_socket
(do_unload): Don't dump the log unless currently the socket owner
(config_log_write_entry): Broadcast data to slaves or write data
to socket, depending on whether currently the socket owner
2001-04-14 Bradford Hovinen <hovinen@ximian.com>
* config-log.c (do_unload): Add a parameter write_log to tell
whether to write out the log when unloading
(config_log_finalize): Implement
* config-log.[ch]: Put all data fields in ConfigLogPrivate
structure
2001-04-11 Bradford Hovinen <hovinen@ximian.com>
* location.c (run_backend_proc): Make sure to search location of
XST backends
* Makefile.am (INCLUDES): Added XST_BACKEND_LOCATION
* archive.c (archive_set_current_location_id): Don't use different
prefixes for per-user and global locations; we are assuming here
that the only person using this globally will be root anyway
(archive_get_current_location_id): Ditto
* Makefile.am (INCLUDES): Replace obsolete hcm directory names
with ximian-config
2001-02-20 Bradford Hovinen <hovinen@ximian.com>
* location.c (compare_xml_nodes): Use attr->val rather than
attr->node
Added test-1.sh and test-2.sh, the first two tests in the test suite 2001-02-19 Bradford Hovinen <hovinen@ximian.com> * Added test-1.sh and test-2.sh, the first two tests in the test suite * location.c (location_foreach_backend): Update to use BackendNote (do_rollback): Don't do rollback if the doc is NULL (location_store_xml): Return if this location does not contain the backend specified (location_store_xml): Use fprintf rather than g_warning (subtract_xml_node): (merge_xml_nodes): Update child node while iterating * config-log.c (config_log_get_rollback_ids_for_date): Remove * location.c (location_set_arg): ref inherited object * main.c (main): Don't check if the location is default; don't create default location if non-existant (main): Signal error if the user is adding a location and did not specify a name (main): Use fprintf to signal the error that a location could not be opened (main): Signal error and exit when archive cannot be opened, rather than using g_error (do_add_location): Check for NULL location_id (do_add_location): Create default location if it does not exist and it is specified as the parent * archive.c (archive_get_current_location_id): Create the default location if it does not exist * backend-list.c (backend_list_contains): Use strcmp and iterate through the list * location.c (location_contains): Read whether the backend is in the master list if this location is toplevel 2001-02-18 Bradford Hovinen <hovinen@ximian.com> * main.c (do_add_backend): Support ContainmentType specification (do_store): Support StoreType specification (struct store_options): Add set of options to support compare_parent, mask_previous, options (struct add_remove_backend_options): Add option for partial containment when adding backend * location.c (subtract_xml_node): (merge_xml_nodes): (compare_xml_nodes): (merge_xml_docs): (subtract_xml_doc): Implement. XML node compare/merging operations (location_store): Rewrite to call location_store_xml (location_store_xml): Include support for diffing with configuration data from parent config (location_dump_rollback_data): Rewrite to use location_load_rollback_data (dump_xml_data): Remove (do_rollback): Rewrite to use xmlDocDump; pass xmlDocPtr rather than id number (location_rollback_id): Add node merging support (location_rollback_backend_by): (location_rollback_backend_to): Rewrite to use location_load_rollback_data (location_rollback_backends_to): Rewrite to iterate through backend list and call location_rollback_backend_to for each element (location_rollback_all_to): Ditto 2001-02-14 Bradford Hovinen <hovinen@ximian.com> * location.h (_ContainmentType): Introduce. Specifies the type of containment (full, partial, none), of a backend in a location * location.c: Added struct BackendNote; have backend list include type of containment as well as backend id (location_contains): Use find_note (find_note): Implement. Finds a note for the given backend id in the backend list (backend_note_new): (backend_note_destroy): Implement. Convenience functions for creating and destroying backend notes (load_metadata_file): (write_metadata_file): Read/write type of backend containment (full or partial) (location_add_backend): Pass parameter telling whether containment is partial
2001-02-20 02:43:35 +00:00
2001-02-19 Bradford Hovinen <hovinen@ximian.com>
* location.c (location_foreach_backend): Update to use BackendNote
(do_rollback): Don't do rollback if the doc is NULL
(location_store_xml): Return if this location does not contain the
backend specified
(location_store_xml): Use fprintf rather than g_warning
(subtract_xml_node):
(merge_xml_nodes): Update child node while iterating
* config-log.c (config_log_get_rollback_ids_for_date): Remove
* location.c (location_set_arg): ref inherited object
* main.c (main): Don't check if the location is default; don't
create default location if non-existant
(main): Signal error if the user is adding a location and did not
specify a name
(main): Use fprintf to signal the error that a location could not
be opened
(main): Signal error and exit when archive cannot be opened,
rather than using g_error
(do_add_location): Check for NULL location_id
(do_add_location): Create default location if it does not exist
and it is specified as the parent
* archive.c (archive_get_current_location_id): Create the default
location if it does not exist
* backend-list.c (backend_list_contains): Use strcmp and iterate
through the list
* location.c (location_contains): Read whether the backend is in
the master list if this location is toplevel
2001-02-18 Bradford Hovinen <hovinen@ximian.com>
* main.c (do_add_backend): Support ContainmentType specification
(do_store): Support StoreType specification
(struct store_options): Add set of options to support
compare_parent, mask_previous, options
(struct add_remove_backend_options): Add option for partial
containment when adding backend
* location.c (subtract_xml_node):
(merge_xml_nodes):
(compare_xml_nodes):
(merge_xml_docs):
(subtract_xml_doc): Implement. XML node compare/merging operations
(location_store): Rewrite to call location_store_xml
(location_store_xml): Include support for diffing with
configuration data from parent config
(location_dump_rollback_data): Rewrite to use
location_load_rollback_data
(dump_xml_data): Remove
(do_rollback): Rewrite to use xmlDocDump; pass xmlDocPtr rather
than id number
(location_rollback_id): Add node merging support
(location_rollback_backend_by):
(location_rollback_backend_to): Rewrite to use
location_load_rollback_data
(location_rollback_backends_to): Rewrite to iterate through
backend list and call location_rollback_backend_to for each
element
(location_rollback_all_to): Ditto
2001-02-14 Bradford Hovinen <hovinen@ximian.com>
* location.h (_ContainmentType): Introduce. Specifies the type of
containment (full, partial, none), of a backend in a location
* location.c: Added struct BackendNote; have backend list include
type of containment as well as backend id
(location_contains): Use find_note
(find_note): Implement. Finds a note for the given backend id in
the backend list
(backend_note_new):
(backend_note_destroy): Implement. Convenience functions for
creating and destroying backend notes
(load_metadata_file):
(write_metadata_file): Read/write type of backend containment
(full or partial)
(location_add_backend): Pass parameter telling whether containment
is partial
2001-01-25 Bradford Hovinen <hovinen@ximian.com>
* config-log.c (get_current_date): Use local time rather than
Greenwich Mean Time
* location.c (location_store_xml): Implement; copy from
location_store
(location_store): Free filename after use
* archive.c (archive_load): Free prefix only if not global
* location.c (location_rollback_all_to): Increment array
* util.c (parse_date): Normalize values
2001-01-24 Bradford Hovinen <hovinen@ximian.com>
* config-log.c (do_load): Disabled locking for now
* archiver-spec: Added fine-grained location management description
2001-01-15 Bradford Hovinen <hovinen@ximian.com>
* Makefile.am: Added rule for ximian_archiverConf.sh; add
installation target for Conf.sh
2001-01-13 Bradford Hovinen <hovinen@ximian.com>
* Makefile.am: Replaced occurrences of helix with ximian
Removed references to ximian_config_manager
2000-12-22 Bradford Hovinen <hovinen@helixcode.com>
* archive.c (foreach_cb):
(archive_foreach_child_location): Use auxillary structure to pass
data to traversal callback
(archive_get_location):
(archive_register_location): strdup() location ids
(free_location_cb): free() key
2000-12-20 Bradford Hovinen <hovinen@helixcode.com>
* location.c (location_get_parent): Implement
* archive.c (load_all_locations): Implement
(foreach_cb):
(archive_foreach_child_location): Implement
2000-12-19 Bradford Hovinen <hovinen@helixcode.com>
* Makefile.am (bin_PROGRAMS): Changed name of archiver to
helix-archiver
(lib_LIBRARIES): Added libhelix_archiver.a
(helix_archiver_SOURCES): Moved archiver core to
libhelix_archiver_a_SOURCES
(helix_archiver_LDADD): Added libhelix_archiver.a
(INCLUDES): Changed XML_CFLAGS to GNOME_XML_CFLAGS
(include_HEADERS): Create and include headers for
libhelix_archiver.a
(includedir): Set includedire to include/helix-archiver
2000-12-18 Bradford Hovinen <hovinen@helixcode.com>
* main.c (do_rollback): Support rolling back by steps
* location.c (location_rollback_backend_by): Implement
(location_dump_rollback_data): Support passing steps as well as
date
* config-log.c (config_log_get_rollback_id_by_steps): Implement
* location.c (write_metadata_file): Don't support writing out the
master list any more
(save_metadata): Ditto
(load_metadata_file): Get backends list from BackendList object
(rather than finding it out oneself) if location is toplevel
(do_create): Ditto
(get_backends_cb): Implement
(location_add_backend): Add return values for error conditions
2000-10-15 Bradford Hovinen <hovinen@helixcode.com>
* location.c (location_rollback_backends_to): Free id_array when done
* config-log.c (config_log_reset_filenames): Implement
* archive.c (archive_set_current_location_id): Move gnome_config_
code from set_current_location
* location.c (location_set_id): Implement
* main.c (do_rename_location): Implement
* archive.c (free_location_cb): Don't free locid
(archive_get_location):
(archive_register_location): Don't strdup the location id
(archive_set_current_location_id): Implement
* main.c: Add options for renaming locations and specifying that
backends should be added to or removed from the master list
* location.c (run_backend_proc): Close all descriptors other than
0, 1, 2
(location_set_id): Implement
(location_set_arg): Free previous locid if exists
* archive.c (add_location_cb): Implement
(archive_set_current_location): Add location change algorithm
* location.c (location_find_path_from_common_parent): Implement
(location_foreach_backend): Implement
* archive.c (archive_set_current_location): Set
archive->current_location_id
* main.c (do_add_location): Check parent_str for NULL before
loading location
(do_change_location): Implement
(main): Support changing location
* archive.c (archive_register_location): Implement
* location.c (do_create):
(do_load): Use archive_get_prefix
(do_create): Load global location metadata if this location does
not inherit from anything
(location_get_id): Implement
* archive.c (archive_get_prefix): Implement
* location.c (location_get_path): Implement
(load_metadata_file): Use archive_is_global
(location_set_arg): Set label when setting locid
* location.[ch]: Make all data members private
* main.c (main): Get current location name properly, create
location iff location id is "default"; bail out with error otherwise
(do_remove_location):
(do_add_location): Implement
* config-log.c: Include ctype.h to fix implicit declarations
* location.c (location_rollback_backends_to): Property initialize i
(location_contains): Fix precondition checks
(do_create): Remove unused variables
* archive.c (archive_get_location): Make a copy of locid before
working with it
(do_load): Fix precondition checks
* location.c (location_open):
(location_new): Make locid const
* archive.c (archive_get_location): Make locid const
* location.c (data_delete_cb):
(location_delete): Implement
* config-log.c (config_log_iterate): Implement
(config_log_destroy): Make private, pass GtkObject
(config_log_delete): Implement
2000-10-14 Bradford Hovinen <hovinen@helixcode.com>
* location.c (location_close): Add precondition checks
* archive.c (archive_destroy): Make private; pass GtkObject
* location.c (location_add_backend):
(location_remove_backend): Add precondition checks
(location_destroy): Make private
(location_destroy): Pass GtkObject pointer rather than Location
pointer; this cleans up assignment in _class_init
* archive.c (archive_get_current_location_id): Implement
(archive_get_current_location): Implement
2000-09-03 Bradford Hovinen <hovinen@helixcode.com>
* location.c (location_new): Set is_new
(save_metadata): Don't write file unless necessary
(save_metadata):
(write_metadata_file): Split out file writing into
write_metadata_file; write default data file as necessary
(location_add_backend):
(location_remove_backend): Implement
* main.c: Add command line arguments for adding/removing locations
and backends; move backend id argument into global options
* location.c (do_load):
(load_metadata_file): Split out file parsing logic into
load_metadata_file; call load_metadata_file on default file to get
contains list if current location doesn't inherit anything
(load_metadata_file): g_strdup backend string
(load_metadata_file): Warn if top-level location has contains clauses
(location_store): Check if the location contains the given backend
and try the location it inherits if it doesn't
* archive.c (archive_load): Set is_global in archive object
* Makefile.am (Locationmeta{dir|_DATA}): Added commands to install
data files
(INCLUDES): Added define for LOCATION_DIR
2000-09-03 Bradford Hovinen <hovinen@helixcode.com>
* location.c (save_metadata): Write attributes when saving