Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #228083 > unrolled thread

pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces

Started byAlexei Fedotov <alexei.fedotov@gmail.com>
First post2020-10-21 21:10 +0200
Last post2020-10-22 16:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.debian.user


Contents

  pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces Alexei Fedotov <alexei.fedotov@gmail.com> - 2020-10-21 21:10 +0200
    Re: pbuilder-satisfydepends-classic profile parsing problem: slashes  and spaces Mattia Rizzolo <mattia@debian.org> - 2020-10-22 15:40 +0200
      Re: pbuilder-satisfydepends-classic profile parsing problem: slashes  and spaces Alexei Fedotov <alexei.fedotov@gmail.com> - 2020-10-22 16:40 +0200

#228083 — pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces

FromAlexei Fedotov <alexei.fedotov@gmail.com>
Date2020-10-21 21:10 +0200
Subjectpbuilder-satisfydepends-classic profile parsing problem: slashes and spaces
Message-ID<B2rEL-1bY-7@gated-at.bofh.it>
Hello, Mattia, folks,

I'm running pbuilder-0.230.4~bpo9+1/pbuilder-satisfydepends-classic
for the debian/control which contains

Build-Depends: live-build (<= 1:20170213), ...

I get the following log

+++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
coreutils, findutils, '
+++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
coreutils, findutils'
+++ echo 'live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
coreutils, findutils'
++ for INSTALLPKGMULTI in $(get_build_deps | split_deps)
+++ echo 'live-build/(<=/1:20170213)'
+++ tr / ' '
++ echo ' -> Considering build-dep live-build (<= 1:20170213)'
 -> Considering build-dep live-build (<= 1:20170213)
++ SATISFIED=no
+++ split_alternates 'live-build/(<=/1:20170213)'
+++ echo 'live-build/(<=/1:20170213)'
+++ sed 's/ *| */\n/g'
++ for INSTALLPKG in $(split_alternates "$INSTALLPKGMULTI")
+++ get_pkg_name 'live-build/(<=/1:20170213)'
+++ echo 'live-build/(<=/1:20170213)'
+++ sed 's#^/*##; s#[[/(<].*##'
++ CURRENTREALPKGNAME=live-build
++ echo 'live-build/(<=/1:20170213)'
++ grep -q '\['
++ echo 'live-build/(<=/1:20170213)'
++ grep -q '<'
++ checkbuilddep_restrictiondeps 'live-build/(<=/1:20170213)' 'nocheck astrace'
++ local 'INSTALLPKG=live-build/(<=/1:20170213)'
++ local 'PROFILES=nocheck astrace'
+++ echo 'echo "$INSTALLPKG" | sed -e 's/[^<]*<\(.*\)>.*/\1/' -e 'y|/|
|' -e 's/>\s\+</;/g''
+++ sed -e 's/[^<]*<\(.*\)>.*/\1/' -e 'y|/| |' -e 's/>\s\+</;/g'
++ local 'DEP_RESTRICTIONS=live-build (<= 1:20170213)'
+++ echo 'live-build/(<=/1:20170213)'
+++ cut -d ' ' -f 1
++ local 'PKG=live-build/(<=/1:20170213)'
++ local SEEN_PROFILE
++ local PROFILE
++ local NEGATED
++ local FOUND
++ '[' 'live-build (<= 1:20170213)' = 'live-build/(<=/1:20170213)' ']'
++ IFS=';'
++ read -ra RESTRLISTS
++ for restrlist in "${RESTRLISTS[@]}"
++ SEEN_PROFILE=yes
++ for restr in $restrlist
++ [[ live-build == \!* ]]
++ NEGATED=no
++ PROFILE=live-build
++ FOUND=no
++ for p in $PROFILES
++ '[' nocheck = live-build ']'
++ for p in $PROFILES
++ '[' astrace = live-build ']'
++ '[' no = no ']'
++ SEEN_PROFILE=no
++ break
++ '[' no = yes ']'
++ return 0
++ SATISFIED=yes

Once can see that the proper check for the version constraint fails

    if [ "$DEP_RESTRICTIONS" = "$INSTALLPKG" ]; then
        # there is not a build profile, rather it's a version costraint
        return 1
    fi

due to spaces replaced with slashes

++ '[' 'live-build (<= 1:20170213)' = 'live-build/(<=/1:20170213)' ']'

Later ther "live-build" package name is considered to be a profile
name, which causes "This package is not for the current build
profiles" error.

What is the proper list to discuss the issue? How should it be addressed?

--
Carry a towel
http://dataved.ru/
+7 916 562 8095

[1] Join Alexei Fedotov @linkedin, http://ru.linkedin.com/in/dataved/
[2] Join Alexei Fedotov @facebook, http://www.facebook.com/openmeetings
[3] Start using Apache Openmeetings today, http://openmeetings.apache.org/

[toc] | [next] | [standalone]


#228108 — Re: pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces

FromMattia Rizzolo <mattia@debian.org>
Date2020-10-22 15:40 +0200
SubjectRe: pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces
Message-ID<B2IYV-2Zh-1@gated-at.bofh.it>
In reply to#228083

[Multipart message — attachments visible in raw view] — view raw

Hi!

