FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor


 
 
LinkBack Thread Tools
 
Old 03-25-2011, 08:38 PM
Emilio Pozuelo Monfort
 
Default ddebs

On 25/03/11 18:22, Torsten Werner wrote:
> are there any example packages that build ddebs? That we can use for
> testing dak?

It should happen automatically if you patch debhelper (and CDBS to automatically
get .ddebs out of CDBS-using packages) with my patches. I have just refreshed my
debhelper patch so it applies cleanly again, and I've tested it.

What you need:

ptools (for build-id support, should be easy to remove that part from my patch,
see the pbuildid call in dh_strip). I've put it in [1].

Apply the attached patch to debhelper (applies cleanly on debhelper 8.1.2).

Install the resulting debhelper and build any package that
- produces at least one arch:any package
- doesn't have a -dbg package

E.g. I've tested it with gzip. Just dpkg-buildpackage it with the new debhelper
installed and you'll get:

[...]
dpkg-deb: building package `gzip-ddeb' in `../gzip-ddeb_1.3.12-9_amd64.ddeb'.

$ dpkg --contents gzip-ddeb_1.3.12-9_amd64.ddeb
drwxr-xr-x root/root 0 2011-03-25 21:21 ./
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/share/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/share/doc/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/share/doc/gzip-ddeb/
-rw-r--r-- root/root 24028 2007-04-13 22:41
./usr/share/doc/gzip-ddeb/changelog.gz
-rw-r--r-- root/root 1101 2011-03-25 20:54 ./usr/share/doc/gzip-ddeb/copyright
-rw-r--r-- root/root 6637 2011-03-25 20:54
./usr/share/doc/gzip-ddeb/changelog.Debian.gz
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/lib/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/lib/debug/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root 0 2011-03-25 21:21 ./usr/lib/debug/.build-id/93/
-rw-r--r-- root/root 151197 2011-03-25 21:21
./usr/lib/debug/.build-id/93/6c3dda20627d866fd42cb8a7b05247d7707367.debug

FWIW, build-id and .ddebs don't need to be done at the same time. The only
problem with build-id is that we could get file conflicts if two packages have
*exactly* the same ELF binary. May happen if you build two flavours of the same
package and one binary isn't affected by the different build flags / options. We
could solve this by making dpkg not complain if this happens, ref-counting the
files so it doesn't remove it until all the packages that shipped that file are
removed. Note that this is hypothetical, and if it happened, it would be the
exception.

Also see http://wiki.debian.org/AutomaticDebugPackages

Let me know if you any questions.

Cheers,
Emilio

[1] http://people.debian.org/~pochu/ptools/ptools_0.1-1.dsc
diff -Nru debhelper-8.1.2/debian/changelog debhelper-8.1.2+nmu1/debian/changelog
--- debhelper-8.1.2/debian/changelog 2011-02-14 18:22:19.000000000 +0000
+++ debhelper-8.1.2+nmu1/debian/changelog 2011-03-25 20:52:21.000000000 +0000
@@ -1,3 +1,10 @@
+debhelper (8.1.2+nmu1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Add ddebs support.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Fri, 25 Mar 2011 20:52:10 +0000
+
debhelper (8.1.2) unstable; urgency=low

* Fix logging at end of an override target that never actually runs
diff -Nru debhelper-8.1.2/debian/control debhelper-8.1.2+nmu1/debian/control
--- debhelper-8.1.2/debian/control 2011-02-10 23:51:37.000000000 +0000
+++ debhelper-8.1.2+nmu1/debian/control 2011-03-25 20:50:47.000000000 +0000
@@ -10,7 +10,7 @@

Package: debhelper
Architecture: all
-Depends: ${perlepends}, ${miscepends}, perl-base (>= 5.10), file (>= 3.23), dpkg-dev (>= 1.14.19), html2text, binutils, po-debconf, man-db (>= 2.5.1-1)
+Depends: ${perlepends}, ${miscepends}, perl-base (>= 5.10), file (>= 3.23), dpkg-dev (>= 1.14.19), html2text, binutils, po-debconf, man-db (>= 2.5.1-1), ptools
Suggests: dh-make
Conflicts: dpkg-cross (<< 1.18), python-support (<< 0.5.3), python-central (<< 0.5.6)
Description: helper programs for debian/rules
diff -Nru debhelper-8.1.2/Debian/Debhelper/Dh_Lib.pm debhelper-8.1.2+nmu1/Debian/Debhelper/Dh_Lib.pm
--- debhelper-8.1.2/Debian/Debhelper/Dh_Lib.pm 2011-02-10 23:53:58.000000000 +0000
+++ debhelper-8.1.2+nmu1/Debian/Debhelper/Dh_Lib.pm 2011-03-25 20:50:12.000000000 +0000
@@ -18,7 +18,8 @@
&inhibit_log &load_log &write_log &commit_override_log
&dpkg_architecture_value &sourcepackage
&is_make_jobserver_unavailable &clean_jobserver_makeflags
- &cross_command);
+ &cross_command &is_ddeb &ddeb_filename &ddeb_in_control
+ &ddeb_is_empty &ddebpackage);

