Building full image that's supposed to contain asterisk-chan-quectel #2

Merged
PeterSurda merged 6 commits from lee.miller/openwrt:quectel into main 2023-01-17 23:27:23 +01:00
4 changed files with 110 additions and 4 deletions
Showing only changes of commit 9e905faff0 - Show all commits

View File

@ -8,7 +8,7 @@ RUN DEBIAN_FRONTEND=noninteractive TZ=UTC \
apt -yq install \
build-essential rsync git-core subversion mercurial libssl-dev \
libncurses5-dev unzip gawk zlib1g-dev libncursesw5-dev zlib1g-dev \
gettext xsltproc wget unzip python
gettext xsltproc wget unzip python python3-distutils rxvt-unicode
RUN mkdir /Downloads
@ -18,3 +18,6 @@ RUN wget -qP /Downloads \
"https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/openwrt-sdk-${OPENWRT_VERSION}-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz"
RUN wget -qP /Downloads \
"https://downloads.openwrt.org/releases/${OPENWRT_VERSION}/targets/bcm27xx/bcm2711/openwrt-toolchain-${OPENWRT_VERSION}-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz"
RUN git clone https://git.openwrt.org/openwrt/openwrt.git
RUN cd openwrt && git checkout v${OPENWRT_VERSION}

View File

@ -12,7 +12,31 @@ ls -lah /Downloads
# https://github.com/IchthysMaranatha/asterisk-chan-quectel/tree/master/openwrt
tar -xJf /Downloads/openwrt-imagebuilder-${OPENWRT_VERSION}-*.tar.xz
cd openwrt-imagebuilder-*/
cp -r feed /openwrt/
cp feeds.conf /openwrt/
cd openwrt
git checkout v${OPENWRT_VERSION}
cp ../feeds.conf .
cp ../config.buildinfo .config
Review

I think lines 23 and 25 should be skipped, no? That would just recompile unnecessarily. The documentation doesn't mention these steps, only feeds update and then feeds install packagename.

I think lines 23 and 25 should be skipped, no? That would just recompile unnecessarily. The [documentation](https://openwrt.org/docs/guide-developer/obtain.firmware.sdk#obtain_definitions) doesn't mention these steps, only `feeds update` and then `feeds install packagename`.
Review

See also from the documentation:

The output of make might contain WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!. That warning is misleading and wrong in the SDK case. Since everything is precompiled you cannot run oldconfig (see Why is the SDK configuration out of sync?).

See also from the documentation: > The output of `make` might contain `WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!`. That warning is misleading and wrong in the SDK case. Since everything is precompiled you cannot run oldconfig (see Why is the SDK configuration out of sync?).
Review

It seems trying to run make menuconfig if I remove make defconfig, see at line 2043.

It seems trying to run `make menuconfig` if I remove `make defconfig`, [see](https://buildbot.bitmessage.org/#/builders/33/builds/15409/steps/3/logs/stdio) at line 2043.
Review

It's not working also without feeds install, see line 1979.

It's [not working](https://buildbot.bitmessage.org/#/builders/33/builds/15410/steps/3/logs/stdio) also without feeds install, see line 1979.
Review

I'll check the build logs.

I'll check the build logs.
Review

Ok I don't know how to fix it either, at least it doesn't look like it's compiling everything, only some dependencies, so it's fine. I tried a full build previously and it takes several hours: https://buildbot.bitmessage.org/#/builders/33/builds/14862

I will rarely build this so it's not a big deal if I have to wait an hour.

Ok I don't know how to fix it either, at least it doesn't look like it's compiling everything, only some dependencies, so it's fine. I tried a full build previously and it takes several hours: https://buildbot.bitmessage.org/#/builders/33/builds/14862 I will rarely build this so it's not a big deal if I have to wait an hour.
./scripts/feeds update -a
./scripts/feeds install -a
export FORCE_UNSAFE_CONFIGURE=1
make defconfig
make tools/install
make toolchain/install
opkg info asterisk-chan-quectel
make package/asterisk-chan-quectel/compile
make package/index
mv bin/*.ipk ../openwrt-imagebuilder-*/packages/
cd ../openwrt-imagebuilder-*/
make info
@ -25,7 +49,8 @@ make image \
asterisk \
asterisk-pjsip asterisk-bridge-simple \
asterisk-codec-alaw asterisk-codec-ulaw \
asterisk-res-rtp-asterisk kmod-nf-nathelper-extra"
asterisk-res-rtp-asterisk kmod-nf-nathelper-extra \
asterisk-chan-quectel"
mkdir -p ../../out

View File

@ -0,0 +1,74 @@
#
# Copyright (C) 2017 - 2023 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=asterisk-chan-quectel
PKG_VERSION:=3.6
PKG_RELEASE:=3.6
PKG_SOURCE:=master.zip
PKG_SOURCE_URL:=https://github.com/IchthysMaranatha/asterisk-chan-quectel/archive/refs/heads/
PKG_CAT:=unzip
PKG_HASH:=skip
PKG_FIXUP:=autoreconf
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-master
PKG_MAINTAINER:=Lee Miller <lee.miller@tutanota.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYRIGHT.txt LICENSE.txt
MODULES_DIR:=/usr/lib/asterisk/modules
include $(INCLUDE_DIR)/package.mk
# asterisk-chan-quectel needs iconv
include $(INCLUDE_DIR)/nls.mk
define Package/asterisk-chan-quectel
SUBMENU:=Telephony
SECTION:=net
CATEGORY:=Network
URL:=https://github.com/IchthysMaranatha/asterisk-chan-quectel
DEPENDS:=asterisk $(ICONV_DEPENDS) +kmod-usb-acm +kmod-usb-serial +kmod-usb-serial-option +libusb-1.0 +alsa-lib
TITLE:=Asterisk Mobile Telephony Module
endef
define Package/asterisk-chan-quectel/description
Asterisk channel driver for mobile telephony.
endef
CONFIGURE_ARGS+= \
--with-asterisk=$(STAGING_DIR)/usr/include \
--with-astversion=20 \
--with-iconv=$(ICONV_PREFIX)/include
TARGET_CFLAGS+= \
-I$(CHAN_quectel_AST_HEADERS)
MAKE_FLAGS+=LD="$(TARGET_CC)"
CONFIGURE_VARS += \
DESTDIR="$(MODULES_DIR)" \
ac_cv_type_size_t=yes \
ac_cv_type_ssize_t=yes
define Package/asterisk-chan-quectel/conffiles
/etc/asterisk/quectel.conf
endef
define Package/asterisk-chan-quectel/install
$(INSTALL_DIR) $(1)/etc/asterisk
$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/quectel.conf $(1)/etc/asterisk
$(INSTALL_DIR) $(1)$(MODULES_DIR)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/chan_quectel.so $(1)$(MODULES_DIR)
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

4
feeds.conf Normal file
View File

@ -0,0 +1,4 @@
src-git packages https://github.com/openwrt/packages.git
src-git luci https://github.com/openwrt/luci.git
src-git telephony https://github.com/openwrt/telephony.git
src-link quectel ../feed