Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 716426 - net-misc/asterisk-13.32.0: keyword request for arm, arm64, ppc, ppc64
Summary: net-misc/asterisk-13.32.0: keyword request for arm, arm64, ppc, ppc64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Keywording (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Jaco Kroon
URL:
Whiteboard:
Keywords: PullRequest
Depends on: 725888
Blocks:
  Show dependency tree
 
Reported: 2020-04-06 09:04 UTC by Samuel Rajan D
Modified: 2020-07-20 21:02 UTC (History)
1 user (show)

See Also:
Package list:
net-misc/asterisk-13.33.0 ~arm ~arm64 ~ppc ~ppc64 net-misc/asterisk-16.10.0 ~arm ~arm64 ~ppc ~ppc64 dev-libs/iksemel-1.4-r1 ~arm ~arm64 ~ppc ~ppc64 net-libs/libpri-1.6.0 ~arm ~arm64 ~ppc ~ppc64 net-misc/dahdi-tools-3.1.0 ~arm ~arm64 ~ppc ~ppc64 net-libs/osptoolkit-4.13.0 ~arm ~arm64 ~ppc ~ppc64 net-libs/pjproject-2.9-r2 ~arm ~arm64 ~ppc ~ppc64 net-misc/dahdi-3.1.0-r1 ~arm ~arm64 ~ppc ~ppc64 net-misc/asterisk-moh-opsound-2.03-r1 ~arm ~arm64 ~ppc ~ppc64 net-misc/asterisk-core-sounds-1.6.1-r1 ~arm ~arm64 ~ppc ~ppc64 net-misc/asterisk-extra-sounds-1.5.2 ~arm ~arm64 ~ppc ~ppc64 media-libs/bcg729-1.0.4-r1 ~arm ~arm64 ~ppc ~ppc64 sys-cluster/corosync-2.4.2 ~arm sys-cluster/libqb-1.9.0 ~arm
Runtime testing required: No
nattka: sanity-check+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Rajan D 2020-04-06 09:04:20 UTC
Hi, I've managed to successfully compile and start asterisk 13.31.0 on arm64. The only extra step is executing `chown asterisk:root /var/lib/astersik`. Would you mind adding arm64 as a keyword
Comment 1 Stabilization helper bot gentoo-dev 2020-04-06 09:59:43 UTC
An automated check of this bug failed - repoman reported dependency errors (15 lines truncated): 

> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: DEPEND: ~arm64(default/linux/arm64/17.0) ['dev-libs/iksemel', 'net-libs/libpri', 'net-misc/dahdi-tools', 'net-libs/osptoolkit', 'net-libs/pjproject']
> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: RDEPEND: ~arm64(default/linux/arm64/17.0) ['dev-libs/iksemel', 'net-libs/libpri', 'net-misc/dahdi-tools', 'net-libs/osptoolkit', 'net-libs/pjproject', 'net-misc/asterisk-core-sounds', 'net-misc/asterisk-extra-sounds', 'net-misc/asterisk-moh-opsound']
> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: DEPEND: ~arm64(default/linux/arm64/17.0/desktop) ['dev-libs/iksemel', 'net-libs/libpri', 'net-misc/dahdi-tools', 'net-libs/osptoolkit', 'net-libs/pjproject']
Comment 2 Stabilization helper bot gentoo-dev 2020-04-06 10:59:49 UTC
An automated check of this bug failed - repoman reported dependency errors (21 lines truncated): 

> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: RDEPEND: ~arm64(default/linux/arm64/17.0) ['net-misc/asterisk-core-sounds', 'net-misc/asterisk-extra-sounds', 'net-misc/asterisk-moh-opsound']
> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: RDEPEND: ~arm64(default/linux/arm64/17.0/desktop) ['net-misc/asterisk-core-sounds', 'net-misc/asterisk-extra-sounds', 'net-misc/asterisk-moh-opsound']
> dependency.bad net-misc/asterisk/asterisk-13.31.0.ebuild: RDEPEND: ~arm64(default/linux/arm64/17.0/desktop/gnome) ['net-misc/asterisk-core-sounds', 'net-misc/asterisk-extra-sounds', 'net-misc/asterisk-moh-opsound']
> dependency.bad net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild: DEPEND: ~arm64(default/linux/arm64/17.0) ['>=net-misc/dahdi-2.5.0']
> dependency.bad net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild: RDEPEND: ~arm64(default/linux/arm64/17.0) ['>=net-misc/dahdi-2.5.0']
> dependency.bad net-misc/dahdi-tools/dahdi-tools-2.10.1.ebuild: DEPEND: ~arm64(default/linux/arm64/17.0/desktop) ['>=net-misc/dahdi-2.5.0']
Comment 3 NATTkA bot gentoo-dev 2020-04-06 11:20:27 UTC
Sanity check failed:

> nonsolvable depset(depend) keyword(~arm64) stable profile (default/linux/arm64/17.0) (9 total): solutions: [ >=net-misc/dahdi-2.5.0 ]
> nonsolvable depset(rdepend) keyword(~arm64) stable profile (default/linux/arm64/17.0) (9 total): solutions: [ >=net-misc/dahdi-2.5.0 ]
> nonsolvable depset(rdepend) keyword(~arm64) stable profile (default/linux/arm64/17.0) (9 total): solutions: [ net-misc/asterisk-moh-opsound, net-misc/asterisk-core-sounds, net-misc/asterisk-extra-sounds ]
Comment 4 Jaco Kroon 2020-04-06 11:22:38 UTC
Some related DAHDI compile fixes required in net-misc/dahdi for the case where the kernel doesn't have PCI.  Also other compile fixes as per requirements for 5.6 kernels.
Comment 5 NATTkA bot gentoo-dev 2020-04-06 11:40:24 UTC
Unable to check for sanity:

> invalid package spec: net-libs/libpri-1.6.
Comment 6 NATTkA bot gentoo-dev 2020-04-06 11:44:26 UTC
Sanity check failed:

> nonsolvable depset(depend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ media-libs/bcg729 ]
> nonsolvable depset(depend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ sys-cluster/corosync ]
> nonsolvable depset(depend) keyword(~arm) stable profile (default/linux/arm/17.0) (1 total): solutions: [ sys-cluster/corosync ]
> nonsolvable depset(depend) keyword(~arm) stable profile (default/linux/arm/17.0) (10 total): solutions: [ media-libs/bcg729 ]
> nonsolvable depset(rdepend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ media-libs/bcg729 ]
> nonsolvable depset(rdepend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ sys-cluster/corosync ]
> nonsolvable depset(rdepend) keyword(~arm) stable profile (default/linux/arm/17.0) (1 total): solutions: [ sys-cluster/corosync ]
> nonsolvable depset(rdepend) keyword(~arm) stable profile (default/linux/arm/17.0) (10 total): solutions: [ media-libs/bcg729 ]
Comment 7 NATTkA bot gentoo-dev 2020-04-06 11:52:28 UTC
Sanity check failed:

> nonsolvable depset(depend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ >=sys-cluster/libqb-0.14.4 ]
> nonsolvable depset(depend) keyword(~arm) stable profile (default/linux/arm/17.0) (1 total): solutions: [ >=sys-cluster/libqb-0.14.4 ]
> nonsolvable depset(rdepend) keyword(~arm) dev profile (default/linux/arm/17.0/armv4) (31 total): solutions: [ >=sys-cluster/libqb-0.14.4 ]
> nonsolvable depset(rdepend) keyword(~arm) stable profile (default/linux/arm/17.0) (1 total): solutions: [ >=sys-cluster/libqb-0.14.4 ]
Comment 8 Jaco Kroon 2020-04-06 16:08:10 UTC
(In reply to Samuel Rajan D from comment #0)
> Hi, I've managed to successfully compile and start asterisk 13.31.0 on
> arm64. The only extra step is executing `chown asterisk:root
> /var/lib/astersik`. Would you mind adding arm64 as a keyword

I did a clean merge check now and it seems sane on amd64.  I used the ebuild for 13.32.0-r1 though, https://github.com/gentoo/gentoo/pull/15246 which is for bump for a nitty security issue we've had a for a few years now.

I do recommend this gets updated to rather keywords net-misc/asterisk-13.32.0-r1 once that PR is merged.
Comment 9 Larry the Git Cow gentoo-dev 2020-04-09 12:38:07 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=597ea5a7c16cb7b3ead096d54f78c9369cd41e7b

commit 597ea5a7c16cb7b3ead096d54f78c9369cd41e7b
Author:     Jaco Kroon <jaco@uls.co.za>
AuthorDate: 2020-03-28 19:56:25 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2020-04-09 12:37:45 +0000

    net-misc/dahdi: build fixes.
    
    There were still some cases where specific kernel versions wouldn't
    compile.  This now compiles on all versions that I've got.
    
    Consolidated the patches for non-digium hardware (which is where most of
    the issues were).
    
    Added a patch for dealing with 64-bit division on PPC (works on amd64),
    untested on ppc where it's required.  Will also affect ARM now - as per
    newest keyword request.
    
    Fix for systems without CONFIG_PCI.
    
    Nuke empty RDEPEND= and DEPEND= lines.
    
    Bug: https://bugs.gentoo.org/659488
    Bug: https://bugs.gentoo.org/716426
    Closes: https://bugs.gentoo.org/716226
    Closes: https://bugs.gentoo.org/716468
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Jaco Kroon <jaco@uls.co.za>
    Closes: https://github.com/gentoo/gentoo/pull/15154
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 net-misc/dahdi/Manifest              | 2 +-
 net-misc/dahdi/dahdi-3.1.0-r1.ebuild | 5 +----
 2 files changed, 2 insertions(+), 5 deletions(-)
Comment 10 NATTkA bot gentoo-dev 2020-04-26 11:04:29 UTC
Unable to check for sanity:

> no match for package: net-libs/pjproject-2.9-r1
Comment 11 NATTkA bot gentoo-dev 2020-04-30 08:12:50 UTC
All sanity-check issues have been resolved
Comment 12 NATTkA bot gentoo-dev 2020-05-04 08:52:46 UTC
Unable to check for sanity:

> no match for package: net-misc/asterisk-13.33.0
Comment 13 NATTkA bot gentoo-dev 2020-05-04 17:29:10 UTC
All sanity-check issues have been resolved
Comment 14 Sergei Trofimovich (RETIRED) gentoo-dev 2020-05-06 07:57:08 UTC
~ppc/~ppc64 kryworded
Comment 15 Jaco Kroon 2020-05-06 07:59:07 UTC
(In reply to Sergei Trofimovich from comment #14)
> ~ppc/~ppc64 kryworded


Hi Sergei,

dahdi compiled without issues for ppc?  So it has 64-bit division on-cpu I'm guessing and it's only arm that's still a possible issue here.
Comment 16 Michael 'veremitz' Everitt 2020-05-06 10:59:19 UTC
(In reply to Jaco Kroon from comment #15)
> 
> Hi Sergei,
> 
> dahdi compiled without issues for ppc?  So it has 64-bit division on-cpu I'm
> guessing and it's only arm that's still a possible issue here.

Whilst I'm no expert, I know a friend of mine was running asterisk on raspberry Pi's for a number of years now, and there is the distribution based on http://www.raspberry-asterisk.org/ so I'm imagining any problems aren't insurmountable for ARM.

I'm obviously unsure about the move to use dahdi, which may bring it's own issues, but I'd be interested to see how the above project compares with upstream! Hope this helps a bit!
Comment 17 Jaco Kroon 2020-05-06 11:22:57 UTC
Hi,

(In reply to Michael 'veremitz' Everitt from comment #16)
> (In reply to Jaco Kroon from comment #15)
> > 
> > Hi Sergei,
> > 
> > dahdi compiled without issues for ppc?  So it has 64-bit division on-cpu I'm
> > guessing and it's only arm that's still a possible issue here.
> 
> Whilst I'm no expert, I know a friend of mine was running asterisk on
> raspberry Pi's for a number of years now, and there is the distribution
> based on http://www.raspberry-asterisk.org/ so I'm imagining any problems
> aren't insurmountable for ARM.
> 
> I'm obviously unsure about the move to use dahdi, which may bring it's own
> issues, but I'd be interested to see how the above project compares with
> upstream! Hope this helps a bit!

The userspace tools honestly aren't an issue.  gcc takes care of the 64 emulation where required.  However, when we move into kernel world, on a pure 32-bit processor we suddenly can't divide 64-bit numbers.  So when dahdi starts calculating exact timings and needs to divide these 64-bit timestamps to calculate stuff the wheels come of.  On all arches the kernel provides convenient (well, kinda) functions to deal with 64-bit math like this, but a significant amount of code doesn't use these functions to perform divisions.  On 32-bit with 64-bit instructions for this this isn't an issue, so for example on i686 when you divide you load a 64-bit bit number into edx:eax and then divide with ecx (32 bit) registers (from memory, so could be fuzzy).  Pure 32-bit arches don't have this.  And thus gcc calls a function normally provided by libc as I understand in order emulate this when 64-bit division is involved.  Obviously the kernel doesn't provide said functions, but provide MACROs or inline functions to deal with this "in place".  So it's just a matter of fixing the DAHDI code to use these MACROs.

Thus if DAHDI compiles correctly on ppc, I'm assuming it does similar things at processor level as x86, however, I know for a fact (based on link-time errors produced during builds as has been reported) that arm does not.  One of the Digium employees actually asked me straight up how I'm finding all these issues.
Comment 18 Michael 'veremitz' Everitt 2020-05-06 11:28:17 UTC
(In reply to Jaco Kroon from comment #17)
> Hi,
<snip>
> 
> Thus if DAHDI compiles correctly on ppc, I'm assuming it does similar things
> at processor level as x86, however, I know for a fact (based on link-time
> errors produced during builds as has been reported) that arm does not.  One
> of the Digium employees actually asked me straight up how I'm finding all
> these issues.

This is what we commonly call extensive testing ... ;)

Thanks for your efforts, and explanation - hopefully we can get this over the hump! :)
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-05-14 14:59:14 UTC
I seem to be getting stuck in the menuselect thing.
Comment 20 Jaco Kroon 2020-05-14 16:33:44 UTC
(In reply to Sam James (sec padawan) from comment #19)
> I seem to be getting stuck in the menuselect thing.

menuselect thing?

I'm not aware of (or it's slipping my mind) a menuselect thing?

I wanted to look at the DAHDI thing more in depth today, but that unfortunately didn't happen.
Comment 21 Jaco Kroon 2020-07-07 19:24:45 UTC
PING.

asterisk's USE=ssl (menuselect infinite loop) should be fixed in:

13.33.0
13.34.0
16.10.0
16.11.1

So I see no reason for further blocking on this.  Please advise if I overlooked something.
Comment 22 Larry the Git Cow gentoo-dev 2020-07-15 17:42:15 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c0b75190b716e3a3bf222baacfb6d15ec39213d

commit 0c0b75190b716e3a3bf222baacfb6d15ec39213d
Author:     Jaco Kroon <jaco@uls.co.za>
AuthorDate: 2020-07-15 17:08:14 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-07-15 17:42:10 +0000

    net-misc/dahdi: Add CONFIG_PCI as kernel config requirement.
    
    Picked up by Sam <sam@gentoo.org> whilst working on:
    
    Bug: https://bugs.gentoo.org/716426
    Signed-off-by: Jaco Kroon <jaco@uls.co.za>
    Closes: https://github.com/gentoo/gentoo/pull/16708
    Signed-off-by: Sam James <sam@gentoo.org>

 net-misc/dahdi/dahdi-3.1.0-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 23 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-07-16 17:46:07 UTC
~arm64 added
Comment 24 Larry the Git Cow gentoo-dev 2020-07-16 18:33:33 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=535dcfcfed481a4b800f8b4056adab6961871230

commit 535dcfcfed481a4b800f8b4056adab6961871230
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2020-07-16 18:09:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-07-16 18:33:19 +0000

    profiles/arch/arm64: mask net-libs/osptoolkit
    
    Bug: https://bugs.gentoo.org/716426
    Bug: https://bugs.gentoo.org/674346
    Bug: https://bugs.gentoo.org/731250
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/arm64/package.mask     | 7 +++++++
 profiles/arch/arm64/package.use.mask | 5 +++++
 2 files changed, 12 insertions(+)
Comment 25 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-07-20 12:24:52 UTC
~arm added, closing
Comment 26 Larry the Git Cow gentoo-dev 2020-07-20 21:02:52 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0b57275b2521986bf71bafe98ca406af26c3190

commit c0b57275b2521986bf71bafe98ca406af26c3190
Author:     Jaco Kroon <jaco@uls.co.za>
AuthorDate: 2020-07-19 08:06:22 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-07-20 21:02:45 +0000

    net-misc/asterisk: forward ~arm and ~arm64
    
    13.33.0 and 16.10.0 was marked for ~arm and ~arm64, but not 13.34.0 and
    16.11.1.  Add to all newer versions.
    
    Bug: https://bugs.gentoo.org/716426
    Signed-off-by: Jaco Kroon <jaco@uls.co.za>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-misc/asterisk/asterisk-13.34.0.ebuild | 2 +-
 net-misc/asterisk/asterisk-13.35.0.ebuild | 2 +-
 net-misc/asterisk/asterisk-16.11.1.ebuild | 2 +-
 net-misc/asterisk/asterisk-16.12.0.ebuild | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)