Commit cced1da6 authored by Bernhard Link's avatar Bernhard Link

Only omit files marked as already processed.

parent c345199e
2005-04-11 Bernhard R. Link <brlink@debian.org>
2006-04-22 Bernhard R. Link <brlink@debian.org>
* explicitly save which files are already
processed and to be skipped by --skipold.
2006-04-11 Bernhard R. Link <brlink@debian.org>
* tell the user running gpg manually sometimes
resolves problems while calling it through libgpgme
does not help.
* add a WORKAROUND part to the manpage
2005-04-09 Bernhard R. Link <brlink@debian.org>
2006-04-09 Bernhard R. Link <brlink@debian.org>
* remove the woody reference in signature.c
2005-03-30 Bernhard R. Link <brlink@debian.org>
2006-03-30 Bernhard R. Link <brlink@debian.org>
* warn about architectures called 'all'
2005-02-25 Bernhard R. Link <brlink@debian.org>
2006-02-25 Bernhard R. Link <brlink@debian.org>
* add --ignore=missingfile to look for .orig.tar.gz
files of broken .changes (no -sa though needed) files
in the directory of the .changes file.
2005-02-20 Bernhard R. Link <brlink@debian.org>
2006-02-20 Bernhard R. Link <brlink@debian.org>
* add optional "NotAutomatic" field for the
distribution specification.
2005-02-10 Bernhard R. Link <brlink@debian.org>
2006-02-10 Bernhard R. Link <brlink@debian.org>
* add new --ignore=extension, without which
it refuses to 'include' files not ending in '.changes',
to 'include[u]deb' files not ending in '.[u]deb' or to
'includedsc' files not ending '.dsc'.
2005-01-21 Bernhard R. Link <brlink@debian.org>
2006-01-21 Bernhard R. Link <brlink@debian.org>
* fix typesetting error in ratpoison.1
and add an example for update's Config option.
* fix segfault of FD_ISSET(-1,&...) when
......
......@@ -6,8 +6,8 @@ bin_PROGRAMS = reprepro
AM_CPPFLAGS = -D_GNU_SOURCE=1 -Wall
reprepro_SOURCES = guesscomponent.c files.c md5.c md5sum.c dirs.c chunks.c reference.c packages.c binaries.c sources.c names.c dpkgversions.c release.c mprintf.c updates.c strlist.c signature.c distribution.c extractcontrol.c checkindeb.c checkindsc.c checkin.c copyfile.c upgradelist.c target.c aptmethod.c downloadcache.c main.c override.c terms.c ignore.c filterlist.c exports.c tracking.c optionsfile.c readrelease.c
noinst_HEADERS = guesscomponent.h md5.h md5sum.h dirs.h files.h chunks.h reference.h packages.h binaries.h sources.h names.h release.h error.h mprintf.h updates.h strlist.h signature.h distribution.h extractcontrol.h checkindeb.h checkindsc.h copyfile.h upgradelist.h target.h aptmethod.h downloadcache.h override.h terms.h ignore.h filterlist.h dpkgversions.h checkin.h exports.h globals.h tracking.h trackingt.h optionsfile.h readrelease.h
reprepro_SOURCES = guesscomponent.c files.c md5.c md5sum.c dirs.c chunks.c reference.c packages.c binaries.c sources.c names.c dpkgversions.c release.c mprintf.c updates.c strlist.c signature.c distribution.c extractcontrol.c checkindeb.c checkindsc.c checkin.c copyfile.c upgradelist.c target.c aptmethod.c downloadcache.c main.c override.c terms.c ignore.c filterlist.c exports.c tracking.c optionsfile.c readrelease.c donefile.c
noinst_HEADERS = guesscomponent.h md5.h md5sum.h dirs.h files.h chunks.h reference.h packages.h binaries.h sources.h names.h release.h error.h mprintf.h updates.h strlist.h signature.h distribution.h extractcontrol.h checkindeb.h checkindsc.h copyfile.h upgradelist.h target.h aptmethod.h downloadcache.h override.h terms.h ignore.h filterlist.h dpkgversions.h checkin.h exports.h globals.h tracking.h trackingt.h optionsfile.h readrelease.h donefile.h
MAINTAINERCLEANFILES = Makefile.in configure install-sh stamp-h.in aclocal.m4 config.h.in mkinstalldirs config.guess config.sub missing
......
reprepro (0.8.2-1) UNRELEASED; urgency=low
* install bash_completion script (Closes: #356340)
* add --ignore=missingfile (Closes: #357803)
-- Bernhard R. Link <brlink@debian.org> Sun, 26 Mar 2006 15:38:09 +0200
* install bash_completion script (Closes: 356340)
* patch release with some bugfixes
- add --ignore=missingfile (Closes: 357803)
- explicitly remember which list files were already
successfully processed for --skipold (Closes: 363411)
- some more warnings
-- Bernhard R. Link <brlink@debian.org> Sat, 22 Apr 2006 20:32:58 +0200
reprepro (0.8.1-1) unstable; urgency=low
......
......@@ -164,13 +164,11 @@ funny and support for passphrases with more than 8 characters depend on your lib
I suggest using gpg\-agent or something like that instead.
.TP
.B \-\-noskipold
When updating do not skip targets where no new index files are available.
Since version 0.8 reprepro by default skips update of targets where no
index file had to be downloaded as it was already there.
(Assuming that if the file is already there, everything is most likely already done.)
When updating do not skip targets where no new index files and no files
marked as already processed are available.
Thus if you only change an script to preprocess downloaded index files or
changed a Listfilter, you most likely want to add \-\-noskipold.
If you changed a script to preprocess downloaded index files or
changed a Listfilter, you most likely want to call reprepro with \-\-noskipold.
.SH COMMANDS
.TP
.BR export " [ " \fIcodenames\fP " ]"
......
/* This file is part of "reprepro"
* Copyright (C) 2006 Bernhard R. Link
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program 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 program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301 USA
*/
#include <config.h>
#include <assert.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <malloc.h>
#include <errno.h>
#include "donefile.h"
#include "names.h"
retvalue donefile_isold(const char *filename, const char *expected) {
char buffer[200];
size_t len;
ssize_t bytes;
int fd;
char *donefilename = calc_addsuffix(filename,"done");
if( donefilename == NULL )
return RET_ERROR_OOM;
fd = open(donefilename, O_RDONLY|O_NOCTTY|O_NOFOLLOW, 0666);
if( fd < 0 ) {
int e = errno;
if( e == EACCES || e == ENOENT ) {
free(donefilename);
return RET_OK;
}
fprintf(stderr, "Error opening file %s: %d=%s\n",
donefilename, e, strerror(e));
free(donefilename);
return RET_ERRNO(e);
}
len = 0;
while( len < 199 && (bytes=read(fd, buffer+len, 199-len)) > 0 ) {
len += bytes;
}
if( bytes > 0 ) {
fprintf(stderr, "Unexpected long file %s!\n", donefilename);
(void)close(fd);
free(donefilename);
return RET_ERROR;
} else if( bytes < 0 ) {
int e = errno;
fprintf(stderr, "Error reading file %s: %d=%s\n",
donefilename, e, strerror(e));
(void)close(fd);
free(donefilename);
return RET_ERRNO(e);
}
buffer[len] = '\0';
if( strcmp(expected, buffer) == 0 )
return RET_NOTHING;
else
return RET_OK;
}
retvalue donefile_create(const char *filename, const char *expected) {
size_t len;
ssize_t written;
int fd;
char *donefilename = calc_addsuffix(filename,"done");
if( donefilename == NULL )
return RET_ERROR_OOM;
fd = open(donefilename, O_WRONLY|O_CREAT|O_TRUNC|O_NOCTTY|O_NOFOLLOW,
0666);
if( fd < 0 ) {
int e = errno;
fprintf(stderr, "Error creating file %s: %d=%s\n",
donefilename, e, strerror(e));
free(donefilename);
return RET_ERRNO(e);
}
len = strlen(expected);
written = 0;
while( len > 0 && (written=write(fd, expected, len)) >= 0 ) {
expected += written;
assert( len >= (size_t)written );
len -= written;
}
if( written < 0 ) {
int e = errno;
fprintf(stderr, "Error writing into %s: %d=%s\n",
donefilename, e, strerror(e));
free(donefilename);
(void)close(fd);
return RET_ERRNO(e);
}
if( close(fd) != 0 ) {
int e = errno;
fprintf(stderr, "Error writing %s: %d=%s\n",
donefilename, e, strerror(e));
free(donefilename);
return RET_ERRNO(e);
}
free(donefilename);
return RET_OK;
}
void donefile_delete(const char *filename) {
char *donefilename = calc_addsuffix(filename,"done");
unlink(donefilename);
free(donefilename);
}
#ifndef REPREPRO_DONEFILE_H
#define REPREPRO_DONEFILE_H
#ifndef REPREPRO_ERROR_H
#include "error.h"
#endif
retvalue donefile_isold(const char *filename, const char *expected);
retvalue donefile_create(const char *filename, const char *md5sum);
void donefile_delete(const char *filename);
#endif
......@@ -30,7 +30,7 @@ else
REPREPRO="$SRCDIR/reprepro"
fi
TESTS="$SRCDIR/tests"
UPDATETYPE=iteratedupdate
UPDATETYPE=update
export PATH="$TESTS:$PATH"
if ! [ -x "$REPREPRO" ] ; then
echo "Could not find $REPREPRO!" >&2
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment