Release 1.99.11 (Tue Mar 12 19:35:07 CET 2013) * paa: adding missing keywords to upgrades.sh * paa: split upgrade functions into a separate file * paa: fixed bug with accessing non matching repos Release 1.99.10 (Tue Mar 12 12:53:14 CET 2013) * paa: removed PAA104_relsymlinks_many as it just takes too long * paa: filtered variant test from PAA101_badrepocalls * paa: imported pull-progagation.dia used in wiki page ManagingSoftwareRepositoriesInProductionEnvironments * paa: updated man page Release 1.99.9 (Thu Mar 7 15:17:17 CET 2013) * paa: fixes to some sql - detected when trying to run ops on a real configuration with multiple repos * paa: added missing svn keywords and properties to recently added files * paa: exclude paa command from '--list-paths' check as, when paa reports the db and code schema conformancy levels, then it also moves $PAA_STATE_PREFIX/*.conf to /tmp. This is quite difficult to work around. * paa: added fast and early test that schema is loadable * paa: list* commands reverted to being verbose without -v * paa: interrupt test now does one chain but interrupts each command in it (this was not really feasible earlier because none of them worked properly but now they all do then it just takes too long to do it any other way * paa: db schema raised to 3 (added missing pid columns on files and controls table, removed pid and status from releases column, *_ts fields are now obligatory at all times, removed config_compiled_ts * paa: implemented interrupt processing for remaining functions * paa: UML diagrams upgraded to schema 3 * paa: included example cron and replaced apache config generator script with example apache config file * paa: minor corrections to get all tests passing * paa: more test and code fixes to do with indirects * paa: ongoing work on interrupts (pre-accesses) * paa: ongoing work on interrupts * paa: use of temporary table in editrepo to do a rollback spanning transactions * paa: freezes implemented in new way * paa: added interrupt/concurrency code for mirror and unmirror * paa: enhanced interrupt/concurrency tests and code: in progress (repo, unrepo, host, unhost working); schema bumped from 1 to 2 * paa: added draft test of interrupt handling * paa: in *repo functions add/display pid * paa: added schema versioning * paa: pid column to repos table (other tables will follow) * paa: updated TODO list for what needs to be completed for 1.99.9 and 1.99.10. * paa: minor updates to test reference files because of changed warning texts * paa: implemented different list* behaviour with and without -v * paa: added --force facility to control directive * paa: updated all example .conf files for use on pasta.net Release 1.99.8 (Sun Feb 10 19:35:50 CET 2013) * paa: added missing line in copy-and-paste error (resulting in freezing localpublic-deb also freezing centos!) * paa: updated old tests in accordance with recent code changes * paa: removed last references to paacrt * paa: symlink calculator now longer users IFS as this tripped an ADE standard test * paa: aligned config files from sources, gnocchi, sosinst * paa: added missing properties on tests * paa: added more tests (indirect symlinks, directive argument counts) * paa: symlinker code implemented in shell * paa: directive handlers check argument count * paa: added support for RPM-based apache config file writer etc-apache2-conf.d-paa and for restarting apache * paa: added more tests * paa: added triggers for early detection of illegal 'paa repo' parameters * paa: move to $TMP_DIR, don't delete, non-paa owned stufff in paa-managed directories * paa: standarised handling of skips in directives-all.sh; it's longer but its much easier to write, debug and understand * paa: standarised many sections of directive-handlers * paa: 'paa list*' is now very brief; 'paa -v list*' performs the old behaviour * paa: reviewed locking; long operations do not lock (well, 'lock' is really the wrong word, 'checkpointing' is more like it) * paa: check access to lsb_release before calling * paa: rpmmirror main function split for each protocol it handles and flags for each rsync/wget invocation aligned Release 1.99.6 (Tue Feb 5 09:01:31 CET 2013) * paa: calcuate relative symlinks from indirect_dir to freeze_dir * paa: split and deepened paacrt_dir_prefix into freeze_dir and indirect_dir * paa: renamed directs to indirects * paa: man page updates * paa: first draft of rpmmirror(1) man page * paa: first draft of updated paa(1) man page Release 1.99.4 (Sun Jan 27 18:42:12 CET 2013) * paa: fixed direct code handling 'NEWEST-FREEZE' * paa: updates to example conf files after problems on lenny and centos * paa: replaced recently introduced ${VAR,,} with call to ade_smf_lc() * paa: removed fedora.conf * paa: added missing properties to new files * paa: changed paacrt_url_prefix to url * paa: added support for non-paacrt-style repos, e.g. Debian security * paa: added example config file for Debian security * paa: write 'name' line into yum config files else yum warns * paa: updates to example autopaa.sh * paa: when determining a machine's release, use release codenames for debian (lsb_release -sc), which are more stable and use release numbers for redhat (lsb_release -sr) because codenames are broken on centos (which reports the codename as 'Final') * paa: pass the port to expand_layout * paa: aligned directives-deb.sh and directives-rpm.sh where possible * paa: rpmmirror.sh switched back to exclude lists than than include lists * paa: removed example fedora.conf and added centos.conf Release 1.99.3 (Tue Jan 22 21:40:30 CET 2013) * paa: updated Makefiles to install missing stuff * paa: install example files and moved paa.sql to include directory * paa: corrected the deletion of obsolete records in the 'controls' table (without which dpkg-scanpackages things the overrides file is corrupt) * paa: to rpmmirror.sh, added file:// support and corrected path trimming for http:// URLs * paa: force LC_ALL=C for all sorts in tests * paa: added svn properties and placeholders * paa: added 'TODO' file (which was missing last time) * paa: 'insert' and 'control' directives updated to fix bugs * paa: test updates * paa: devariant freeze output, which now reports freeze id and updated reference file * paa: renamed paa-tables.sql to paa.sql * paa: don't update mirrors in a transaction 'cos database locks out all other activities * paa: allow 'NEWEST-FREEZE' in directs * paa: control now reads repos, releases, ports and sections from a variable and uses 'read -u' to do it, this allows the gpg inside the loop to see the tty, which is a prerequisite for it working correctly * paa: dpkg-deb called only once to analyse debs; previously called three times and slow about it) * paa: gpg told to force local user name used to sign, and no longer must insist on agent running * paa: added the actual repo config files I'm using and started developing new wrapper script to create my repos * paa: added --delete to the rsync call in rpmmirror * paa: simplified usage message * paa: test load config files using bash, not sh * paa: further checks for redundant config directives * paa: tidied recent additions to the sql file * paa: removed 'paa host THIS-HOST' from tests as it presents too many variant factors; this also means that 'paa access ALL-REPOS' needed to be removed * paa: updated reference file for test after recent code updates * paa: corrected SQL selects for accesses and directs to take repos according to what is compatible with host, not with the distro repo that the host has installed. * paa: called launch_shell() in test pending fixing an outstanding issue * paa: comments and cosmetic changes in paa-tables.sql in order to describe an outstanding issue, which I will fix after next commit * paa: narrowed usage message to make it pass ade tests * paa: corrections to tests to make it work under lenny * paa: added options -v, -d, -n to rpmmirror and added support for http:// protocol * paa: more changes to get tests passing on lenny (making use of new functions in ade) * paa: to comply with ADE tests: minor text changes to standard options' output, added support for --version, --list-paths to rpmmirror * paa: in test: improved filtering, don't hardcode freeze ids, more stringent error detection in pipelines, updated ref file * paa: renamed some database attributes (and therefore variables in code too) * paa: derive freeze id from mirrored ts as YYYYMMDDHHMMSS. * paa: fixed some errors revealed by testing * paa: doc/Makefile now cleans * paa: updated diagram * paa: updated tests based on recent changes to code * paa: in unrepo() empty controls table * paa: updated access_*() functions * paa: deleted unused functions and renamed others * paa: updated rpmmirrors to refer to ports as ports, not archs * paa: 'real' variables used during config compilition now have 'REAL_' prefix to distinguish them * paa: script_ports renamed to script_archs (repos have ports but packages have archs) * paa: added example rpm config file * paa: insert coded and split into insert and control * paa: made layout release-specific (stored in releases table) * paa: better support for rpms in the template config file generator * paa: indentation corrections in SQL * paa: minor diagram updates and latest XCF version * paa: massive tidy up of variable names and declaration groupings * paa: ensure identical timestamp for quick operations * paa: renamed apache directive to share (apache_cidr becomes cidr) * paa: unrepo now reports name of directory to be manually deleted * paa: *access* now working * paa: UML diagram updated with accesses' primary key changes * paa: template comments updated * paa: deleted paa-data.sql as this is no longer sourced (there being so little static data that it is inserted from within paa-tables.sql) * paa: created triggers to block host and repo deletion when there is an access referencing them * paa: renamed repoconfigs table to extended (trying to use single plural words for table names) * paa: 'host' directive now demands pkgtype argument * paa: rewrote 'directs' and 'apaches' tables * paa: directives 'directs' and 'apaches' updated according to recent db changes * paa: UML diagram updated * paa: example config file for virtualbox provided * paa: aligned constraint names in paa-tables.sql * paa: added views for determining which repos a host may use * paa: split a svn-token-like error message over two lines to avoid 'svn co' from doing substitutions * paa: moved functions to more logical files * paa: recoded config compiler to use directives rather than variable assignments (this simplfies config syntax, but complicates code) * paa: ongoing update of paa-tables.sql * paa: rewrite following UML modelling: - dia diagram updated, principally to abstract minor tables - creation of repo tables updated * paa: major improvements in first test * paa: many small fixes to paa based on first test ('paa unrepo' cleans auxiliary repo table, debs and rpms tables, 'paa apache' creates state directory if non-existent, corrections to 'apache reload' code, strip trailing slash from $ROOTDIR everywhere makes it prettier if $ROOTDIR is /, * paa: added entity relationship diagram paa.dia * paa: further updates to the PAA100_listrepos test * paa: abstracted write tests to new functions * paa: added option '--rootdir=' to facilitate testing (where writing to /etc/apt or /etc/yum should not be done) * paa: added definitions of more releases and ports * paa: added small RPMs and DEBs to insert as part of the regression tests * paa: updated test PAA100_listrepos, which is slowly beginning to exercise all standard steps * paa: don't force use of gpg-agent (the tests don't use it) * paa: info messages mentioning names of inserted DEBs and RPMs strings full path * paa: more stringent checking that insertion stages (mkdir, cp) were successful * paa: corrected column name in a trigger called when inserting a deb * paa: added first test, removed requirement to set LAYOUT for local rpm repos (since layout is always /) * paa: init() code now small so moved to paa() * paa: don't blank date at start of repoedit() 'cos no edit results in date being reset to 1970 * paa: added editdb() function to edit the SQL database * paa: removed duplicated table definition and corrected name of repos table (these were on the fly changes not applied correctly in the SQL code) * paa/rpmmirror: create leading directories * paa: added support for rpms * paa: before init delete left over stuff from previous run * paa: extended compats regexp to support {*} * paa: more checks when inserting debs * paa: corrected table name in access function * paa: gave temp files edited during editrepo sessions a .sh suffix to help vim decide on syntax highlighting * paa: corrected rsync --chmod option * paa: tidied template config files * paa: further work on editrepo function, removed superfluous perm fix from freeze (as is now handled by rsync), much alignment of unmunging, first working version of insert function for debs, much work on standardising variable, table, column names is still needed! * paa: moved config file to a table cell * paa: added new 'editrepo' mode * paa: moved config compilation from start-time to post-edit-time * paa: moved three functions to ade * paa: use ade_pmf_coproc instead of bash's coproc (the latter doesn't work on bash 3) * paa: corresponding updates to the example autopaa scripts * paa: removed obsolete functions assign_var_from_{db,rc}_file * paa: implemented ade_pmf_coproc (process management function) and used it instead of bash's coproc command (which is not available in bash 3) - this created two functions that are candidate for being moved to ade) * paa: changed many calls to ade_msg_internal to be to ade_err_internal * paa: when creating views, specified column aliases (this is needed for compatibility with lenny's sqlite) * paa: updated the example client update script to configure access to the repos too * paa: checkpoint development (first successful run from end to end) * paa: added 'managed' column - part way through recoding to make use of it * paa: removed references to APACHE_CONF_DIR (this is now handled with $(paa-config paa_state_prefix)) * paa: beginnings of moving client/server roles to in the repos table * paa: added var directory (for test apache files, etc) * paa: added example script to create /etc/apache2/conf.d/paa * paa: removed some obsolete functions * paa: added missing Makefiles and updated usage message * paa: checkpoint development (all verbs except for insert work) * paa: checkpoint development (repo to freeze commands plus host command all work, remaining commands not tested) * paa: checkpoint development (many more tables as per advice from Daniel Brandt) * paa: checkpoint development (prior to addition of cpuarch->pkgarch mapping) * paa: checkpoint development ('paa {apache,unapache,listapaches}' now work * paa: checkpoint development ('paa direct ALL-REPOS ALL-HOSTS ' now honours CPU and release of each system) * paa: checkpoint development (directing recognises non-existent freezes) * paa: actions *{repo,mirror,freeze,direct}* all updated to use sqlite * paa: switch to using SQLite and coprocess to communicate with sqlite3 command * paa: beginnings of RPM support * paa: moved registration of application-specific to inside main() * paa: listrepos now orders list * paa: corrections to regexps integrity checking debs * paa: trap some hitherto untrapped errors (cp, gpg) * paa: added missing Makefile for include directory Release 1.0.8 (Tue Jan 17 12:06:59 CET 2012) * paa: removed obsolete doc/README.1ST and add setting of PAA_DOC_PREFIX (unrelated change) to paadevsh.sh Release 1.0.7 (Sun Dec 25 16:51:15 CET 2011) * paa: removed commented out code, fixed a couple of small bugs Release 1.0.6 (Sun Dec 25 14:28:27 CET 2011) * paa: improved listrepos output, test for lsb_release before calling it Release 1.0.5 (Sun Dec 25 13:09:34 CET 2011) * paa: correct listrepos output now some columns are not read from ~/.paa. Release 1.0.4 (Sat Dec 24 15:40:08 CET 2011) * paa: various small fixes Release 1.0.3 (Sat Dec 24 13:23:11 CET 2011) * paa: attempt to reduce what needs to be specified in the config file Release 1.0.2 (Fri Dec 23 19:59:47 CET 2011) * paa: shortened help messages in order to pass standard tests * paa: restored ability to specify repository on updatemirrors function * paa: partial ADE-ification * paa: first version of man page and many code changes to align with functionality described in man page, * paa: completed ADE-ification * paa: added svn properties Release 1.0.1 (Wed Dec 14 15:19:00 CET 2011) * paa: only write the newest version of each package into the generated Debian package index files (better would be the highest version but this is not so easy from sqlite) * paa: minor tweak to the expression used to select the newest packages Release 1 (Wed Dec 7 17:23:48 CET 2011) * paa: revived standalone svn repo and merged in latest version from mdi Release 0.1.4 (Mon Nov 15 11:40:45 CET 2010) * paa: shortened warning message Release 0.1.3 (Mon Nov 15 10:37:10 CET 2010) * paa: improved comments and warning in initialise function Release 0.1.2 (Mon Nov 15 07:30:18 CET 2010) * paa: corrected usage message for 'paa avail' * paa: split 'paa list' functions into list_short() and list_long() to remove need for MIRRORS_ROOT to be set for short listings Release 0.1.1 (Sun Nov 14 13:43:20 CET 2010) * paa: don't output the file:/// and the http:/// format for apt to use; only do one (this is due to that if the requested format is file:/// then that outputted *two* file:/// and pdi, which didn't want the file:/// one was grepping that - AND THE DESIRED ONE - away. paa: removed much commented out code Release 0.1 (Thu Jul 29 11:54:17 CEST 2010) * paa: delete stuff from ahtools which should not part of paa