On Wed, Oct 21, 2020 at 10:06:02PM +0300, Alexei Fedotov wrote:
> I'm running pbuilder-0.230.4~bpo9+1/pbuilder-satisfydepends-classic
> for the debian/control which contains
> 
> Build-Depends: live-build (<= 1:20170213), ...
> 
> I get the following log
> 
> +++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> coreutils, findutils, '
> +++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> coreutils, findutils'
> +++ echo 'live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> coreutils, findutils'
> ++ for INSTALLPKGMULTI in $(get_build_deps | split_deps)
> +++ echo 'live-build/(<=/1:20170213)'
> +++ tr / ' '
> ++ echo ' -> Considering build-dep live-build (<= 1:20170213)'
>  -> Considering build-dep live-build (<= 1:20170213)
> ++ SATISFIED=no
> +++ split_alternates 'live-build/(<=/1:20170213)'
> +++ echo 'live-build/(<=/1:20170213)'
> +++ sed 's/ *| */\n/g'
> ++ for INSTALLPKG in $(split_alternates "$INSTALLPKGMULTI")
> +++ get_pkg_name 'live-build/(<=/1:20170213)'
> +++ echo 'live-build/(<=/1:20170213)'
> +++ sed 's#^/*##; s#[[/(<].*##'
> ++ CURRENTREALPKGNAME=live-build
> ++ echo 'live-build/(<=/1:20170213)'
> ++ grep -q '\['
> ++ echo 'live-build/(<=/1:20170213)'
> ++ grep -q '<'

I reckon here is the problem ↑
The code thinks that anything that contains a '<' is a build profile.
That's probably because it's considered rare for a Build-Depends to have
a << or a <= relation.
From that assumption on it probably just fails over itself.

> What is the proper list to discuss the issue? How should it be addressed?

Please file a bug against pbuilder, but don't expect it to be solved
quickly.

In fact, nowadays I generally recommend people use the -apt resolver,
which tends to work better in most cases, besides being faster.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
More about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

[toc] | [prev] | [next] | [standalone]


#228114 — Re: pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces

FromAlexei Fedotov <alexei.fedotov@gmail.com>
Date2020-10-22 16:40 +0200
SubjectRe: pbuilder-satisfydepends-classic profile parsing problem: slashes and spaces
Message-ID<B2JUZ-3xF-1@gated-at.bofh.it>
In reply to#228108
Mattia, thanks for the answer, I will file a bug
--
Carry a towel
http://dataved.ru/
+7 916 562 8095

[1] Join Alexei Fedotov @linkedin, http://ru.linkedin.com/in/dataved/
[2] Join Alexei Fedotov @facebook, http://www.facebook.com/openmeetings
[3] Start using Apache Openmeetings today, http://openmeetings.apache.org/

On Thu, Oct 22, 2020 at 4:39 PM Mattia Rizzolo <mattia@debian.org> wrote:
>
> Hi!
>
> On Wed, Oct 21, 2020 at 10:06:02PM +0300, Alexei Fedotov wrote:
> > I'm running pbuilder-0.230.4~bpo9+1/pbuilder-satisfydepends-classic
> > for the debian/control which contains
> >
> > Build-Depends: live-build (<= 1:20170213), ...
> >
> > I get the following log
> >
> > +++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> > coreutils, findutils, '
> > +++ output='live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> > coreutils, findutils'
> > +++ echo 'live-build (<= 1:20170213), sed, gawk, rsync, wget, patch,
> > coreutils, findutils'
> > ++ for INSTALLPKGMULTI in $(get_build_deps | split_deps)
> > +++ echo 'live-build/(<=/1:20170213)'
> > +++ tr / ' '
> > ++ echo ' -> Considering build-dep live-build (<= 1:20170213)'
> >  -> Considering build-dep live-build (<= 1:20170213)
> > ++ SATISFIED=no
> > +++ split_alternates 'live-build/(<=/1:20170213)'
> > +++ echo 'live-build/(<=/1:20170213)'
> > +++ sed 's/ *| */\n/g'
> > ++ for INSTALLPKG in $(split_alternates "$INSTALLPKGMULTI")
> > +++ get_pkg_name 'live-build/(<=/1:20170213)'
> > +++ echo 'live-build/(<=/1:20170213)'
> > +++ sed 's#^/*##; s#[[/(<].*##'
> > ++ CURRENTREALPKGNAME=live-build
> > ++ echo 'live-build/(<=/1:20170213)'
> > ++ grep -q '\['
> > ++ echo 'live-build/(<=/1:20170213)'
> > ++ grep -q '<'
>
> I reckon here is the problem ↑
> The code thinks that anything that contains a '<' is a build profile.
> That's probably because it's considered rare for a Build-Depends to have
> a << or a <= relation.
> From that assumption on it probably just fails over itself.
>
> > What is the proper list to discuss the issue? How should it be addressed?
>
> Please file a bug against pbuilder, but don't expect it to be solved
> quickly.
>
> In fact, nowadays I generally recommend people use the -apt resolver,
> which tends to work better in most cases, besides being faster.
>
> --
> regards,
>                         Mattia Rizzolo
>
> GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
> More about me:  https://mapreri.org                             : :'  :
> Launchpad user: https://launchpad.net/~mapreri                  `. `'`
> Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web