my $max_compat=8;

@@ -749,6 +750,9 @@
my $package="";
my $arch="";
my $package_type;
+ my $has_arch_dep=0;
+ my $has_ddeb_pkg=0;
+ my $has_dbg_pkg=0;
my @list=();
my %seen;
open (CONTROL, 'debian/control') ||
@@ -756,6 +760,12 @@
while (<CONTROL>) {
chomp;
s/s+$//;
+ if (/^Maintainer:s*(.*)/) {
+ $dh{MAINTAINER}=$1;
+ }
+ if (/^Homepage:s*(.*)/) {
+ $dh{HOMEPAGE}=$1;
+ }
if (/^Package:s*(.*)/) {
$package=$1;
# Detect duplicate package names in the same control file.
@@ -786,6 +796,9 @@
($arch ne 'all' &&
samearch(buildarch(), $arch)))) ||
! $type)) {
+ $has_arch_dep=1 unless $arch eq 'all';
+ $has_ddeb_pkg=1 if $package=~/-ddeb$/;
+ $has_dbg_pkg=1 if $package=~/-dbg$/;
push @list, $package;
$package="";
$arch="";
@@ -794,6 +807,9 @@
}
close CONTROL;

+ # If there are arch dependent packages in the list, add the -ddeb
+ push @list, ddebpackage() if $has_arch_dep and not ($has_dbg_pkg or $has_ddeb_pkg);
+
return @list;
}

@@ -830,6 +846,42 @@
return "${package}_${version}_$filearch.udeb";
}

+# Returns true if a given package is a ddeb.
+sub is_ddeb {
+ my $package=shift;
+
+ return $package eq ddebpackage();
+}
+
+# Generates the filename that is used for a ddeb package.
+sub ddeb_filename {
+ isnative(sourcepackage()); # To get the version
+ my $version=$dh{VERSION};
+ $version=~s/^[0-9]+://; # strip any epoch
+ return ddebpackage()."_${version}_".buildarch().".ddeb";
+}
+
+# Returns the ddeb package name
+sub ddebpackage {
+ return sourcepackage()."-ddeb";
+}
+
+# Returns whether the ddeb package is listed in the control file.
+sub ddeb_in_control {
+ my $package=shift;
+
+ return exists $package_types{$package};
+}
+
+# Returns whether the ddeb folder is empty (excluding docs)
+sub ddeb_is_empty {
+ my $tmp="debian/".ddebpackage();
+ my $files=`find $tmp -type f ! ( -regex '$tmp/usr/share/doc.*' -or -regex '$tmp/DEBIAN/.*' )`;
+ chomp $files;
+
+ return $files eq "";
+}
+
# Handles #DEBHELPER# substitution in a script; also can generate a new
# script from scratch if none exists but there is a .debhelper file for it.
sub debhelper_script_subst {
diff -Nru debhelper-8.1.2/dh_auto_install debhelper-8.1.2+nmu1/dh_auto_install
--- debhelper-8.1.2/dh_auto_install 2011-02-08 19:25:35.000000000 +0000
+++ debhelper-8.1.2+nmu1/dh_auto_install 2011-03-25 20:50:18.000000000 +0000
@@ -71,7 +71,7 @@
# If destdir is not specified, determine it automatically
if (!$destdir) {
my @allpackages=getpackages();
- if (@allpackages > 1) {
+ if (@allpackages > 2 or (@allpackages > 1 and ! $allpackages[1] =~ /-ddeb$/)) {
$destdir="debian/tmp";
}
else {
diff -Nru debhelper-8.1.2/dh_builddeb debhelper-8.1.2+nmu1/dh_builddeb
--- debhelper-8.1.2/dh_builddeb 2011-02-08 19:25:35.000000000 +0000
+++ debhelper-8.1.2+nmu1/dh_builddeb 2011-03-25 20:50:18.000000000 +0000
@@ -76,16 +76,20 @@
foreach split(":", $ENV{DH_ALWAYS_EXCLUDE});
}
}
- if (! is_udeb($package)) {
- doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$dh{FILENAME});
- }
- else {
- my $filename=$dh{FILENAME};
+
+ my $filename=$dh{FILENAME};
+ if (is_udeb($package)) {
if (! $filename) {
$filename="/".udeb_filename($package);
}
- doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$filename);
}
+ elsif (is_ddeb($package)) {
+ next if ddeb_is_empty();
+ if (! $filename) {
+ $filename="/".ddeb_filename();
+ }
+ }
+ doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$filename);
}

