debian/0000755000000000000000000000000012224366537007200 5ustar debian/dh_pysupport0000755000000000000000000003031412224155705011660 0ustar #!/usr/bin/perl -w =head1 NAME dh_pysupport - use the python-support framework to handle Python modules =cut use strict; use File::Find; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] [-V I] [-X I [...]] [-n] [S>] =head1 DESCRIPTION dh_pysupport is a debhelper program that will scan your package, detect public modules in I and generate appropriate postinst/prerm scripts to byte-compile modules installed there for all available python versions. It will also look for private Python modules and will byte-compile them with the current Python version. You may have to list the directories containing private Python modules. If a file named I exists, it is installed in I. Appropriate dependencies on python-support, python and pythonI are put in ${python:Depends}. The ${python:Versions} and ${python:Provides} optional substitution variables are made available as well. =head1 OPTIONS =over 4 =item I If your package installs private python modules in non-standard directories, you can make dh_pysupport check those directories by passing their names on the command line. By default, it will check /usr/lib/$PACKAGE, /usr/share/$PACKAGE, /usr/lib/games/$PACKAGE and /usr/share/games/$PACKAGE =item B<-n>, B<--noscripts> Do not modify postinst/postrm scripts. =item B<-d> This option is deprecated. =item B<-V> I Force private modules to be bytecompiled with the specific I python version, regardless of the default python version on the system. =item B<-X> I, B<--exclude=>I Exclude files that contain "item" anywhere in their filename from being taken into account to generate the python dependency. You may use this option multiple times to build up a list of things to exclude. =back =head1 CONFORMS TO Python policy as of 2006-08-10 =cut init(); sub next_minor_version { my $version = shift; # Handles 2.10 -> 2.11 gracefully my @items = split(/\./, $version); $items[1] += 1; $version = join(".", @items); return $version; } sub specified_deps_in_package { my $package = shift; my $curpackage = 0; open (CONTROL, 'debian/control') || error("cannot read debian/control: $!\n"); while () { chomp; s/\s+$//; if (/^Package:\s*(.*)$/) { if ($package eq $1) { $curpackage = 1; } else { $curpackage = 0; } } if ($curpackage && /^Python-Depends:\s*(.*)$/) { return split ",",$1; } } return (); } sub trim { my $tmp = shift; $tmp =~ s/^\s+//; $tmp =~ s/\s+$//; return $tmp; } # The current default python version my $default=`readlink /usr/bin/python`; $default =~ s/^python//; chomp $default; # All supported versions my $allversions_string=`pysupport-parseversions --all`; chomp $allversions_string; my @allversions=split " ", $allversions_string; # Use a specific version for private modules (doesn't affect public modules) my $useversion; if($dh{V_FLAG_SET}) { $useversion = $dh{V_FLAG}; if (! grep { $_ eq $useversion } @allversions) { error("Unknown python version $useversion"); } } foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp = tmpdir($package); my $have_pydep=0; # This variable tells whether we have added some dependency # on python one way or another. my @specified_deps = specified_deps_in_package ($package); my $do_scripts = ""; # 1) Handle public python modules # Move them to the python-support directories doit (("pysupport-movemodules",$tmp)); # Then look for what the script found foreach my $ps_dir (glob("$tmp/usr/share/python-support/*")) { if (-d $ps_dir && ! excludefile($ps_dir)) { my $verfile = "debian/pyversions"; if (-f $verfile) { # TODO: debian/package.pyversions ? doit("install","-p","-m644",$verfile,"$ps_dir/.version"); } my $ext_dir=$ps_dir; $ext_dir =~ s,/usr/share/,/usr/lib/,; my $supported; if (-d $ext_dir) { if (-f "$ps_dir/.version") { # Just ignore the .version file when there are extensions. # The extensions dictate which versions to handle. doit(("rm","-f","$ps_dir/.version")); } my @provides; foreach my $pydir (glob("$ext_dir/python*")) { if (-d $pydir && $pydir =~ m/python(\d+).(\d+)/) { push @provides, "$1.$2"; } } my $a=join ",",@provides; error("$ext_dir doesn't contain modules for any supported python version") if (! $a); $supported=`echo $a | pysupport-parseversions --minmax`; } elsif (-f "$ps_dir/.version") { $supported=`pysupport-parseversions --minmax $ps_dir/.version`; } else { my $doko_versions=`pysupport-parseversions --raw --pycentral debian/control`; chomp $doko_versions; if ($doko_versions !~ /not found/) { print "Compatibility mode: using detected XS-Python-Version.\n"; complex_doit("echo $doko_versions > $ps_dir/.version"); $supported=`pysupport-parseversions --minmax --pycentral debian/control`; } else { $supported=`echo - | pysupport-parseversions --minmax`; } } # Add the packages explicitly asked by the maintainer foreach my $dep (@specified_deps) { $dep = trim $dep; addsubstvar($package, "python:Depends", $dep); } my @ar=split "\n",$supported; my @provides=split " ",$ar[0]; foreach my $pyversion (@provides) { # Generate the useless versions field addsubstvar($package, "python:Versions", $pyversion); # ... and the provides field if ($package =~ /^python-/) { my $virtual = $package; $virtual =~ s/^python-/python$pyversion-/; addsubstvar($package, "python:Provides", $virtual); } # Use the provides fields in packages dependended upon foreach my $dep (@specified_deps) { $dep = trim $dep; # I have no idea why this wouldn't be the case, but well if ($dep =~ /^python-(\S+)/) { addsubstvar($package, "python:Depends", "python$pyversion-$1"); } } } my @minmax=split " ",$ar[1]; my $minversion=$minmax[0]; if ( grep { $_ eq $default } @provides ) { # The default version is in the supported versions if ($minversion ne "None") { addsubstvar($package, "python:Depends", "python (>= $minversion)"); $have_pydep=1; } } elsif ($minversion ne "None") { # The default version is less than all supported versions addsubstvar($package, "python:Depends", "python (>= $minversion) | python$minversion"); $have_pydep=1; } else { error("The default python version is greater than all supported versions"); } my $maxversion=$minmax[1]; if ($maxversion ne "None") { $maxversion = next_minor_version($maxversion); addsubstvar($package, "python:Depends", "python (<< $maxversion)"); $have_pydep=1; } $ps_dir =~ s,^$tmp/usr/share/python-support/,,; $do_scripts = "$do_scripts $ps_dir"; } } # 2) Look for private python modules my @dirs = ("/usr/lib/$package", "/usr/share/$package", "/usr/lib/games/$package", "/usr/share/games/$package", @ARGV ); @dirs = grep -d, map "$tmp$_", @dirs; my @dirlist; my $need_pydep=0; my $strong_pydep=0; my %need_verdep = (); foreach (@allversions) { $need_verdep{$_} = 0; } if (@dirs) { foreach my $curdir (@dirs) { my $has_module = 0; my $has_extension = 0; find sub { return unless -f; return if excludefile($File::Find::name); if (/.py$/) { $has_module=1; doit(("rm","-f",$_."c",$_."o")); } if (/.so$/ && `nm -Du "$_" | grep "U Py_InitModule"` && ! `objdump -p "$_" | grep "NEEDED *libpython"`) { $has_extension=1; } }, $curdir ; if ( ($has_module or $has_extension) and not grep { $_ eq "$curdir" } @dirlist ) { if ( $useversion ) { # Create .pyversion to tell update-python-modules for which # version to compile open(VERFILE, "> $curdir/.pyversion") || error("Can't create $curdir/.pyversion: $!"); print VERFILE "$useversion\n"; close(VERFILE); $need_verdep{$useversion}=1; } else { $need_pydep=1; $strong_pydep=1 if $has_extension; } $curdir =~ s%^$tmp%%; push @dirlist, "$curdir" if $has_module; } } } if (@dirlist) { # We have private python modules # Use python-support to ensure that they are always # byte-compiled for the current version mkdir("$tmp/usr/share/python-support"); open(DIRLIST, "> $tmp/usr/share/python-support/$package.dirs") || error("Can't create $tmp/usr/share/python-support/$package.dirs: $!"); print DIRLIST map "$_\n", @dirlist; close(DIRLIST); $do_scripts = "$do_scripts $package.dirs"; } # 3) Add python-support dependency depending on what we found if (-d "$tmp/usr/share/python-support") { # Namespace packages were introduced in 0.7.1 addsubstvar($package, "python:Depends", "python-support (>= 0.7.1)"); } # 4) Look for python scripts find sub { return unless -f and -x; return if excludefile($File::Find::name); local *F; return unless open F, $_; if (read F, local $_, 32 and m%^#!\s*/usr/bin/(env\s+)?(python(\d+\.\d+)?)\s%) { if ( "python" eq $2 ) { $need_pydep=1; } elsif (defined $need_verdep{$3}) { $need_verdep{$3}=1; } } close F; }, $tmp; # 5) Generate remaining dependencies foreach (@allversions) { if ($need_verdep{$_}) { addsubstvar($package, "python:Depends", "python$_"); } } if (not $have_pydep) { if ($strong_pydep) { addsubstvar($package, "python:Depends", "python (>= $default)"); my $maxversion = next_minor_version($default); addsubstvar($package, "python:Depends", "python (<< $maxversion)"); $have_pydep=1; } elsif ($need_pydep and -f "debian/pyversions") { my $supported=`pysupport-parseversions --minmax debian/pyversions`; my @ar=split "\n",$supported; my @minmax=split " ",$ar[1]; my $minversion=$minmax[0]; if ($minversion ne "None") { addsubstvar($package, "python:Depends", "python (>= $minversion)"); $have_pydep=1; } my $maxversion=$minmax[1]; if ($maxversion ne "None") { $maxversion = next_minor_version($maxversion); addsubstvar($package, "python:Depends", "python (<< $maxversion)"); $have_pydep=1; } } } # If nothing has added a python dependency yet, add it if ($need_pydep and not $have_pydep) { addsubstvar($package, "python:Depends", "python"); } # 6) Generate the scripts if ($do_scripts && ! $dh{NOSCRIPTS}) { autoscript($package, "postinst", "postinst-python-support", "s,#ARGS#,$do_scripts,"); autoscript($package, "prerm", "prerm-python-support", "s,#ARGS#,$do_scripts,"); } } =head1 SEE ALSO L This program is a part of python-support but is made to work with debhelper. =head1 AUTHORS Josselin Mouette , Raphael Hertzog =cut debian/watch0000644000000000000000000000013412224155705010220 0ustar version=3 http://code.google.com/p/nsscache/downloads/list .*/nsscache-(.*)\.tar\.gz debian debian/dirs0000644000000000000000000000003212224155705010050 0ustar usr/sbin var/lib/nsscache debian/compat0000644000000000000000000000000212224155705010367 0ustar 7 debian/nsscache.manpages0000644000000000000000000000003312224155705012471 0ustar nsscache.1 nsscache.conf.5 debian/copyright0000644000000000000000000000173612224155705011133 0ustar This package was debianized by Jamie Wilkinson on Mon, 19 Mar 2007 09:54:10 +1000. Copyright: Copyright 2007-2011 Google, Inc. License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. debian/README.Debian0000644000000000000000000000116412224155705011234 0ustar README.Debian for nsscache ========================== To complete installation of nsscache: * Configure /etc/nsscache.conf A basic configuration is given. You will want to modify the LDAP base as appropriate for your site. * Run `nsscache update' once. The map caches will be built per the configuration. * Reconfigure /etc/nsswitch.conf for your new maps. Append `db' to each of the maps you are configured for. E.g.: passwd = files db shadow = files db group = files db Replace `ldap' if you are no longer using that map (recommended). -- Jamie Wilkinson , 2007-04-02 debian/examples0000644000000000000000000000003412224155705010727 0ustar nsscache.conf nsscache.cron debian/pyversions0000644000000000000000000000000512224155705011330 0ustar 2.4- debian/source/0000755000000000000000000000000012224375333010472 5ustar debian/source/options0000644000000000000000000000016712224375333012114 0ustar # Ignore files not included in release tarball. extend-diff-ignore = "(^|/)(MANIFEST(\.in)?|rpm/.*|dist/.*|build/.*)$" debian/source/format0000644000000000000000000000001412224155705011677 0ustar 3.0 (quilt) debian/nsscache.cron0000644000000000000000000000054412224155705011646 0ustar # /etc/cron.d/nsscache: crontab entries for the nsscache package SHELL=/bin/sh PATH=/usr/bin MAILTO=root # update the cache 15 minutely %MINUTE15%/15 * * * * root /usr/bin/nsscache update # perform a full update once a day, at a time chosen during package # configuration (between 2AM and 5AM) %MINUTE% %HOUR% * * * root /usr/bin/nsscache update --full debian/links0000644000000000000000000000006012224237237010231 0ustar /usr/share/nsscache/nsscache /usr/sbin/nsscache debian/changelog0000644000000000000000000004576312224366535011067 0ustar nsscache (0.23-2) unstable; urgency=low * Refactor debian/rules to install into /usr/share/nsscache. -- Jamie Wilkinson Mon, 07 Oct 2013 09:52:13 +1100 nsscache (0.23-1) unstable; urgency=low * New upstream release. -- Jamie Wilkinson Sun, 06 Oct 2013 14:43:12 +1100 nsscache (0.22-1) unstable; urgency=low * New upstream release. * Bump standards version. -- Jamie Wilkinson Tue, 30 Jul 2013 11:00:45 +0000 nsscache (0.21.19-1) unstable; urgency=low * New upstream release. * Bump standards version. -- Jamie Wilkinson Mon, 14 Jan 2013 22:23:44 +0000 nsscache (0.21.18-2) unstable; urgency=low * Fix unmanaged files in tarball, by adding to debian/source/options. (Closes: #643227) -- Jamie Wilkinson Mon, 07 Jan 2013 09:56:48 +0000 nsscache (0.21.18-1) unstable; urgency=low * New upstream release. -- Jamie Wilkinson Sun, 06 Jan 2013 18:52:48 +1100 nsscache (0.21.17-2) unstable; urgency=low * Delete debugging print. -- Jamie Wilkinson Fri, 10 Feb 2012 10:45:42 +1100 nsscache (0.21.17-1) unstable; urgency=low * New upstream release. * Clean up temp directories on error. * Port unit tests to use python-mox instead of pmock. -- Jamie Wilkinson Fri, 10 Feb 2012 10:10:42 +1100 nsscache (0.21.16-0gg2) lucid; urgency=low * Fix subprocess communication with getent so that nsscache -v verify works again. -- Joel Sing Wed, 05 Oct 2011 18:21:06 +1100 nsscache (0.21.16-0gg1) unstable; urgency=low * If a zsync fetch fails against the local cache, fall back to a full fetch via zsync. -- Joel Sing Wed, 08 Jun 2011 17:04:17 +1000 nsscache (0.21.15-0gg1) unstable; urgency=low * Create indexes for the latest libnss-cache. * Add python-mox to the build dependencies. -- Jamie Wilkinson Mon, 16 May 2011 16:44:51 +1000 nsscache (0.21.14-0gg2) unstable; urgency=low * Add a postinst that will clear out accidental nsscache turds from /etc. -- Jamie Wilkinson Mon, 09 May 2011 16:24:44 +1000 nsscache (0.21.14-0gg1) unstable; urgency=low * New upstream release. * Raise InvalidMap if the zsync decompress fails. * Handle EmptyMap before trying to gpg decrypt the result. * Handle missing and multiple signatures from pyme without crashing. * Catch InvalidMap in the command object. -- Jamie Wilkinson Thu, 05 May 2011 14:46:23 +1000 nsscache (0.21.13-0gg1) unstable; urgency=low * New upstream release. * No longer falls back to pycurl to retrieve a full file if zsync fetches fail. -- Jamie Wilkinson Mon, 02 May 2011 14:35:13 +1000 nsscache (0.21.12-0gg2) unstable; urgency=low * Fix package dependencies on pycurl and python-ldap. -- Jamie Wilkinson Thu, 28 Apr 2011 10:11:19 +1000 nsscache (0.21.12-0gg1) unstable; urgency=low * If a timestamp stored locally is more than an hour in the future, ignore it and use 'now'. -- Jamie Wilkinson Thu, 10 Mar 2011 10:21:32 -0800 nsscache (0.21.11-0gg1) unstable; urgency=low * Fix the unit tests for full updates, and make the handling of the --force-write flag act as documented. * Update the test runner to show log output if --verbosity is enabled. -- Jamie Wilkinson Tue, 08 Mar 2011 17:25:43 -0800 nsscache (0.21.10-0gg1) unstable; urgency=low * New upstream release. * Handle relative paths in the config when creating temporary directories. -- Jamie Wilkinson Wed, 09 Feb 2011 20:34:36 -0800 nsscache (0.21.9-0gg1) unstable; urgency=low * New upstream release. * Fix bugs in the ldapsource module introduced by changing the timestamp type from an int to a time.struct_time. -- Jamie Wilkinson Mon, 07 Feb 2011 21:24:41 -0800 nsscache (0.21.8-0gg1) unstable; urgency=low * New upstream release. * Update the status output to be flexible, adding --template and --automount-template options. -- Jamie Wilkinson Tue, 01 Feb 2011 23:52:08 -0800 nsscache (0.21.7-0gg1) unstable; urgency=low * New upstream release. * Improve logging around adding to an automount map. * Ignore elements of automount master that we can't parse, instead of crashing. * Rename automount_info to automount_mountpoint for clarity. * Work around a bug in bdb-4.8 that doesn't like writing to a zero-length file, instead we create a security hole race condition on the tempfile we want it to write to. Oh well, if you use bdb for nss caching then you are going to suffer many more problems than just this one. * Drop python2.3 and lower support by insisting on the set() type, and using subprocess instead of popen*. -- Jamie Wilkinson Mon, 31 Jan 2011 13:57:19 -0800 nsscache (0.21.6-0gg1) unstable; urgency=low * New upstream release. * Don't retrieve the auto.master file from the zsync source if zsync_local_automount_master is set to yes. * Fix a crash caused by bad code clagging between update/files.py and update/maps.py. -- Jamie Wilkinson Fri, 28 Jan 2011 17:58:07 -0800 nsscache (0.21.5-0gg1) unstable; urgency=low * New upstream release. * Change the log message formatting depending on where the logs go, adding timestamp, level, and source location when on the console, and removing everything but the level and message when going to syslog. * Actually sort netgroup membership. * Create temp files in the same directory as the destination, as cross-filesystem renames aren't atomic. * Create a temporary directory in the target directory, and chdir into it, in case a zsync source is used; zsync's librcksum creates its temporary files in the cwd, and sometimes doesn't clean up after itself. * Fix printing of timestamps in nsscache status output. * Don't abort on EmptyMap errors, continue onto the next map. -- Jamie Wilkinson Fri, 28 Jan 2011 14:04:01 -0800 nsscache (0.21.4-0gg2) unstable; urgency=low * Put nsscache back in /usr/bin -- Michael Haro Fri, 28 Jan 2011 04:44:34 -0800 nsscache (0.21.4-0gg1) unstable; urgency=low * New upstream release. * Sort netgroup membership. * Log the time it takes to perform a whole run. * Factor out the updater factory method from app.py. * Don't quit the updater if one map fails, wait for all maps to finish processing before exiting. * Add the pid, module, and function name to the syslog format string. -- Jamie Wilkinson Wed, 26 Jan 2011 15:57:50 -0800 nsscache (0.21.3-0gg1) unstable; urgency=low * New upstream release. -- Jamie Wilkinson Tue, 25 Jan 2011 23:32:39 -0800 nsscache (0.21.2-0gg2) unstable; urgency=low * Reduce the size of netgroup files by half for ldap servers that use memberNisNetgroup attributes like they use nisNetgroupTriple; they're both just text fields so easy to do it incorrectly; use a set instead of a list to remove duplicates. * Convert timestamp handling to use time.struct_time instead of epoch timestamps, the former lets us control the timezone of the timestamp correctly. -- Jamie Wilkinson Tue, 25 Jan 2011 23:11:22 -0800 nsscache (0.21.2-0gg1) unstable; urgency=low * New upstream version. -- Jamie Wilkinson Tue, 25 Jan 2011 16:45:15 -0800 nsscache (0.21.1-0gg1) unstable; urgency=low * Bump version number in nss_cache/__init__.py so that the code knows what version it's running. -- Jamie Wilkinson Tue, 25 Jan 2011 15:01:09 -0800 nsscache (0.21-1) unstable; urgency=low * Include exit code in Exiting message -- Michael Haro Mon, 17 Jan 2011 22:07:46 -0800 nsscache (0.20-1) unstable; urgency=low * Do all work in a tempdir that we clean up on a normal exit. -- David MacKinnon Fri, 14 Jan 2011 12:24:55 +1100 nsscache (0.19-2) unstable; urgency=low * Initial upload to Debian. (Closes: #609625) -- Jamie Wilkinson Tue, 11 Jan 2011 00:24:54 +0000 nsscache (0.19-1) unstable; urgency=low * Allow a 206 response code when fetching the GPG signature. -- David MacKinnon Fri, 19 Nov 2010 11:32:13 +1100 nsscache (0.18-1) unstable; urgency=low * Remove the norange_conn. A range of 0- rather than blank will do the job. -- David MacKinnon Thu, 18 Nov 2010 13:22:27 +1100 nsscache (0.17-2) unstable; urgency=low * Bugfix for zsyncsource.Verify() -- David MacKinnon Mon, 08 Nov 2010 10:31:49 +1100 nsscache (0.16-1) unstable; urgency=low * Change behaviour when fetching full files. Use a separate connection that doesn't have the range header set at all. -- David MacKinnon Wed, 03 Nov 2010 17:29:30 +1100 nsscache (0.15-1) unstable; urgency=low * Add Verify() to the zsync source. -- David MacKinnon Thu, 26 Aug 2010 16:01:25 +1000 nsscache (0.14-1) unstable; urgency=low * Treat non-existent file maps as empty. -- David MacKinnon Thu, 15 Jul 2010 14:32:51 +1000 nsscache (0.13-1) unstable; urgency=low * Fix some errors in the GPG handling in zsyncsource.py -- David MacKinnon Mon, 12 Jul 2010 16:29:02 +1000 nsscache (0.12-3) unstable; urgency=low * Create /var/lib/nsscache -- David MacKinnon Tue, 11 May 2010 12:17:21 +1000 nsscache (0.12-2) unstable; urgency=low * Remove unit tests and test runner from package -- David MacKinnon Fri, 23 Apr 2010 13:19:36 +1000 nsscache (0.12-1) unstable; urgency=low * Add support for GPG signed files to the zsyncsource -- David MacKinnon Tue, 30 Mar 2010 15:21:03 +1100 nsscache (0.11-1) unstable; urgency=low * Add the zsync source * Added file based Updater classes -- David MacKinnon Thu, 25 Mar 2010 15:51:44 +1100 nsscache (0.10-1) unstable; urgency=low * Add support for netgroups and automounts to the HTTP file source. -- David MacKinnon Thu, 18 Feb 2010 12:51:07 +1100 nsscache (0.9-4) unstable; urgency=low * Install into /usr/bin instead of /usr/local/bin -- Andrew Pollock Fri, 19 Mar 2010 15:18:39 -0700 nsscache (0.9-3) unstable; urgency=low * Minor packaging changes for lucid -- David MacKinnon Mon, 15 Mar 2010 16:32:38 +1100 nsscache (0.9-2) unstable; urgency=low * Fix setup.py to include the new util package. -- David MacKinnon Wed, 17 Feb 2010 14:44:19 +1100 nsscache (0.9-1) unstable; urgency=low * Add a HTTPSource. This only supports the passwd/shadow/group maps for now, and adds a pycurl dependency. The long term plan is to support zsync. -- David MacKinnon Mon, 14 Dec 2009 12:52:16 +1100 nsscache (0.8.8-1) unstable; urgency=low * gracefully handle a missing auto.master when using the local automount master map -- issues a warning and skips auto.* updates. -- V Hoffman Tue, 23 Jun 2009 15:52:05 -0700 nsscache (0.8.7-2) unstable; urgency=low * Explicit dependency on python2.4 instead of using ${python:Depends} as we call python2.4 as the interpreter in /usr/bin/nsscache. -- Jamie Wilkinson Tue, 10 Mar 2009 15:21:21 +1100 nsscache (0.8.7-1) unstable; urgency=low * Handle comments in map files. * Stop FileCache.Write() from closing the cache file * Handle closed cache files more gracefully in _Commit() -- David MacKinnon Thu, 26 Feb 2009 14:01:43 +1100 nsscache (0.8.6-1) unstable; urgency=low * Worked around set(), subprocess, ConfigParser, and logging to allow nsscache to run on python2.3 systems. (code.google.com issue #15) * Call flush after write and fsync before close on timestamps and temporary files to ensure data is committed to disk before renaming to overwrite old data, reducing chance of data loss. -- Jamie Wilkinson Thu, 29 Jan 2009 13:16:00 +1100 nsscache (0.8.5-1) unstable; urgency=low * add local_automaster flag to the automount section of the files backend, to allow for local control over which automount masters are enabled and updated * fix files backend to not write extra whitespace with empty automount options, and to properly parse extra whitespace on read -- V Hoffman Wed, 19 Nov 2008 16:24:58 +0900 nsscache (0.8.4-1) unstable; urgency=low * some style cleanups as I encountered them * fixed timezone dependancy in unit test -- V Hoffman Wed, 12 Nov 2008 18:08:59 +0900 nsscache (0.8.3-1) unstable; urgency=low * New upstream version - Uses posix exit codes. (jaq) -- Jamie Wilkinson Mon, 11 Aug 2008 12:41:33 +1000 nsscache (0.8.2-1) unstable; urgency=low * nsscache instantiation no longer fails if syslog's /dev/log cannot be accessed. -- Matt T. Proud Thu, 31 Jul 2008 09:25:40 -0700 nsscache (0.8.1-2) unstable; urgency=low * rebuild for hardy under a new package number -- V Hoffman Wed, 30 Jul 2008 17:20:08 -0700 nsscache (0.8.1-1) unstable; urgency=low * New upstream version - netgroup entries use str instead of list for speed and memory benefits -- V Hoffman Mon, 28 Jul 2008 20:15:54 -0700 nsscache (0.8.0-1) unstable; urgency=low * New upstream version - automount support - fixed bug where we keep re-merging on incremental updates sometimes -- V Hoffman Wed, 11 Jun 2008 22:01:33 -0700 nsscache (0.7.4-1) unstable; urgency=low * New upstream version - netgroup verify generates an info notice not a warning -- V Hoffman Thu, 10 Apr 2008 17:33:18 -0700 nsscache (0.7.3-1) unstable; urgency=low * New upstream version. - verify command now recognizes when modules use libnss-cache and when they do not. - Add patch from 'pingu' that synchronises crypted userPassword in the shadow map if available. -- V Hoffman Tue, 8 Apr 2008 17:55:09 -0700 nsscache (0.7.2-1) unstable; urgency=low * New upstream version. - __slots__ used to reduce memory footprint for large maps. - Write() made destructive to reduce memory footprint for large maps. - MapEntry classes no longer use internal dict()s, to reduce memory waste. - Removed unecessary attribute validation in MapEntry classes for speed. - Removed unused methods from the Map API, e.g. Remove() and UpdateKey(). -- V Hoffman Wed, 26 Mar 2008 14:01:10 -0700 nsscache (0.7.1-1) unstable; urgency=low * New upstream version. - 'verify' command works with non-nssdb backends. - error messages do not print 'None' instead of the nsswitch.conf location. - Fix issue #1 from code.google.com where cache_map was referenced before use. -- Jamie Wilkinson Mon, 3 Mar 2008 14:03:41 +1100 nsscache (0.7-1) unstable; urgency=low * New upstream version. - 'files' backend has netgroup support - incremental updates run faster when there are no updates - ldapsource module no longer pulls old data on incremental updates - modify-timestamp updates properly on incremental updates -- V Hoffman Wed, 14 Nov 2007 09:56:09 -0800 nsscache (0.6-1) unstable; urgency=low * New upstream version. - 'files' backend for passwd, group, and shadow. - Fixed rollback errors that left temporary files around. - Temporary files now prefixed with 'nsscache' for identification. - Numerous bugfixes and cleanups. - nsscache is now GPL'd. - Added a nsscache.conf.5 manpage with content. * Add libnss-cache as a dependency, OR'd with libnss-db. * Downgrade Recommends libdb4.3 to Suggests now that we also have a files backend and libdb is no longer required for successful operation. * Do not install the cron fragment, but instead package it as an example only. -- Jamie Wilkinson Tue, 9 Oct 2007 13:53:39 +1000 nsscache (0.5-2) unstable; urgency=low * Change dependency on libdb to Recommends. (jaq) -- Jamie Wilkinson Tue, 17 Jul 2007 14:14:08 +1000 nsscache (0.5-1) unstable; urgency=low * New upstream version. - Lazy-load the cache contents on demand, so that checking the status doesn't take large amounts of time. (jaq) - Add retry-on-connect to LdapSource. (vasilios) - Fail gracefully if the LdapSource source is unreachable. (vasilios) - Strip quotes from configuration values. (jaq) - Cast configuration options to floats if possible. (vasilios) - Clean up temp files if we abort before committing the cache file. (jaq) - Improve status reporting for monitoring. (jaq) * Depends on patched libdb to fix memory leak. (vasilios) -- Jamie Wilkinson Mon, 25 Jun 2007 16:51:50 -0700 nsscache (0.4-1) unstable; urgency=low * New upstream version. -- Jamie Wilkinson Mon, 4 Jun 2007 16:51:50 -0700 nsscache (0.3.1-1) unstable; urgency=low * New upstream release. * Cleaned up debian/rules. -- Jamie Wilkinson Fri, 18 May 2007 11:52:26 +1000 nsscache (0.3-1) unstable; urgency=low * New upstream version. * Install manpages nsscache.1 and nsscache.conf.5. -- Jamie Wilkinson Wed, 16 May 2007 11:17:01 +1000 nsscache (0.2-2) unstable; urgency=low * Altered cron job edit to not set the 15 minutely job at an initial offset greater than 15 minutes. -- Jamie Wilkinson Thu, 10 May 2007 14:22:09 +1000 nsscache (0.2-1) unstable; urgency=low * New upstream version. * Change command for full daily update as it is supported by nsscache directly now. * Set full daily update run time to a random offset between 2AM and 5AM in postinst. * Make the cron fragment an example file, and only copy it over if it doesn't exist. This is done to satisfy Debian Policy which states that a maintainer script must not alter a conffile otherwise the user would be pestered about changes every time a package upgrades. * Delete the generated cron fragment at package purge time. * Updated debian/rules to clean source on debian clean target. -- Jamie Wilkinson Tue, 8 May 2007 19:13:20 +1000 nsscache (0.1-2) unstable; urgency=low * Fix logging error causing incremental updates to fail. -- Jamie Wilkinson Mon, 16 Apr 2007 16:42:56 +1000 nsscache (0.1-1) unstable; urgency=low * Rename of upstream. - Provide, replace, and conflict with lofsync. * Remove conflicts on nscd. -- Jamie Wilkinson Mon, 5 Feb 2007 16:05:28 +1100 lofsync (0.1-1) unstable; urgency=low * Initial debian packaging -- Iustin Pop Tue, 8 Aug 2006 17:09:49 +0200 debian/rules0000755000000000000000000000116612224365772010264 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 %: dh $@ override_dh_auto_install: dh_auto_install -- --install-scripts=/usr/share/nsscache --root=debian/nsscache --install-layout=deb --install-lib=/usr/share/nsscache override_dh_auto_build: debian/control0000644000000000000000000000177712224236752010612 0ustar Source: nsscache Section: admin Priority: optional Maintainer: Jamie Wilkinson Build-Depends: debhelper (>= 7.0.50), python (>= 2.4), python-support, python-pycurl, python-ldap, python-mox Standards-Version: 3.9.4 Homepage: http://code.google.com/p/nsscache Package: nsscache Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python-pycurl, python-ldap Recommends: libnss-cache | libnss-db Suggests: python-zsync, python-pyme Description: asynchronously synchronise local NSS databases with remote directory services Synchronises local NSS caches, such as those served by the libnss-cache module, against remote directory services, such as LDAP, or prebuild cache files from an HTTP server. This can be used alongside the libnss-cache package to keep user account information, groups, netgroups, and automounts up to date. . Use of nsscache and libnss-cache eliminates the need for using a cache daemon such as nscd with networked NSS modules such as libnss-ldap.