severity 372130 wishlist thanks Hi
On Fri, Jun 09, 2006 at 09:15:17AM +0200, Michael Hanke wrote: > On Thu, Jun 08, 2006 at 10:01:59PM +0200, Ola Lundqvist wrote: > <snip> > > > But running debarchiver seems to remove the source tarball after the > > > first > > > package is processed. > > > > If the etch upload remove the sarge version (or vice versa) that is a > > bug, however it depends on how your changes file look like. > No, the package is not removed from the archive but only the orig.tar.gz is > deleted from the incoming dir before the other package is processed by > debarchiver. The missing orig.tar.gz cause debarchiver to reject the other > package when it gets to it later. However, debarchiver does not check whether > the file exists, but fails because its owner does not match (I guess because > there is no owner of a non-existing file ;-). Aha! Now I understand what the problem is. Well ... this kind of behaviour is what you actually can expect. A check could be added for this but it is quite complicated. The problem is that you actually have overwritten a file during the upload which should not be done in the first place. I'm not sure how to avoid that though. I see what the problem is now and ... well it can be avoided, but it is not that simple. And there is a simple workaround. 1) Upload with more than 5 minutes interval. 2) Upload into the distinput dirs instead. In any case I made this as a wishlist bug and if someone can point me to a good solution or even provide a patch for it, than I'm more than happy. Regards, // Ola > <snip> > > > So here is my opinion how how it works, or at least how it > > should work. > > > > * Each directory under $rootdir/dists is a separate installation, and > > should be considered as different releases. > > * Directories under $rootdir/dists share no files, which means that in > > your case you should have two different source directories under > > dists > > $rootdir/dists/etch/source > > $rootdir/dists/sarge/source > > * When you upload etch package(s) you set the target to etch and > > thus it will be installed under the etch subdir. > > * When you upload sarge package(s) you set the target to sarge > > and thus it will be installed under the sarge subdir. > And that is exactly what happens. Each package uploaded separately > (meaning only one of the packages is in incoming when debarchiver is > invoked) is installed exactly as it should be. And yes, each > $rootdir/dists/* dir is completely independent and has its own source > dir. > > The problem only occurs if there are multiple packages in incoming that > share a common orig.tar.gz when debarchiver is invoked.. > > > > > What I expect is that you done something wrong when building the > > packages, so that it actually install it under wrong subdir, or > > there is a major bug in the package. > > > > I can not tell unless you give me the changes files, and give me a > > listing on where the files were sorted when added to the incoming > > directory. Your configuration file would help as well. > All files get installed in the proper directories if each package has > its own orig.tar.gz (different names) in incoming. If multiple packages > share an orig.tar.gz the first package still gets installed properly, > but all others are rejected (as described above). > > I attached a tarball of two backports of a small package (including > changes files and source tarball) that should cause the described behaviour, > as well as my debarchiver.conf. Please notice that the orig.tar.gz files > are identical. > > I would be interested if there is any possibility that a single upstream > version can result in different orig.tar.gz files for different dists. > IMHO this should not be (or even must not be). Even if repackaging the > orig.tar.gz is necessary it should always be identical for all dists. > Am I missing something? > > And please point me to the problem if there is something wrong with the > changes files. > > Thanks, > > Michael > > > -- > GPG key: 1024D/3144BE0F Michael Hanke > http://apsy.gse.uni-magdeburg.de/hanke > ICQ: 48230050 > # This is a sample configuration file. > $rootdir = "/home/hanke/public_html/archive"; > $destdir = "$rootdir/dists"; > $inputdir = "$rootdir/incoming"; > $copycmd = "cp -af"; > $movecmd = "mv"; > $rmcmd = "rm -f"; > $vrfycmd = "dscverify"; > $cinstall = "installed"; > $distinputcriteria = ".*\\.deb\$"; > $verifysignatures = 0; > > # This one is used for debarchives that matches distinput criteria. > %distinputdirs = > ( > stable => 'stable', > testing => 'testing', > unstable => 'unstable', > sarge => 'sarge', > etch => 'etch', > sid => 'sid', > breezy => 'breezy', > dapper => 'dapper' > ); > > # What distributions that should exist. > @distributions = ('stable', 'testing', 'unstable', 'breezy', 'dapper'); > > # Mapping of aliases. > # OBS! If you create a mapping that will only be created if you have > # added the key to @distributions above. If you want the symlink to be > created > # in a proper way you MUST add them at the same time. Else you will have > # two directories that is independent (and not mapped). > %distmapping = > ( > stable => 'sarge', > testing => 'etch', > unstable => 'sid' > ); > > # What architectures that should exist (automatically created). > # All and source will exist anyway. > @architectures = ('i386', 'ia64', 'powerpc', 'amd64'); > > # What sections that should exist. > @sections = ('main', 'contrib', 'non-free', 'fsl'); > > # What changes file fields that should be used for determine where to send > # mail. If there is an '@' character is found here it will be used directly > # without consulting the .changes-file. Default is to mail no one. If there > # is an '@' character in the beginning, the user owning the file will be > # prepended. > @mailtos = ('[EMAIL PROTECTED]'); > #, 'Uploaders', '@bar.com', '[EMAIL PROTECTED]'); > > # If you want additional information in the generated Release files you have > # to set this hash-value. Supported keys are origin, label, and description. > > %release = ( 'origin' => "apsy", > 'label' => "debian", > 'description' => "apsy.gse.uni-magdeburg.de Debian Archive of > perspective, inofficial and backported packages"); > > # Where to put the apt-ftparchive cache files if --index is used. Default > # is /var/cache/debarchiver. Must be a directory. > $cachedir = "$rootdir/../admin"; > > > # GnuPG key to use to sign the archive. > $gpgkey = "0x2649A5A9"; > > # File to provide password to GnuPG. > # If you use a key with an empty passphrase, set this variable to 0 or "". > # If the file does not exist, debarchiver will also fall back to "". > $gpgpassfile = ""; > -- --------------------- Ola Lundqvist --------------------------- / [EMAIL PROTECTED] Annebergsslingan 37 \ | [EMAIL PROTECTED] 654 65 KARLSTAD | | +46 (0)54-10 14 30 +46 (0)70-332 1551 | | http://www.opal.dhs.org UIN/icq: 4912500 | \ gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9 / --------------------------------------------------------------- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]