=head1 SEE ALSO
diff -Nru debhelper-8.1.2/dh_gencontrol debhelper-8.1.2+nmu1/dh_gencontrol
--- debhelper-8.1.2/dh_gencontrol 2011-02-08 19:25:35.000000000 +0000
+++ debhelper-8.1.2+nmu1/dh_gencontrol 2011-03-25 20:50:18.000000000 +0000
@@ -66,11 +66,64 @@

# Generate and install control file.
my @command="dpkg-gencontrol";
- if (getpackages() > 1) {
- push @command, "-p$package";
+ push @command, "-p$package";
+ push @command, "-l$changelog";
+ push @command, "-P$tmp";
+ push @command, "-T$substvars";
+
+ if (is_ddeb($package)) {
+ push @command, "-n".ddeb_filename();
+ }
+
+ if (is_ddeb($package) && ! ddeb_in_control($package)) {
+ next if ddeb_is_empty();
+
+ # If the ddeb appears in the control file, we let the
+ # packager override our defaults there.
+ my $arch=package_arch($package);
+ my $srcpackage=sourcepackage();
+
+ my $depends="";
+ foreach my $pkg (getpackages("same")) {
+ if ($pkg ne $package) {
+ addsubstvar($package,"ddeb:Conflicts","$pkg","<< ${binary:Version}");
+ addsubstvar($package,"ddeb:Conflicts","$pkg",">> ${binary:Version}");
+ $depends="$depends | $pkg (= ${binary:Version})";
+ }
+ }
+ $depends=~s/^ | //;
+ addsubstvar($package,"ddebepends","$depends","") ;
+
+ my $description=""debug package for $srcpackage
+ This package contains debugging symbols for the binary packages
+ generated from the $srcpackage package."";
+
+ push @command, "-c-"; # Input from stdin
+ push @command, "-DArchitecture=$arch";
+ push @command, "-DSection=debug";
+ push @command, "-DPriority=extra";
+ push @command, "-DDepends=${ddebepends}";
+ push @command, "-DRecommends=${ddeb:Recommends}";
+ push @command, "-DSuggests=${ddeb:Suggests}";
+ push @command, "-DReplaces=${ddeb:Replaces}";
+ push @command, "-DConflicts=${ddeb:Conflicts}";
+ push @command, "-DProvides=${ddeb:Provides}";
+ push @command, "-DDescription=$description";
+
+ # FIXME: get rid of this stdin hack when #535355 is fixed
+ my $homepage="Homepage: $dh{HOMEPAGE}" if defined $dh{HOMEPAGE};
+ my $control=
+"Source: $srcpackage
+Maintainer: $dh{MAINTAINER}
+$homepage
+
+Package: $package";
+
+ complex_doit("printf "$control" | ", @command, @{$dh{U_PARAMS}});
+ }
+ else {
+ doit(@command, @{$dh{U_PARAMS}});
}
- doit(@command, "-l$changelog", "-T$substvars",
- "-P$tmp",@{$dh{U_PARAMS}});

# This chmod is only necessary if the user sets the umask to
# something odd.
diff -Nru debhelper-8.1.2/dh_strip debhelper-8.1.2+nmu1/dh_strip
--- debhelper-8.1.2/dh_strip 2011-02-08 19:32:07.000000000 +0000
+++ debhelper-8.1.2+nmu1/dh_strip 2011-03-25 20:50:18.000000000 +0000
@@ -161,7 +161,23 @@
return unless get_file_type($file) =~ /not stripped/;

my ($base_file)=$file=~/^Q$tmpE(.*)/;
- my $debug_path=$desttmp."/usr/lib/debug/".$base_file;
+ my $debug_path;
+
+ my $build_id=`pbuildid $file 2>/dev/null | cut -d' ' -f2`;
+ chomp $build_id;
+ if ($desttmp =~ /-ddeb$/) {
+ if ($build_id) {
+ $build_id=~s/^(..)/$1//;
+ $debug_path=$desttmp."/usr/lib/debug/.build-id/".$build_id.".debug";
+ }
+ else {
+ return;
+ }
+ }
+ else {
+ $debug_path=$desttmp."/usr/lib/debug/".$base_file;
+ }
+
my $debug_dir=dirname($debug_path);
if (! -d $debug_dir) {
doit("install", "-d", $debug_dir);
@@ -195,6 +211,11 @@
}
$debugtmp=tmpdir($debugpackage);
}
+ else {
+ # No --dbg-package specified, create a ddeb package
+ $keep_debug=1;
+ $debugtmp="debian/".ddebpackage();
+ }
}
else {
if (ref $dh{DEBUGPACKAGES} && grep { $_ eq $package } @{$dh{DEBUGPACKAGES}}) {
@@ -212,14 +233,14 @@
# *must* inclde the --strip-unneeded.
doit($strip,"--remove-section=.comment",
"--remove-section=.note","--strip-unneeded",$_);
- attach_debug($_, $debug_path) if defined $debug_path;
+ attach_debug($_, $debug_path) if defined $debug_path and ! $debugtmp=~/-ddeb$/;
}

foreach (@executables) {
my $debug_path = make_debug($_, $tmp, $debugtmp) if $keep_debug;
doit($strip,"--remove-section=.comment",
"--remove-section=.note",$_);
- attach_debug($_, $debug_path) if defined $debug_path;
+ attach_debug($_, $debug_path) if defined $debug_path and ! $debugtmp=~/-ddeb$/;
}

foreach (@static_libs) {
 
Old 03-25-2011, 08:46 PM
Torsten Werner
 
Default ddebs

Thanks for the explaination.

On Fri, Mar 25, 2011 at 10:38 PM, Emilio Pozuelo Monfort
<pochu@debian.org> wrote:
> Apply the attached patch to debhelper (applies cleanly on debhelper 8.1.2).

May I download a pre-built debhelper from somewhere?

Thanks,
Torsten


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: AANLkTikC_StW4rKP6EtvqqoMZyh-O+6phf8Z1J6aX_YE@mail.gmail.com">http://lists.debian.org/AANLkTikC_StW4rKP6EtvqqoMZyh-O+6phf8Z1J6aX_YE@mail.gmail.com
 
Old 03-25-2011, 08:54 PM
Emilio Pozuelo Monfort
 
Default ddebs

On 25/03/11 21:46, Torsten Werner wrote:
> Thanks for the explaination.
>
> On Fri, Mar 25, 2011 at 10:38 PM, Emilio Pozuelo Monfort
> <pochu@debian.org> wrote:
>> Apply the attached patch to debhelper (applies cleanly on debhelper 8.1.2).
>
> May I download a pre-built debhelper from somewhere?

http://people.debian.org/~pochu/debhelper_8.1.2+nmu1_all.deb

And you'll also need

http://people.debian.org/~pochu/ptools/ptools_0.1-1_amd64.deb

Cheers,
Emilio


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D8D0EF9.7090007@debian.org">http://lists.debian.org/4D8D0EF9.7090007@debian.org
 
Old 03-25-2011, 09:24 PM
Torsten Werner
 
Default ddebs

On Fri, Mar 25, 2011 at 10:54 PM, Emilio Pozuelo Monfort
<pochu@debian.org> wrote:
> http://people.debian.org/~pochu/debhelper_8.1.2+nmu1_all.deb

Thanks. The name of the ddeb for gzip is gzip-ddeb. Can we rely on
that schema or is there another way to find the name of a deb package
from its ddeb package? Rationale: whenever a ddeb gets uploaded we
need to check if there is already a matching deb in the archive (or at
least in the same upload). If not we will reject the upload.

Torsten


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: AANLkTimoQQoD6M5qT8CFU908fJF4st=RTpYGMcZNK+a7@mail .gmail.com">http://lists.debian.org/AANLkTimoQQoD6M5qT8CFU908fJF4st=RTpYGMcZNK+a7@mail .gmail.com
 
Old 03-25-2011, 09:43 PM
Emilio Pozuelo Monfort
 
Default ddebs

On 25/03/11 22:24, Torsten Werner wrote:
> On Fri, Mar 25, 2011 at 10:54 PM, Emilio Pozuelo Monfort
> <pochu@debian.org> wrote:
>> http://people.debian.org/~pochu/debhelper_8.1.2+nmu1_all.deb
>
> Thanks. The name of the ddeb for gzip is gzip-ddeb. Can we rely on
> that schema or is there another way to find the name of a deb package
> from its ddeb package? Rationale: whenever a ddeb gets uploaded we
> need to check if there is already a matching deb in the archive (or at
> least in the same upload). If not we will reject the upload.

The way I did it was one .ddeb per source package, not per binary. So it is
$src-ddeb. You can reject them if they are not for $src package (or if $src
package doesn't exist in the archive).

Cheers,
Emilio


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D8D1A9F.5030102@debian.org">http://lists.debian.org/4D8D1A9F.5030102@debian.org
 
Old 03-25-2011, 10:13 PM
Philipp Kern
 
Default ddebs

On 2011-03-25, Emilio Pozuelo Monfort <pochu@debian.org> wrote:
> On 25/03/11 22:24, Torsten Werner wrote:
>> On Fri, Mar 25, 2011 at 10:54 PM, Emilio Pozuelo Monfort
>> <pochu@debian.org> wrote:
>>> http://people.debian.org/~pochu/debhelper_8.1.2+nmu1_all.deb
>> Thanks. The name of the ddeb for gzip is gzip-ddeb. Can we rely on
>> that schema or is there another way to find the name of a deb package
>> from its ddeb package? Rationale: whenever a ddeb gets uploaded we
>> need to check if there is already a matching deb in the archive (or at
>> least in the same upload). If not we will reject the upload.
> The way I did it was one .ddeb per source package, not per binary. So it is
> $src-ddeb. You can reject them if they are not for $src package (or if $src
> package doesn't exist in the archive).

Are there dependencies from the -ddeb to the binary? Because you'd want to
update/upgrade your ddeb when you update the library, otherwise it becomes
useless. I imagine there can't be given that the binaries of our source
package might not be co-installable.

Is there a rationale why this was done differently from Ubuntu?

Kind regards
Philipp Kern


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: slrnioq8dg.2ji.trash@kelgar.0x539.de">http://lists.debian.org/slrnioq8dg.2ji.trash@kelgar.0x539.de
 
Old 03-25-2011, 10:35 PM
Emilio Pozuelo Monfort
 
Default ddebs

On 25/03/11 23:13, Philipp Kern wrote:
> Are there dependencies from the -ddeb to the binary? Because you'd want to
> update/upgrade your ddeb when you update the library, otherwise it becomes
> useless. I imagine there can't be given that the binaries of our source
> package might not be co-installable.

This is handled by

# If the ddeb appears in the control file, we let the
# packager override our defaults there.
my $arch=package_arch($package);
my $srcpackage=sourcepackage();

my $depends="";
foreach my $pkg (getpackages("same")) {
if ($pkg ne $package) {
addsubstvar($package,"ddeb:Conflicts","$pkg","<< ${binary:Version}");
addsubstvar($package,"ddeb:Conflicts","$pkg",">> ${binary:Version}");
$depends="$depends | $pkg (= ${binary:Version})";
}
}
$depends=~s/^ | //;
addsubstvar($package,"ddebepends","$depends","") ;

> Is there a rationale why this was done differently from Ubuntu?

There probably was, though I don't remember it. You can search in the
debian-devel archives on July and August 2009.

Cheers,
Emilio


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D8D26D3.6080900@debian.org">http://lists.debian.org/4D8D26D3.6080900@debian.org
 
Old 03-26-2011, 07:07 AM
Torsten Werner
 
Default ddebs

On Fri, Mar 25, 2011 at 11:43 PM, Emilio Pozuelo Monfort
<pochu@debian.org> wrote:
> The way I did it was one .ddeb per source package, not per binary. So it is
> $src-ddeb. You can reject them if they are not for $src package (or if $src
> package doesn't exist in the archive).

To simplify the archive processes i would prefer having a ddeb per
binary package instead of source package. It must have the name
$binary-ddeb and must have the same version as $binary. The ddebs will
get separate Packages files similar to the udebs. It is even easier
for our users that they don't need to find out the source package
name. Can we agree on that?

Cheers,
Torsten


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: AANLkTinQanOtm_Ua_=USmUDT9mpFUtTykGGR6d_iHCR-@mail.gmail.com">http://lists.debian.org/AANLkTinQanOtm_Ua_=USmUDT9mpFUtTykGGR6d_iHCR-@mail.gmail.com
 
Old 03-26-2011, 07:38 AM
Emilio Pozuelo Monfort
 
Default ddebs

On 26/03/11 08:07, Torsten Werner wrote:
> On Fri, Mar 25, 2011 at 11:43 PM, Emilio Pozuelo Monfort
> <pochu@debian.org> wrote:
>> The way I did it was one .ddeb per source package, not per binary. So it is
>> $src-ddeb. You can reject them if they are not for $src package (or if $src
>> package doesn't exist in the archive).
>
> To simplify the archive processes i would prefer having a ddeb per
> binary package instead of source package. It must have the name
> $binary-ddeb and must have the same version as $binary. The ddebs will
> get separate Packages files similar to the udebs. It is even easier
> for our users that they don't need to find out the source package
> name. Can we agree on that?

I have just skimmed over the dicussions from 2009 where we decided that it
should be one ddeb per source package, and it seems that everyone preferred one
ddeb per binary package except the ftpmasters So that's fine with me.

I'd add to the requirements that foo-ddeb needs to Depend on foo (=
${binary:Version}).

I'd also mandate the use of build-ids for .ddebs and add refcounting support
(like has been done for multiarch AFAIK) to dpkg for them, so we don't need to
worry about Conflicts / Replaces.

Cheers,
Emilio


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D8DA614.30205@debian.org">http://lists.debian.org/4D8DA614.30205@debian.org
 
Old 03-26-2011, 08:10 AM
Raphael Hertzog
 
Default ddebs

On Sat, 26 Mar 2011, Emilio Pozuelo Monfort wrote:
> I'd also mandate the use of build-ids for .ddebs and add refcounting support
> (like has been done for multiarch AFAIK) to dpkg for them, so we don't need to
> worry about Conflicts / Replaces.

For multi-arch, it's the _same_ package (but just another architecture of it) that
can share _identical_ files and where we have refcounting.

This can't be generalized to just any package, it's just contrary to the
logic of our packaging tools.

When do you have such conflicts? I hear when you have the same binary in
multiple package... but in that case both packages already conflict and
you can just copy the existing conlict field and add the -ddeb suffix.

Otherwise maybe there's a way to include the package name in the path
to avoid such conflicts?

Cheers,
--
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
▶ http://RaphaelHertzog.fr (Français)


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110326091057.GB32075@rivendell.home.ouaza.com">h ttp://lists.debian.org/20110326091057.GB32075@rivendell.home.ouaza.com
 

Thread Tools




All times are GMT. The time now is 07:35 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org