This is required for libqmi.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/rootfiles/common/libgudev | 13 ++++++ lfs/libgudev | 80 ++++++++++++++++++++++++++++++++ make.sh | 3 +- 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 config/rootfiles/common/libgudev create mode 100644 lfs/libgudev
diff --git a/config/rootfiles/common/libgudev b/config/rootfiles/common/libgudev new file mode 100644 index 000000000..2caf7f2c8 --- /dev/null +++ b/config/rootfiles/common/libgudev @@ -0,0 +1,13 @@ +#usr/include/gudev-1.0 +#usr/include/gudev-1.0/gudev +#usr/include/gudev-1.0/gudev/gudev.h +#usr/include/gudev-1.0/gudev/gudevclient.h +#usr/include/gudev-1.0/gudev/gudevdevice.h +#usr/include/gudev-1.0/gudev/gudevenumerator.h +#usr/include/gudev-1.0/gudev/gudevenums.h +#usr/include/gudev-1.0/gudev/gudevenumtypes.h +#usr/include/gudev-1.0/gudev/gudevtypes.h +#usr/lib/libgudev-1.0.so +usr/lib/libgudev-1.0.so.0 +usr/lib/libgudev-1.0.so.0.3.0 +#usr/lib/pkgconfig/gudev-1.0.pc diff --git a/lfs/libgudev b/lfs/libgudev new file mode 100644 index 000000000..bf0fec9b8 --- /dev/null +++ b/lfs/libgudev @@ -0,0 +1,80 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2021 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 237 + +THISAPP = libgudev-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 5d39d4d26d8c8b3fa877319c294036294dbda96b340d2d04d7a35449d91b58de876b96b5e3d9423cdf3e1d3e2a94f5a861b1ac1e74a610637e0fc66248c68309 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && meson --prefix=/usr \ + --sysconfdir=/etc \ + --buildtype=release \ + builddir/ + cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING) + cd $(DIR_APP) && ninja -C builddir/ install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 413d04491..366596fc2 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,8 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
+ lfsmake2 glib + lfsmake2 libgudev lfsmake2 libgpg-error lfsmake2 libgcrypt lfsmake2 libassuan @@ -1421,7 +1423,6 @@ buildipfire() { lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon - lfsmake2 glib lfsmake2 ntp lfsmake2 openssh lfsmake2 fontconfig
This library implements the QMI modem protocol.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/rootfiles/common/libqmi | 468 +++++++++++++++++++++++++++++++++ lfs/libqmi | 80 ++++++ make.sh | 1 + 3 files changed, 549 insertions(+) create mode 100644 config/rootfiles/common/libqmi create mode 100644 lfs/libqmi
diff --git a/config/rootfiles/common/libqmi b/config/rootfiles/common/libqmi new file mode 100644 index 000000000..ba26300c3 --- /dev/null +++ b/config/rootfiles/common/libqmi @@ -0,0 +1,468 @@ +usr/bin/qmi-firmware-update +usr/bin/qmi-network +usr/bin/qmicli +#usr/include/libqmi-glib +#usr/include/libqmi-glib/libqmi-glib.h +#usr/include/libqmi-glib/qmi-client.h +#usr/include/libqmi-glib/qmi-compat.h +#usr/include/libqmi-glib/qmi-device.h +#usr/include/libqmi-glib/qmi-dms.h +#usr/include/libqmi-glib/qmi-dpm.h +#usr/include/libqmi-glib/qmi-dsd.h +#usr/include/libqmi-glib/qmi-enum-types.h +#usr/include/libqmi-glib/qmi-enums-dms.h +#usr/include/libqmi-glib/qmi-enums-dsd.h +#usr/include/libqmi-glib/qmi-enums-gas.h +#usr/include/libqmi-glib/qmi-enums-loc.h +#usr/include/libqmi-glib/qmi-enums-nas.h +#usr/include/libqmi-glib/qmi-enums-oma.h +#usr/include/libqmi-glib/qmi-enums-pbm.h +#usr/include/libqmi-glib/qmi-enums-pdc.h +#usr/include/libqmi-glib/qmi-enums-pds.h +#usr/include/libqmi-glib/qmi-enums-private.h +#usr/include/libqmi-glib/qmi-enums-qos.h +#usr/include/libqmi-glib/qmi-enums-sar.h +#usr/include/libqmi-glib/qmi-enums-uim.h +#usr/include/libqmi-glib/qmi-enums-voice.h +#usr/include/libqmi-glib/qmi-enums-wda.h +#usr/include/libqmi-glib/qmi-enums-wds.h +#usr/include/libqmi-glib/qmi-enums-wms.h +#usr/include/libqmi-glib/qmi-enums.h +#usr/include/libqmi-glib/qmi-error-types.h +#usr/include/libqmi-glib/qmi-errors.h +#usr/include/libqmi-glib/qmi-flags64-dms.h +#usr/include/libqmi-glib/qmi-flags64-dsd.h +#usr/include/libqmi-glib/qmi-flags64-loc.h +#usr/include/libqmi-glib/qmi-flags64-nas.h +#usr/include/libqmi-glib/qmi-flags64-types.h +#usr/include/libqmi-glib/qmi-flags64-wds.h +#usr/include/libqmi-glib/qmi-gas.h +#usr/include/libqmi-glib/qmi-gms.h +#usr/include/libqmi-glib/qmi-loc.h +#usr/include/libqmi-glib/qmi-message-context.h +#usr/include/libqmi-glib/qmi-message.h +#usr/include/libqmi-glib/qmi-nas.h +#usr/include/libqmi-glib/qmi-oma.h +#usr/include/libqmi-glib/qmi-pbm.h +#usr/include/libqmi-glib/qmi-pdc.h +#usr/include/libqmi-glib/qmi-pds.h +#usr/include/libqmi-glib/qmi-proxy.h +#usr/include/libqmi-glib/qmi-qos.h +#usr/include/libqmi-glib/qmi-sar.h +#usr/include/libqmi-glib/qmi-uim.h +#usr/include/libqmi-glib/qmi-utils.h +#usr/include/libqmi-glib/qmi-version.h +#usr/include/libqmi-glib/qmi-voice.h +#usr/include/libqmi-glib/qmi-wda.h +#usr/include/libqmi-glib/qmi-wds.h +#usr/include/libqmi-glib/qmi-wms.h +#usr/lib/libqmi-glib.la +#usr/lib/libqmi-glib.so +usr/lib/libqmi-glib.so.5 +usr/lib/libqmi-glib.so.5.8.0 +#usr/lib/pkgconfig/qmi-glib.pc +usr/libexec/qmi-proxy +#usr/share/bash-completion/completions/qmicli +#usr/share/gtk-doc/html/libqmi-glib +#usr/share/gtk-doc/html/libqmi-glib/QmiClient.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientDms.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientDpm.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientDsd.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientGas.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientGms.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientLoc.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientNas.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientOma.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientPbm.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientPdc.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientPds.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientQos.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientSar.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientUim.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientVoice.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientWda.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientWds.html +#usr/share/gtk-doc/html/libqmi-glib/QmiClientWms.html +#usr/share/gtk-doc/html/libqmi-glib/QmiDevice.html +#usr/share/gtk-doc/html/libqmi-glib/QmiMessageContext.html +#usr/share/gtk-doc/html/libqmi-glib/QmiProxy.html +#usr/share/gtk-doc/html/libqmi-glib/annotation-glossary.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-0.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-10.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-12.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-14.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-16.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-18.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-20.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-22-4.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-22.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-24-6.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-24.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-26-2.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-26-6.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-26.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-28-6.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-28.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-30-2.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-30-8.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-30.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-4.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-6.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-1-8.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-deprecated.html +#usr/share/gtk-doc/html/libqmi-glib/api-index-full.html +#usr/share/gtk-doc/html/libqmi-glib/ch01.html +#usr/share/gtk-doc/html/libqmi-glib/ch02.html +#usr/share/gtk-doc/html/libqmi-glib/ch02s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch03.html +#usr/share/gtk-doc/html/libqmi-glib/ch03s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch04.html +#usr/share/gtk-doc/html/libqmi-glib/ch04s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch05.html +#usr/share/gtk-doc/html/libqmi-glib/ch05s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch06.html +#usr/share/gtk-doc/html/libqmi-glib/ch06s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch07.html +#usr/share/gtk-doc/html/libqmi-glib/ch07s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch08.html +#usr/share/gtk-doc/html/libqmi-glib/ch09.html +#usr/share/gtk-doc/html/libqmi-glib/ch09s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch10.html +#usr/share/gtk-doc/html/libqmi-glib/ch10s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch11.html +#usr/share/gtk-doc/html/libqmi-glib/ch12.html +#usr/share/gtk-doc/html/libqmi-glib/ch12s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch13.html +#usr/share/gtk-doc/html/libqmi-glib/ch13s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch14.html +#usr/share/gtk-doc/html/libqmi-glib/ch14s02.html +#usr/share/gtk-doc/html/libqmi-glib/ch15.html +#usr/share/gtk-doc/html/libqmi-glib/ch16.html +#usr/share/gtk-doc/html/libqmi-glib/ch17.html +#usr/share/gtk-doc/html/libqmi-glib/ch18.html +#usr/share/gtk-doc/html/libqmi-glib/ch19.html +#usr/share/gtk-doc/html/libqmi-glib/ch20.html +#usr/share/gtk-doc/html/libqmi-glib/home.png +#usr/share/gtk-doc/html/libqmi-glib/index.html +#usr/share/gtk-doc/html/libqmi-glib/left-insensitive.png +#usr/share/gtk-doc/html/libqmi-glib/left.png +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Common-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Common-utilities.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Activate-Automatic-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Activate-Manual-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Delete-Stored-Image-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Foxconn-Change-Device-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Foxconn-Get-Firmware-Version-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Foxconn-Set-FCC-Authentication-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Foxconn-Set-FCC-Authentication-v2-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Activation-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Alt-Net-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Band-Capabilities-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Boot-Image-Download-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Capabilities-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Factory-SKU-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Firmware-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Hardware-Revision-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-IDs-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-MAC-Address-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-MSISDN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Manufacturer-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Model-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Operating-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-PRL-Version-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Power-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Revision-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Software-Version-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Stored-Image-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-Time-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Get-User-Lock-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-HP-Change-Device-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-List-Stored-Images-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Read-ERI-File-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Read-User-Data-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Restore-Factory-Defaults-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Alt-Net-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Boot-Image-Download-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-FCC-Authentication-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Firmware-ID-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Firmware-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Operating-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Service-Programming-Code-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-Time-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-User-Lock-Code-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Set-User-Lock-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Swi-Get-Current-Firmware-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Swi-Get-USB-Composition-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Swi-Set-USB-Composition-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Change-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Get-CK-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Get-ICCID-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Get-IMSI-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Get-PIN-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Get-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Set-CK-Protection-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Set-PIN-Protection-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Unblock-CK-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Unblock-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-UIM-Verify-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Validate-Service-Programming-Code-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-Write-User-Data-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DMS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DPM-Close-Port-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DPM-Open-Port-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DSD-Get-APN-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DSD-Set-APN-Type-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-DSD-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Deprecated-Interface.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Errors.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-GAS-DMS-Get-Firmware-List-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-GAS-DMS-Set-Active-Firmware-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-GAS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-GMS-Test-Get-Value-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-GMS-Test-Set-Value-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Delete-Assistance-Data-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Delete-Assistance-Data-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Engine-State-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Fix-Recurrence-Type-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-GNSS-Sv-Info-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Engine-Lock-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Engine-Lock-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-NMEA-Types-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-NMEA-Types-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Operation-Mode-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Operation-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Predicted-Orbits-Data-Source-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Predicted-Orbits-Data-Source-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Server-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Get-Server-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Inject-Predicted-Orbits-Data-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Inject-Predicted-Orbits-Data-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Inject-Xtra-Data-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Inject-Xtra-Data-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-NMEA-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Position-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Register-Events-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Engine-Lock-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Engine-Lock-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-NMEA-Types-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-NMEA-Types-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Operation-Mode-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Operation-Mode-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Server-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Set-Server-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Start-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-Stop-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-LOC-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Attach-Detach-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Config-Signal-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Force-Network-Search-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-CDMA-Position-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Cell-Location-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-DRX-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Home-Network-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-LTE-Cphy-CA-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Operator-Name-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-PLMN-Name-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Preferred-Networks-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-RF-Band-Information-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Serving-System-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Signal-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Signal-Strength-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-System-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-System-Selection-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Technology-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Get-Tx-Rx-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Initiate-Network-Register-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Network-Reject-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Network-Scan-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Network-Time-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Operator-Name-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Register-Indications-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Serving-System-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Set-Preferred-Networks-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Set-System-Selection-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Set-Technology-Preference-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Signal-Info-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-Swi-Get-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-System-Info-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-NAS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Cancel-Session-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Get-Feature-Setting-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Get-Session-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Send-Selection-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Set-Feature-Setting-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-Start-Session-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-OMA-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PBM-Get-All-Capabilities-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PBM-Get-Capabilities-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PBM-Indication-Register-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PBM-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Activate-Config-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Activate-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Config-Change-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Deactivate-Config-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Deactivate-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Delete-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Config-Info-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Config-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Config-Limits-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Default-Config-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Selected-Config-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Get-Selected-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-List-Configs-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-List-Configs-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Load-Config-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Load-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Register-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Set-Selected-Config-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-Set-Selected-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDC-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Get-AGPS-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Get-Auto-Tracking-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Get-Default-Tracking-Session-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Get-GPS-Service-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Set-AGPS-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Set-Auto-Tracking-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Set-Default-Tracking-Session-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-Set-GPS-Service-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-PDS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Flow-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Get-Flow-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Get-Network-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Network-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-Swi-Read-Data-Stats-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QOS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-QmiMessage.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-SAR-RF-Get-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-SAR-RF-Set-State-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-SAR-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Card-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Change-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Change-Provisioning-Session-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Depersonalization-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Get-Card-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Get-Configuration-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Get-File-Attributes-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Get-Slot-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Power-Off-SIM-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Power-On-SIM-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Read-Record-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Read-Transparent-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Refresh-Complete-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Refresh-Register-All-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Refresh-Register-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Refresh-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Register-Events-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Set-PIN-Protection-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Slot-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Switch-Slot-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Unblock-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-Verify-PIN-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-UIM-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-All-Call-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Answer-Call-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Answer-USSD-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Cancel-USSD-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Dial-Call-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-End-Call-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Get-All-Call-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Get-Call-Waiting-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Get-Config-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Indication-Register-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Manage-Calls-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Originate-USSD-No-Wait-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Originate-USSD-No-Wait-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Originate-USSD-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Release-USSD-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Set-Supplementary-Service-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-Supplementary-Service-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-VOICE-USSD-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Version-and-feature-checks.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-Voice-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDA-Get-Data-Format-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDA-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDA-Set-Data-Format-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDA-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Bind-Data-Port-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Bind-Mux-Data-Port-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Create-Profile-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Delete-Profile-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Autoconnect-Settings-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Channel-Rates-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Current-Data-Bearer-Technology-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Current-Settings-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Data-Bearer-Technology-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Default-Profile-Number-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Default-Settings-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Dormancy-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-LTE-Attach-PDN-List-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-LTE-Attach-Parameters-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Max-LTE-Attach-PDN-Number-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-PDN-Throttle-Info-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Packet-Service-Status-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Packet-Statistics-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Profile-List-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Profile-Settings-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Go-Active-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Go-Dormant-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Modify-Profile-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Packet-Service-Status-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-Autoconnect-Settings-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-Default-Profile-Number-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-IP-Family-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-LTE-Attach-PDN-List-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Set-LTE-Attach-PDN-List-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Start-Network-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Stop-Network-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-Swi-Create-Profile-Indexed-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WDS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Delete-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Event-Report-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Get-Message-Protocol-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Get-Routes-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Get-Supported-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-List-Messages-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Modify-Tag-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Raw-Read-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Raw-Send-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Raw-Write-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Reset-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-SMSC-Address-indication.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Send-Ack-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Send-From-Memory-Storage-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Set-Event-Report-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-Set-Routes-request.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib-WMS-enumerations-and-flags.html +#usr/share/gtk-doc/html/libqmi-glib/libqmi-glib.devhelp2 +#usr/share/gtk-doc/html/libqmi-glib/object-tree.html +#usr/share/gtk-doc/html/libqmi-glib/right-insensitive.png +#usr/share/gtk-doc/html/libqmi-glib/right.png +#usr/share/gtk-doc/html/libqmi-glib/style.css +#usr/share/gtk-doc/html/libqmi-glib/up-insensitive.png +#usr/share/gtk-doc/html/libqmi-glib/up.png +#usr/share/man/man1/qmi-firmware-update.1 +#usr/share/man/man1/qmi-network.1 +#usr/share/man/man1/qmicli.1 diff --git a/lfs/libqmi b/lfs/libqmi new file mode 100644 index 000000000..146c497aa --- /dev/null +++ b/lfs/libqmi @@ -0,0 +1,80 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2019 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.30.8 + +THISAPP = libqmi-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = c8d98106783eb22571ee82c0012e1ce7ed79e94818350134b80853e16fa287c77bafb34d2913690ae593d02112dc5d2b0ff77606a24c4ce63733fd64245961a1 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-static + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 366596fc2..0d1457d99 100755 --- a/make.sh +++ b/make.sh @@ -1197,6 +1197,7 @@ buildipfire() { lfsmake2 dhcpcd lfsmake2 boost lfsmake2 linux-atm + lfsmake2 libqmi lfsmake2 gdbm lfsmake2 pam lfsmake2 c-ares
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index c243ce1a7..38632aa61 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -90,4 +90,7 @@ dhcpcd_down() case "$reason" in BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) dhcpcd_up;; PREINIT|EXPIRE|FAIL|IPV4LL|NAK|RELEASE|STOP) dhcpcd_down;; +*) + logger -p "local0.info" -t "dhcpcd.exe[$$]" "Unhandled DHCP event: ${reason}" + ;; esac
This is useful for dial-up methods that use DHCP, but when RED_TYPE is configured as PPP.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 42 +++++++++++++-------------- 1 file changed, 20 insertions(+), 22 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 38632aa61..8a409d010 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -34,32 +34,30 @@ dhcpcd_up() fi
# Only if RED_TYPE=DHCP update /var/ipfire/red - if [ "$RED_TYPE" == "DHCP" ]; then - # Check if we have to restart the services at update - [ ! -e "/var/ipfire/red/active" ] && update=1; - if [ "$old_domain_name_service" != "$new_domain_name_service" ]; then - update=1; - fi - if [ "$old_ip_address" != "$new_ip_address" ]; then - update=1; - fi - if [ "$old_routers" != "$new_routers" ]; then - update=1; - fi + # Check if we have to restart the services at update + [ ! -e "/var/ipfire/red/active" ] && update=1; + if [ "$old_domain_name_service" != "$new_domain_name_service" ]; then + update=1; + fi + if [ "$old_ip_address" != "$new_ip_address" ]; then + update=1; + fi + if [ "$old_routers" != "$new_routers" ]; then + update=1; + fi
- # Get DNS from dhcp - /etc/rc.d/helper/getdnsfromdhcpc.pl 1 > /var/run/dns1 - /etc/rc.d/helper/getdnsfromdhcpc.pl 2 > /var/run/dns2 + # Get DNS from dhcp + /etc/rc.d/helper/getdnsfromdhcpc.pl 1 > /var/run/dns1 + /etc/rc.d/helper/getdnsfromdhcpc.pl 2 > /var/run/dns2
- #Get IP Address - echo -n "$new_ip_address" > /var/ipfire/red/local-ipaddress + #Get IP Address + echo -n "$new_ip_address" > /var/ipfire/red/local-ipaddress
- #Get default gateway - grep -v -E "<gateway>" /etc/hosts > /tmp/hosts - echo "$new_routers gateway" >> /tmp/hosts - mv /tmp/hosts /etc/hosts + #Get default gateway + grep -v -E "<gateway>" /etc/hosts > /tmp/hosts + echo "$new_routers gateway" >> /tmp/hosts + mv /tmp/hosts /etc/hosts
- fi if [ $update ]; then [ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active echo -n "$new_routers" > /var/ipfire/red/remote-ipaddress
This is useful for debugging.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/functions.network | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/initscripts/networking/functions.network b/src/initscripts/networking/functions.network index eae4a7b7c..f246919de 100644 --- a/src/initscripts/networking/functions.network +++ b/src/initscripts/networking/functions.network @@ -59,8 +59,9 @@ dhcpcd_is_running() {
dhcpcd_start() { # This function will start a dhcpcd on a speciefied device. - local device="$1" + shift + local dhcp_start=()
boot_mesg -n "Starting dhcpcd on the ${device} interface..." @@ -84,6 +85,9 @@ dhcpcd_start() { dhcp_start+=( "--static" "mtu=${RED_DHCP_FORCE_MTU}" ) fi
+ # Append any further command line options + dhcp_start+=( $@ ) + # Start dhcpcd. /sbin/dhcpcd "${dhcp_start[@]}" ${device} >/dev/null 2>&1 ret="$?"
QMI is a proprietary interface from Qualcomm which are absolute pioneers when it comes to interfacing with modems. I don't think there would be any way to make this any more complicated and bloated.
So, bascially we will put the modem into a raw IP mode which changes the interface into Point-to-Point mode.
We then configure the provider settings using qmicli. After that, the modem will try to connect to the provider and obtain an IP address.
We will then start a DHCP client which does not do any DHCP-ing because implementing that would be too complicated. Instead we do something even *more* complicated where we would launch a custom script which asks the modem for the allocated IP address and will configure it into the device. The DHCP client then reads that IP address from the device and pretends it came up with it by itself. Such an easy way to do this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 62 ++++++++++++++ src/initscripts/networking/functions.network | 90 ++++++++++++++++++++ src/initscripts/networking/red | 36 ++++++++ 3 files changed, 188 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 8a409d010..be6d63708 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -20,6 +20,7 @@
. /etc/sysconfig/rc . $rc_functions +. /etc/init.d/networking/functions.network
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
@@ -85,9 +86,70 @@ dhcpcd_down() fi }
+# Called when dhcpcd relies on a third party to configure an IP address +dhcpcd_3rdparty() { + local qmi_device="$(qmi_find_device "${interface}")" + + if [ -n "${qmi_device}" ]; then + setup_qmi "${qmi_device}" || return $? + fi + + return 0 +} + +setup_qmi() { + local device="${1}" + + local address + local netmask + local gateway + local mtu=1500 + + local line + while read -r line; do + # Extract the value + value="${line#*: }" + + case "${line}" in + *IPv4\ address:*) + address="${value}" + ;; + *IPv4\ subnet\ mask:*) + netmask="${value}" + ;; + *IPv4\ gateway\ address:*) + gateway="${value}" + ;; + *MTU:*) + mtu="${value}" + ;; + esac + done <<< "$(qmicli --device="${device}" --wds-get-current-settings)" + + if [ -z "${address}" ] || [ -z "${netmask}" ] || [ -z "${gateway}" ]; then + logger -p "local0.info" -t "dhcpcd.exe[$$]" \ + "Could not retrieve all information from the QMI interface" + return 1 + fi + + # Flush any previous configuration + ip addr flush dev "${interface}" + + # Configure the IP address + ip addr add "${address}/${netmask}" dev "${interface}" + + # Configure the default route + ip route add default via "${gateway}" #mtu "${mtu}" + + return 0 +} + case "$reason" in BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) dhcpcd_up;; PREINIT|EXPIRE|FAIL|IPV4LL|NAK|RELEASE|STOP) dhcpcd_down;; +3RDPARTY) + dhcpcd_3rdparty + ;; *) logger -p "local0.info" -t "dhcpcd.exe[$$]" "Unhandled DHCP event: ${reason}" ;; diff --git a/src/initscripts/networking/functions.network b/src/initscripts/networking/functions.network index f246919de..9698424fd 100644 --- a/src/initscripts/networking/functions.network +++ b/src/initscripts/networking/functions.network @@ -169,3 +169,93 @@ dhcpcd_stop() { echo_failure fi } + +# QMI stuff + +qmi_find_device() { + local intf="${1}" + local _intf + + local path + for path in /dev/cdc-*; do + if [ -c "${path}" ]; then + _intf="$(qmicli --device="${path}" --device-open-proxy --get-wwan-iface)" + + # Check if the interface matches + if [ "${intf}" = "${_intf}" ]; then + echo "${path}" + return 0 + fi + fi + done + + # Nothing found + return 1 +} + +qmi_enable_rawip_mode() { + local intf="${1}" + + # Shut down the device first + ip link set "${intf}" down &>/dev/null + + echo "Y" > "/sys/class/net/${intf}/qmi/raw_ip" +} + +qmi_configure_apn() { + local device="${1}" + + # APN settings + local apn="${2}" + local auth="${3}" + local username="${4}" + local password="${5}" + + local args=( + # We only support IPv4 right now + "ip-type=4" + ) + + # Set APN + if [ -n "${apn}" ]; then + args+=( "apn=${apn}" ) + fi + + # Set auth + case "${auth}" in + PAP|CHAP) + args+=( "auth=${auth}" ) + ;; + esac + + # Set username + if [ -n "${username}" ]; then + args+=( "username=${username}" ) + fi + + # Set password + if [ -n "${password}" ]; then + args+=( "password=${password}" ) + fi + + local _args + + local arg + for arg in ${args[@]}; do + if [ -n "${_args}" ]; then + _args="${_args}," + fi + _args="${_args}${arg}" + done + + qmicli --device="${device}" --device-open-proxy \ + --wds-start-network="${_args}" \ + --client-no-release-cid +} + +qmi_reset() { + local device="${1}" + + qmicli --device="${device}" --device-open-proxy \ + --wds-reset +} diff --git a/src/initscripts/networking/red b/src/initscripts/networking/red index fc10e077a..7df61c1cf 100644 --- a/src/initscripts/networking/red +++ b/src/initscripts/networking/red @@ -210,6 +210,27 @@ case "${1}" in if [ "$TYPE" == "pptpatm" ]; then TYPE="pptp" fi + + # QMI + elif [ "$TYPE" = "qmi" ]; then + DEVICE="$(qmi_find_device "${RED_DEV}")" + + boot_mesg "Bringing up QMI on ${RED_DEV} (${DEVICE})..." + + # Enable RAW-IP mode + qmi_enable_rawip_mode "${RED_DEV}" + + # Configure APN + qmi_configure_apn "${DEVICE}" "${APN}" "${AUTH}" "${USERNAME}" "${PASSWORD}" + + # Set up the interface + ip link set "${RED_DEV}" up &>/dev/null + + # Start the DHCP client + dhcpcd_start "${RED_DEV}" --debug + + # Done + exit 0 fi
if [ "$TYPE" == "vdsl" ]; then @@ -477,6 +498,21 @@ case "${1}" in run_subdir ${rc_base}/init.d/networking/red.down/
elif [ "$TYPE" == "PPPOE" ]; then + eval $(/usr/local/bin/readhash /var/ipfire/ppp/settings) + + if [ "${TYPE}" = "qmi" ]; then + boot_mesg "Bringing down the QMI interface ${RED_DEV}..." + DEVICE="$(qmi_find_device "${RED_DEV}")" + + # Stop the DHCP client on RED + dhcpcd_stop "${RED_DEV}" + + # Reset any QMI settings + qmi_reset "${DEVICE}" + + exit 0 + fi + boot_mesg "Bringing down the PPP interface ..." rm -f /var/ipfire/red/keepconnected killall -w -s TERM /usr/sbin/pppd 2>/dev/null
This has been removed a long time ago and we should probably spend a little bit more time on keeping the networking code tidy :)
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/rootfiles/common/configroot | 2 -- doc/language_issues.de | 5 ----- doc/language_issues.en | 2 +- doc/language_issues.es | 1 - doc/language_issues.fr | 5 ----- doc/language_issues.it | 5 ----- doc/language_issues.nl | 5 ----- doc/language_issues.pl | 5 ----- doc/language_issues.ru | 5 ----- doc/language_issues.tr | 5 ----- html/cgi-bin/pppsetup.cgi | 16 +++++----------- langs/de/cgi-bin/de.pl | 5 ----- langs/en/cgi-bin/en.pl | 5 ----- langs/es/cgi-bin/es.pl | 1 - langs/fr/cgi-bin/fr.pl | 5 ----- langs/it/cgi-bin/it.pl | 5 ----- langs/nl/cgi-bin/nl.pl | 5 ----- langs/pl/cgi-bin/pl.pl | 5 ----- langs/ru/cgi-bin/ru.pl | 5 ----- langs/tr/cgi-bin/tr.pl | 5 ----- lfs/configroot | 4 ++-- src/ppp/ip-up | 5 ----- 22 files changed, 8 insertions(+), 98 deletions(-)
diff --git a/config/rootfiles/common/configroot b/config/rootfiles/common/configroot index 4d631cea5..bc979cf2c 100644 --- a/config/rootfiles/common/configroot +++ b/config/rootfiles/common/configroot @@ -85,8 +85,6 @@ var/ipfire/ipblocklist-functions.pl var/ipfire/ipblocklist #var/ipfire/ipblocklist/modified #var/ipfire/ipblocklist/settings -var/ipfire/isdn -#var/ipfire/isdn/settings var/ipfire/key var/ipfire/lang.pl var/ipfire/langs diff --git a/doc/language_issues.de b/doc/language_issues.de index 5cbcb1111..6a5f5f108 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -376,7 +376,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -424,10 +423,6 @@ WARNING: translation string unused: ipblocklist category scanner WARNING: translation string unused: ipfire side WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.en b/doc/language_issues.en index c559c62a7..0a9b66ba0 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -2118,7 +2118,7 @@ WARNING: untranslated string: volup10 = Increase volume by 10 WARNING: untranslated string: volup5 = Increase volume by 5 WARNING: untranslated string: vpi number = VPI number: WARNING: untranslated string: vpn = VPN -WARNING: untranslated string: vpn altname syntax = SubjectAltName is a comma separated list of e-mail, dns, uri, rid and ip objects.<br />email:an email address. Syntax email:copy takes the email field from the cert to be used.<br />DNS:a valid domain name.<br />URI:any valid uri.<br />RID:registered object identifier.<br />IP:an IP address.<br />Note:charset is limited and case is significant.<br />Example:<br /><b>e-mail:</b>ipfire@foo.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/to/something +WARNING: untranslated string: vpn altname syntax = SubjectAltName is a comma separated list of email, dns, uri, rid and ip objects.<br />email:an email address. Syntax email:copy takes the email field from the cert to be used.<br />DNS:a valid domain name.<br />URI:any valid uri.<br />RID:registered object identifier.<br />IP:an IP address.<br />Note:charset is limited and case is significant.<br />Example:<br /><b>email:</b>ipfire@foo.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/to/something WARNING: untranslated string: vpn auth-dn = Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field WARNING: untranslated string: vpn broken = Broken WARNING: untranslated string: vpn connecting = CONNECTING diff --git a/doc/language_issues.es b/doc/language_issues.es index 2254e484f..b1530c655 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -415,7 +415,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 1ad14cd34..8d7fd2092 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -404,7 +404,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -454,10 +453,6 @@ WARNING: translation string unused: ipblocklist category scanner WARNING: translation string unused: ipfire side WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.it b/doc/language_issues.it index c7638dbd6..a4fd5ff83 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -372,7 +372,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -417,10 +416,6 @@ WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 4ef506798..39f546dbb 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -374,7 +374,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -419,10 +418,6 @@ WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.pl b/doc/language_issues.pl index ffea51ab3..6cf1299e9 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -315,7 +315,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -359,10 +358,6 @@ WARNING: translation string unused: invert WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 4257c0291..a1054070c 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -312,7 +312,6 @@ WARNING: translation string unused: host configuration WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -356,10 +355,6 @@ WARNING: translation string unused: invert WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/doc/language_issues.tr b/doc/language_issues.tr index da7241f22..b850312e6 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -398,7 +398,6 @@ WARNING: translation string unused: host deny WARNING: translation string unused: hostname and domain already in use WARNING: translation string unused: hour-graph WARNING: translation string unused: hours2 -WARNING: translation string unused: ibod for dual isdn only WARNING: translation string unused: icmp selected but no type WARNING: translation string unused: icmp type WARNING: translation string unused: id @@ -443,10 +442,6 @@ WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules -WARNING: translation string unused: isdn -WARNING: translation string unused: isdn settings -WARNING: translation string unused: isdn1 -WARNING: translation string unused: isdn2 WARNING: translation string unused: javascript menu error1 WARNING: translation string unused: javascript menu error2 WARNING: translation string unused: kernel version diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index 7fbb46a77..d7e5799ec 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -32,7 +32,6 @@ require "${General::swroot}/header.pl"; our %pppsettings=(); my %temppppsettings=(); our %modemsettings=(); -our %isdnsettings=(); our %netsettings=(); my %selected=(); my %checked=(); @@ -63,7 +62,7 @@ if ($pppsettings{'ACTION'} ne '' && &General::readhash("${General::swroot}/ppp/settings", %pppsettings);} elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'}) { - unless ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn|pppoe|pptp|vdsl|pppoeatm|pptpatm)$/) { + unless ($pppsettings{'TYPE'} =~ /^(modem|serial|pppoe|pptp|vdsl|pppoeatm|pptpatm)$/) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } my $type = $pppsettings{'TYPE'}; @@ -72,10 +71,10 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'}) } elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) { - if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1|isdn1|isdn2)$/) { + if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1)$/) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } - if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1)$/) { + if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'MONPORT'} !~ /^(|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1)$/) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400|460800|921600)$/) { @@ -93,7 +92,7 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) $errormessage = $Lang::tr{'profile name not given'}; $pppsettings{'PROFILENAME'} = ''; goto ERROR; } - if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/) { + if ($pppsettings{'TYPE'} =~ /^(modem)$/) { if ($pppsettings{'TELEPHONE'} eq '') { $errormessage = $Lang::tr{'telephone not set'}; goto ERROR; } @@ -739,7 +738,6 @@ print <<END </tr> END ; -if ($pppsettings{'TYPE'} ne 'isdn') { print <<END <tr> <td colspan='4' width='100%'><input type='radio' name='RECONNECTION' value='persistent' $checked{'RECONNECTION'}{'persistent'}>$Lang::tr{'persistent'}</td> @@ -755,11 +753,7 @@ END print <<END </select></td> </tr> -END -; -} -print <<END - <tr> +<tr> <td colspan='3' width='75%'>$Lang::tr{'dod for dns'}</td> <td width='25%'><input type='checkbox' name='DIALONDEMANDDNS' $checked{'DIALONDEMANDDNS'}{'on'} /></td> </tr> diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index a52d41531..94bb2736b 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1365,7 +1365,6 @@ 'hour-graph' => 'Stunde', 'hours' => 'Stunden', 'hours2' => 'Stunden', -'ibod for dual isdn only' => 'iBOD kann nur bei ISDN-Kanalbündelung genutzt werden.', 'icmp selected but no type' => 'ICMP wurde zwar als Protokoll gewählt, es wurde aber kein ICMP-Typ angegeben.', 'icmp type' => 'ICMP-Typ', 'id' => 'ID', @@ -1578,10 +1577,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Address Translation', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Zusätzliche ISDN-Einstellungen:', -'isdn1' => 'Einfaches ISDN', -'isdn2' => 'ISDN-Kanalbündelung', 'itlb multihit' => 'iTLB MultiHit', 'january' => 'Januar', 'javascript menu error1' => 'Wenn die Drop-down-Menus nicht funktionieren, deaktivieren Sie Javascript auf der', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index bcba77aa4..d504c58b6 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1410,7 +1410,6 @@ 'hour-graph' => 'Hour', 'hours' => 'Hours', 'hours2' => 'Hours', -'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.', 'icmp selected but no type' => 'ICMP selected for protocol, but no ICMP type specified.', 'icmp type' => 'ICMP Type', 'id' => 'ID', @@ -1627,10 +1626,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Address Translation', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Additional ISDN settings:', -'isdn1' => 'Single ISDN', -'isdn2' => 'Dual ISDN', 'itlb multihit' => 'iTLB MultiHit', 'january' => 'January', 'javascript menu error1' => 'If the drop down menus aren't working, disable javascript on the', diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl index 022d390fa..3daca873c 100644 --- a/langs/es/cgi-bin/es.pl +++ b/langs/es/cgi-bin/es.pl @@ -1420,7 +1420,6 @@ 'hour-graph' => 'Hora', 'hours' => 'horas', 'hours2' => 'Horas', -'ibod for dual isdn only' => 'iBPD sólo puede usarse con ISDN dual', 'icmp selected but no type' => 'ICMP seleccionado como protocolo, pero no se ha seleccionado tipo de ICMP.', 'icmp type' => 'Tipo de ICMP', 'id' => 'ID', diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl index bfd3f9b5e..aa0697efc 100644 --- a/langs/fr/cgi-bin/fr.pl +++ b/langs/fr/cgi-bin/fr.pl @@ -1411,7 +1411,6 @@ 'hour-graph' => 'Heure', 'hours' => 'heure(s)', 'hours2' => 'Heures', -'ibod for dual isdn only' => 'iBOD peut seulement être utilisé avec un double ISDN.', 'icmp selected but no type' => 'ICMP est le protocole sélectionné, mais il n'y a aucun type ICMP spécifié.', 'icmp type' => 'Type ICMP', 'id' => 'ID', @@ -1631,10 +1630,6 @@ 'iptmangles' => 'Table IP Mangle ', 'iptnats' => 'Traduction d'adresses réseaux table IP ', 'ipts' => 'Tables IP ', -'isdn' => 'RNIS', -'isdn settings' => 'Réglages RNIS supplémentaires :', -'isdn1' => 'RNIS unique', -'isdn2' => 'RNIS double', 'itlb multihit' => 'ITLB - erreur vérification machine', 'january' => 'Janvier', 'javascript menu error1' => 'Si les menus déroulants ne fonctionnent pas, désactivez le Javascript sur la', diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl index 40575b404..7526d67ad 100644 --- a/langs/it/cgi-bin/it.pl +++ b/langs/it/cgi-bin/it.pl @@ -1204,7 +1204,6 @@ 'hour-graph' => 'Ora', 'hours' => 'Ore', 'hours2' => 'Ore', -'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.', 'icmp selected but no type' => 'ICMP selected for protocol, but no ICMP type specified.', 'icmp type' => 'ICMP Type', 'id' => 'ID', @@ -1339,10 +1338,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Address Translation', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Additional ISDN settings:', -'isdn1' => 'Single ISDN', -'isdn2' => 'Dual ISDN', 'january' => 'Gennaio', 'javascript menu error1' => 'If the drop down menus aren't working, disable javascript on the', 'javascript menu error2' => 'page.', diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl index 865cfc5b3..4da924a74 100644 --- a/langs/nl/cgi-bin/nl.pl +++ b/langs/nl/cgi-bin/nl.pl @@ -1200,7 +1200,6 @@ 'hour-graph' => 'Uur', 'hours' => 'uren', 'hours2' => 'Uren', -'ibod for dual isdn only' => 'iBOD kan alleen gebruikt worden met Dual ISDN.', 'icmp selected but no type' => 'ICMP als protocol geselecteerd, maar er is geen ICMP type gespecificeerd.', 'icmp type' => 'ICMP Type', 'id' => 'ID', @@ -1333,10 +1332,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Adrestranslatie', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Extra ISDN instellingen:', -'isdn1' => 'Single ISDN', -'isdn2' => 'Dual ISDN', 'january' => 'Januari', 'javascript menu error1' => 'Als de menu's niet werken, schakel dan javascript uit op de', 'javascript menu error2' => 'pagina.', diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl index eba6fd098..6ff2dab7b 100644 --- a/langs/pl/cgi-bin/pl.pl +++ b/langs/pl/cgi-bin/pl.pl @@ -912,7 +912,6 @@ 'hour-graph' => 'Godzina', 'hours' => 'Godziny', 'hours2' => 'Godziny', -'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.', 'icmp selected but no type' => 'Wybrano protokół ICMP, ale nie określono typu ICMP.', 'icmp type' => 'Typ ICMP', 'id' => 'ID', @@ -1038,10 +1037,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Address Translation', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Dodatkowe ustawienia ISDN:', -'isdn1' => 'Pojedynczy ISDN', -'isdn2' => 'Podwójny ISDN', 'january' => 'Styczeń', 'javascript menu error1' => 'Jeżeli rozwijane menu nie działają poprawnie wyłącz javascript na', 'javascript menu error2' => 'stronie.', diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl index 9e2b02d71..78a43c7d6 100644 --- a/langs/ru/cgi-bin/ru.pl +++ b/langs/ru/cgi-bin/ru.pl @@ -906,7 +906,6 @@ 'hour' => 'Час', 'hours' => 'Часы', 'hours2' => 'Часы', -'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.', 'icmp selected but no type' => 'ICMP selected for protocol, but no ICMP type specified.', 'icmp type' => 'ICMP Type', 'id' => 'ID', @@ -1031,10 +1030,6 @@ 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Address Translation', 'ipts' => 'iptables', -'isdn' => 'ISDN', -'isdn settings' => 'Additional ISDN settings:', -'isdn1' => 'Single ISDN', -'isdn2' => 'Dual ISDN', 'january' => 'Январь', 'javascript menu error1' => 'If the drop down menus aren't working, disable javascript on the', 'javascript menu error2' => 'page.', diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl index ad5567ce1..45fc16144 100644 --- a/langs/tr/cgi-bin/tr.pl +++ b/langs/tr/cgi-bin/tr.pl @@ -1317,7 +1317,6 @@ 'hour-graph' => 'saat', 'hours' => 'saat', 'hours2' => 'saat', -'ibod for dual isdn only' => 'iBOD yalnızca çift ISDN ile kullanılabilir.', 'icmp selected but no type' => 'ICMP kuralı için seçildi ancak ICMP türü belirtildi.', 'icmp type' => 'ICMP Türü', 'id' => 'Kimlik Numarası (ID)', @@ -1457,10 +1456,6 @@ 'iptmangles' => 'IPTablo sıkıştırmaları', 'iptnats' => 'IPTablo ağ adres çevrimi', 'ipts' => 'IPTablolar', -'isdn' => 'ISDN', -'isdn settings' => 'Ek ISDN ayarları:', -'isdn1' => 'Tek ISDN', -'isdn2' => 'Çift ISDN', 'january' => 'Ocak', 'javascript menu error1' => 'Eğer aşağı açılır listeler çalışmıyorsa javascript seçeneğini devre dışı bırakın', 'javascript menu error2' => 'sayfa.', diff --git a/lfs/configroot b/lfs/configroot index ef92f5f08..2c09ae4a8 100644 --- a/lfs/configroot +++ b/lfs/configroot @@ -51,7 +51,7 @@ $(TARGET) :
# Create all directories for i in addon-lang auth backup ca captive certs connscheduler crls ddns dhcp dhcpc dns dnsforward \ - ethernet extrahd/bin fwlogs fwhosts firewall ipblocklist isdn key langs logging mac main \ + ethernet extrahd/bin fwlogs fwhosts firewall ipblocklist key langs logging mac main \ menu.d modem optionsfw \ ovpn patches pakfire portfw ppp private proxy/advanced/cre \ proxy/calamaris/bin qos/bin red remote sensors suricata time \ @@ -66,7 +66,7 @@ $(TARGET) : dhcp/fixleases dhcp/advoptions dhcp/dhcpd.conf.local dns/settings dns/servers dnsforward/config ethernet/aliases ethernet/settings ethernet/known_nics ethernet/scanned_nics \ ethernet/wireless extrahd/scan extrahd/devices extrahd/partitions extrahd/settings firewall/settings firewall/config firewall/locationblock firewall/input firewall/outgoing \ fwhosts/customnetworks fwhosts/customhosts fwhosts/customgroups fwhosts/customservicegrp fwhosts/customlocationgrp fwlogs/ipsettings fwlogs/portsettings ipblocklist/modified \ - ipblocklist/settings isdn/settings mac/settings main/hosts main/routing main/security main/settings optionsfw/settings \ + ipblocklist/settings mac/settings main/hosts main/routing main/security main/settings optionsfw/settings \ ovpn/ccd.conf ovpn/ccdroute ovpn/ccdroute2 pakfire/settings portfw/config ppp/settings-1 ppp/settings-2 ppp/settings-3 ppp/settings-4 \ ppp/settings-5 ppp/settings proxy/settings proxy/squid.conf proxy/advanced/settings proxy/advanced/cre/enable remote/settings qos/settings qos/classes qos/subclasses qos/level7config qos/portconfig \ qos/tosconfig suricata/settings vpn/config vpn/settings vpn/ipsec.conf \ diff --git a/src/ppp/ip-up b/src/ppp/ip-up index ee1683fdd..2e636e72d 100644 --- a/src/ppp/ip-up +++ b/src/ppp/ip-up @@ -24,11 +24,6 @@
eval $(/usr/local/bin/readhash /var/ipfire/ppp/settings)
-if [ "$TYPE" = "isdn" ]; then - DNS1="${MS_DNS1}" - DNS2="${MS_DNS2}" -fi - # Write DNS servers to configuration echo "${DNS1}" > /var/run/dns1 echo "${DNS2}" > /var/run/dns2
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- doc/language_issues.de | 3 +++ doc/language_issues.en | 3 +++ doc/language_issues.es | 3 +++ doc/language_issues.fr | 3 +++ doc/language_issues.it | 3 +++ doc/language_issues.nl | 3 +++ doc/language_issues.pl | 3 +++ doc/language_issues.ru | 3 +++ doc/language_issues.tr | 3 +++ doc/language_missings | 24 ++++++++++++++++++++++++ 10 files changed, 51 insertions(+)
diff --git a/doc/language_issues.de b/doc/language_issues.de index 6a5f5f108..ec01aa511 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -863,6 +863,9 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error WARNING: translation string unused: zoneconf val vlan tag assignment error WARNING: translation string unused: zoneconf val vlan tag range error WARNING: translation string unused: zoneconf val zoneslave amount error +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: aliases default interface = - Default Interface - WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) diff --git a/doc/language_issues.en b/doc/language_issues.en index 0a9b66ba0..28e2a3dc1 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -89,6 +89,9 @@ WARNING: untranslated string: a ca certificate with this name already exists = A WARNING: untranslated string: a connection with this common name already exists = A connection with this common name already exists. WARNING: untranslated string: a connection with this name already exists = A connection with this name already exists. WARNING: untranslated string: abort = abort +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: action = Action WARNING: untranslated string: activate = Activate diff --git a/doc/language_issues.es b/doc/language_issues.es index b1530c655..0bd390d5d 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -938,6 +938,9 @@ WARNING: translation string unused: zoneconf val zoneslave amount error WARNING: untranslated string: Captive ACTIVATE = unknown string WARNING: untranslated string: Captive clients = unknown string WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: bytes = unknown string WARNING: untranslated string: cpu frequency = CPU frequency WARNING: untranslated string: dns servers = DNS Servers diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 8d7fd2092..cbc432058 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -905,6 +905,9 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error WARNING: translation string unused: zoneconf val vlan tag assignment error WARNING: translation string unused: zoneconf val vlan tag range error WARNING: translation string unused: zoneconf val zoneslave amount error +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: advproxy errmsg invalid url = Invalid URL WARNING: untranslated string: core notice 3 = available. WARNING: untranslated string: dh = unknown string diff --git a/doc/language_issues.it b/doc/language_issues.it index a4fd5ff83..2170c415f 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -883,6 +883,9 @@ WARNING: untranslated string: Captive wrong ext = Uploaded file has wrong filety WARNING: untranslated string: MTU settings = MTU settings: WARNING: untranslated string: Number of Countries for the pie chart = Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: administrator password = Administrator password WARNING: untranslated string: administrator username = Administrator username diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 39f546dbb..be4e2c13c 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -883,6 +883,9 @@ WARNING: untranslated string: Captive wrong ext = Uploaded file has wrong filety WARNING: untranslated string: MTU settings = MTU settings: WARNING: untranslated string: Number of Countries for the pie chart = Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: administrator password = Administrator password WARNING: untranslated string: administrator username = Administrator username diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 6cf1299e9..ebe8ff7e4 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -803,6 +803,9 @@ WARNING: untranslated string: MB written = MB written WARNING: untranslated string: MTU settings = MTU settings: WARNING: untranslated string: Number of Countries for the pie chart = Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: addons = Add-Ons WARNING: untranslated string: administrator password = Administrator password diff --git a/doc/language_issues.ru b/doc/language_issues.ru index a1054070c..205557dfc 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -799,6 +799,9 @@ WARNING: untranslated string: MB written = MB written WARNING: untranslated string: MTU settings = MTU settings: WARNING: untranslated string: Number of Countries for the pie chart = Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: addons = Add-Ons WARNING: untranslated string: administrator password = Administrator password diff --git a/doc/language_issues.tr b/doc/language_issues.tr index b850312e6..43d59b298 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -877,6 +877,9 @@ WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: Captive clients = unknown string WARNING: untranslated string: Captive delete logo = Delete Logo WARNING: untranslated string: Scan for Songs = unknown string +WARNING: untranslated string: access point name = Access Point Name +WARNING: untranslated string: access point name is invalid = Access Point Name is invalid +WARNING: untranslated string: access point name is required = Access Point Name is required WARNING: untranslated string: acpitemp = ACPI - Temperatures WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information WARNING: untranslated string: advproxy errmsg invalid url = Invalid URL diff --git a/doc/language_missings b/doc/language_missings index e5fad0a6a..f43e4e771 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -1,6 +1,9 @@ ############################################################################ # Checking cgi-bin translations for language: de # ############################################################################ +< access point name +< access point name is invalid +< access point name is required < advproxy update information < aliases default interface < ansi t1.483 @@ -94,6 +97,9 @@ ############################################################################ # Checking cgi-bin translations for language: es # ############################################################################ +< access point name +< access point name is invalid +< access point name is required < addon < cpu frequency < dns servers @@ -106,6 +112,9 @@ ############################################################################ # Checking cgi-bin translations for language: fr # ############################################################################ +< access point name +< access point name is invalid +< access point name is required < advproxy errmsg invalid url < ansi t1.483 < bewan adsl pci st @@ -121,6 +130,9 @@ # Checking cgi-bin translations for language: it # ############################################################################ < 24 hours +< access point name +< access point name is invalid +< access point name is required < acpitemp < addon < administrator password @@ -618,6 +630,9 @@ # Checking cgi-bin translations for language: nl # ############################################################################ < 24 hours +< access point name +< access point name is invalid +< access point name is required < acpitemp < administrator password < administrator username @@ -1143,6 +1158,9 @@ # Checking cgi-bin translations for language: pl # ############################################################################ < 24 hours +< access point name +< access point name is invalid +< access point name is required < acpitemp < addon < addons @@ -2113,6 +2131,9 @@ # Checking cgi-bin translations for language: ru # ############################################################################ < 24 hours +< access point name +< access point name is invalid +< access point name is required < acpitemp < Add a route < addon @@ -3089,6 +3110,9 @@ ############################################################################ # Checking cgi-bin translations for language: tr # ############################################################################ +< access point name +< access point name is invalid +< access point name is required < acpitemp < addon < advproxy asbased anomaly detection
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- html/cgi-bin/pppsetup.cgi | 37 +++++++++++++++++++++++++++++++++++-- langs/en/cgi-bin/en.pl | 3 +++ 2 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index d7e5799ec..696fa2c96 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -87,6 +87,16 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } + if ($pppsettings{'TYPE'} eq "qmi") { + # APN cannot be empty + if ($pppsettings{'APN'} eq "") { + $errormessage = $Lang::tr{'access point name is required'}; + goto ERROR; + } elsif (!&General::validdomainname($pppsettings{'APN'})) { + $errormessage = $Lang::tr{'access point name is invalid'}; + goto ERROR; + } + }
if ($pppsettings{'PROFILENAME'} eq '') { $errormessage = $Lang::tr{'profile name not given'}; @@ -523,6 +533,7 @@ print <<END <option value='pppoe' $selected{'TYPE'}{'pppoe'}>PPPoE</option> <option value='pptp' $selected{'TYPE'}{'pptp'}>PPTP</option> <option value='vdsl' $selected{'TYPE'}{'vdsl'}>VDSL</option> + <option value='qmi' $selected{'TYPE'}{'qmi'}>QMI</option> END ;
@@ -719,7 +730,8 @@ END ; }
-print <<END +if ($pppsettings{'TYPE'} ne "qmi") { + print <<END <tr> <td colspan='3' width='75%'>$Lang::tr{'idle timeout'} <img src='/blob.gif' alt='*' /></td> <td width='25%'><input type='text' name='TIMEOUT' value='$pppsettings{'TIMEOUT'}' /></td> @@ -738,7 +750,7 @@ print <<END </tr> END ; -print <<END + print <<END <tr> <td colspan='4' width='100%'><input type='radio' name='RECONNECTION' value='persistent' $checked{'RECONNECTION'}{'persistent'}>$Lang::tr{'persistent'}</td> </tr> @@ -767,6 +779,7 @@ END </tr> END ; +}
if ($pppsettings{'TYPE'} eq 'pptp') { @@ -908,6 +921,26 @@ print <<END <tr> <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>$Lang::tr{'authentication'}</b></td> </tr> +END +; + +# Ask for the APN for QMI +if ($pppsettings{'TYPE'} eq 'qmi') { + print <<END; + <tr> + <td width="25%"> + $Lang::tr{'access point name'} + + <img src='/blob.gif' alt='*'/> + </td> + <td colspan="3" width="75%"> + <input type="text" name="APN" value="$pppsettings{'APN'}" /> + </td> + </tr> +END +} + +print <<END <tr> <td width='25%'>$Lang::tr{'username'} <img src='/blob.gif' alt='*' /></td> <td width='25%'><input type='text' name='USERNAME' value='$pppsettings{'USERNAME'}' /></td> diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index d504c58b6..c8fb82586 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -129,6 +129,9 @@ 'a connection with this name already exists' => 'A connection with this name already exists.', 'abort' => 'abort', 'access allowed' => 'Access allowed from:', +'access point name' => 'Access Point Name', +'access point name is invalid' => 'Access Point Name is invalid', +'access point name is required' => 'Access Point Name is required', 'access refused with this oinkcode' => 'Access refused with this Oink Code', 'accounting' => 'Accounting', 'accounting user nonpdc' => 'Accounting - none PDC Mode',
I feel that authentication is more important.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- html/cgi-bin/pppsetup.cgi | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-)
diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index 696fa2c96..ef9a4b3f0 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -899,30 +899,12 @@ END ; }
-print <<END -<tr><td colspan='4' width='100%'><br></br></td></tr> -<tr> - <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>MTU/MRU</b></td> -</tr> -<tr> -<tr> - <td width='25%'>MTU:</td> - <td width='25%'><input type='text' name='MTU' value='$pppsettings{'MTU'}' /></td> -</tr> -<tr> - <td width='25%'>MRU:</td> - <td width='25%'><input type='text' name='MRU' value='$pppsettings{'MRU'}' /></td> -</tr> -END -; - -print <<END +print <<END; <tr><td colspan='4' width='100%'><br></br></td></tr> <tr> <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>$Lang::tr{'authentication'}</b></td> </tr> END -;
# Ask for the APN for QMI if ($pppsettings{'TYPE'} eq 'qmi') { @@ -968,6 +950,19 @@ print <<END <td width='25%'>$Lang::tr{'script name'}</td> <td width='25%'><input type='text' name='LOGINSCRIPT' value='$pppsettings{'LOGINSCRIPT'}' /></td> </tr> +<tr><td colspan='4' width='100%'><br></br></td></tr> +<tr> + <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>MTU/MRU</b></td> +</tr> +<tr> +<tr> + <td width='25%'>MTU:</td> + <td width='25%'><input type='text' name='MTU' value='$pppsettings{'MTU'}' /></td> +</tr> +<tr> + <td width='25%'>MRU:</td> + <td width='25%'><input type='text' name='MRU' value='$pppsettings{'MRU'}' /></td> +</tr> <tr><td colspan='4' width='100%'><br></br><hr></hr><br></br></td></tr> <tr> <td width='25%'>$Lang::tr{'profile name'} <img src='/blob.gif' alt='*' /></td>
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/red | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/initscripts/networking/red b/src/initscripts/networking/red index 7df61c1cf..053b38405 100644 --- a/src/initscripts/networking/red +++ b/src/initscripts/networking/red @@ -227,7 +227,7 @@ case "${1}" in ip link set "${RED_DEV}" up &>/dev/null
# Start the DHCP client - dhcpcd_start "${RED_DEV}" --debug + dhcpcd_start "${RED_DEV}"
# Done exit 0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/dhcpc/dhcpcd.conf | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/config/dhcpc/dhcpcd.conf b/config/dhcpc/dhcpcd.conf index 29f10d1c9..062e3c975 100644 --- a/config/dhcpc/dhcpcd.conf +++ b/config/dhcpc/dhcpcd.conf @@ -1,6 +1,9 @@ # A sample configuration for dhcpcd. # See dhcpcd.conf(5) for details.
+# Only obtain an IP address for IPv4 +ipv4only + # Allow users of this group to interact with dhcpcd via the control socket. #controlgroup wheel
This allows us to start with a fresh interface every time dhcpcd is being restarted.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index be6d63708..f79d5d16d 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -84,6 +84,11 @@ dhcpcd_down() run_subdir ${rc_base}/init.d/networking/red.down/ fi fi + + # Remove any configured IP address from the device + ip addr flush dev "${interface}" &>/dev/null + + return 0 }
# Called when dhcpcd relies on a third party to configure an IP address
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index f79d5d16d..c083b8d96 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -144,7 +144,7 @@ setup_qmi() { ip addr add "${address}/${netmask}" dev "${interface}"
# Configure the default route - ip route add default via "${gateway}" #mtu "${mtu}" + ip route add default via "${gateway}" mtu "${mtu}"
return 0 }
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index c083b8d96..b557bcb12 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -54,10 +54,12 @@ dhcpcd_up() #Get IP Address echo -n "$new_ip_address" > /var/ipfire/red/local-ipaddress
- #Get default gateway - grep -v -E "<gateway>" /etc/hosts > /tmp/hosts - echo "$new_routers gateway" >> /tmp/hosts - mv /tmp/hosts /etc/hosts + # Get default gateway + if [ -n "${new_routers}" ]; then + grep -v -E "<gateway>" /etc/hosts > /tmp/hosts + echo "$new_routers gateway" >> /tmp/hosts + mv /tmp/hosts /etc/hosts + fi
if [ $update ]; then [ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index b557bcb12..fe64132c8 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -146,7 +146,13 @@ setup_qmi() { ip addr add "${address}/${netmask}" dev "${interface}"
# Configure the default route - ip route add default via "${gateway}" mtu "${mtu}" + if [ -n "${gateway}" ]; then + # Store the default gateway + echo -n "${gateway}" > /var/ipfire/red/remote-ipaddress + + # Configure the default route + ip route add default via "${gateway}" mtu "${mtu}" + fi
return 0 }
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index fe64132c8..acd083b6f 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -111,6 +111,8 @@ setup_qmi() { local netmask local gateway local mtu=1500 + local dns1 + local dns2
local line while read -r line; do @@ -127,6 +129,12 @@ setup_qmi() { *IPv4\ gateway\ address:*) gateway="${value}" ;; + *IPv4\ primary\ DNS:*) + dns1="${value}" + ;; + *IPv4\ secondary\ DNS:*) + dns2="${value}" + ;; *MTU:*) mtu="${value}" ;; @@ -154,6 +162,14 @@ setup_qmi() { ip route add default via "${gateway}" mtu "${mtu}" fi
+ # Store and DNS servers + if [ -n "${dns1}" ]; then + echo -n "${dns1}" > /var/ipfire/red/dns1 + fi + if [ -n "${dns2}" ]; then + echo n "${dns2}" > /var/ipfire/red/dns2 + fi + return 0 }
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index acd083b6f..b85a2c598 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -63,7 +63,11 @@ dhcpcd_up()
if [ $update ]; then [ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active - echo -n "$new_routers" > /var/ipfire/red/remote-ipaddress + + if [ -n "${new_routers}" ]; then + echo -n "${new_routers}" > /var/ipfire/red/remote-ipaddress + fi + logger -p local0.info -t dhcpcd.exe[$$] "$interface has been (re)configured with IP=$new_ip_address" run_subdir ${rc_base}/init.d/networking/red.up/ touch /var/ipfire/red/active
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index b85a2c598..440a76693 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -62,7 +62,8 @@ dhcpcd_up() fi
if [ $update ]; then - [ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active + # Consider RED being active + touch /var/ipfire/red/active
if [ -n "${new_routers}" ]; then echo -n "${new_routers}" > /var/ipfire/red/remote-ipaddress @@ -70,7 +71,6 @@ dhcpcd_up()
logger -p local0.info -t dhcpcd.exe[$$] "$interface has been (re)configured with IP=$new_ip_address" run_subdir ${rc_base}/init.d/networking/red.up/ - touch /var/ipfire/red/active fi }
This could potentially create problems when we abuse these functions to launch the DHCP client on IPTV interfaces. This would have to be tested and confirmed or potentially we would need some more changes to keep supporting that use-case, too.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 440a76693..f6e494f96 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -34,7 +34,6 @@ dhcpcd_up() exit 0; fi
- # Only if RED_TYPE=DHCP update /var/ipfire/red # Check if we have to restart the services at update [ ! -e "/var/ipfire/red/active" ] && update=1; if [ "$old_domain_name_service" != "$new_domain_name_service" ]; then @@ -82,13 +81,12 @@ dhcpcd_down() # Remove DNS servers rm -f /var/run/dns1 /var/run/dns2
- # Only if RED_TYPE=DHCP update /var/ipfire/red - if [ "$RED_TYPE" == "DHCP" ]; then - rm -f /var/ipfire/red/active - if [ ! $reason == "PREINIT" ]; then - logger -p local0.info -t dhcpcd.exe[$$] "${interface} has been brought down ($reason)" - run_subdir ${rc_base}/init.d/networking/red.down/ - fi + # Consider RED to be no longer active + rm -f /var/ipfire/red/active + + if [ ! $reason == "PREINIT" ]; then + logger -p local0.info -t dhcpcd.exe[$$] "${interface} has been brought down ($reason)" + run_subdir ${rc_base}/init.d/networking/red.down/ fi
# Remove any configured IP address from the device
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index f6e494f96..22ea9aaf7 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -169,7 +169,7 @@ setup_qmi() { echo -n "${dns1}" > /var/ipfire/red/dns1 fi if [ -n "${dns2}" ]; then - echo n "${dns2}" > /var/ipfire/red/dns2 + echo -n "${dns2}" > /var/ipfire/red/dns2 fi
return 0
When acquiring an IP address, dhcpcd seems to think that the interface is down or does not work properly for some reason. It will subsequentially decide to exit which is not what we want here.
Therefore this patch tells dhcpcd to ignore the link state and keep happily running.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/red | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/initscripts/networking/red b/src/initscripts/networking/red index 053b38405..2d68c1685 100644 --- a/src/initscripts/networking/red +++ b/src/initscripts/networking/red @@ -227,7 +227,7 @@ case "${1}" in ip link set "${RED_DEV}" up &>/dev/null
# Start the DHCP client - dhcpcd_start "${RED_DEV}" + dhcpcd_start "${RED_DEV}" --nolink
# Done exit 0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 22ea9aaf7..ee4b00dbd 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -175,13 +175,17 @@ setup_qmi() { return 0 }
-case "$reason" in -BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) dhcpcd_up;; -PREINIT|EXPIRE|FAIL|IPV4LL|NAK|RELEASE|STOP) dhcpcd_down;; -3RDPARTY) - dhcpcd_3rdparty - ;; -*) - logger -p "local0.info" -t "dhcpcd.exe[$$]" "Unhandled DHCP event: ${reason}" - ;; +case "${reason}" in + BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) + dhcpcd_up + ;; + PREINIT|EXPIRE|FAIL|IPV4LL|NAK|RELEASE|STOP) + dhcpcd_down + ;; + 3RDPARTY) + dhcpcd_3rdparty + ;; + *) + logger -p "local0.info" -t "dhcpcd.exe[$$]" "Unhandled DHCP event: ${reason}" + ;; esac
We don't want any log messages printed.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index ee4b00dbd..4ab9fbc43 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -185,6 +185,9 @@ case "${reason}" in 3RDPARTY) dhcpcd_3rdparty ;; + # Ignored events where we do not need to do anything + STOPPED|CARRIER|NOCARRIER) + ;; *) logger -p "local0.info" -t "dhcpcd.exe[$$]" "Unhandled DHCP event: ${reason}" ;;
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 4ab9fbc43..220f95c83 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -60,6 +60,18 @@ dhcpcd_up() mv /tmp/hosts /etc/hosts fi
+ # Try to set the default route if there is none + # This can happen when we are using the 3RD party configuration + # This should not be necessary, since dhcpcd says it will configure + # a default route, but that does not seem to happen: + # https://github.com/NetworkConfiguration/dhcpcd/issues/129 + if ! ip route 2>/dev/null | grep ^default && [ -s "/var/ipfire/red/remote-ipaddress" ]; then + gateway=$(</var/ipfire/red/remote-ipaddress) + + # XXX This is ignoring any MTU configuration + ip route add default via "${gateway}" + fi + if [ $update ]; then # Consider RED being active touch /var/ipfire/red/active
So since all this static nonsense wasn't feeling right, I opened a ticket upstream and got a lead how to actually get some proper DHCP working.
https://github.com/NetworkConfiguration/dhcpcd/issues/129
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/dhcpcd.exe | 95 --------------------------- src/initscripts/networking/red | 2 +- 2 files changed, 1 insertion(+), 96 deletions(-)
diff --git a/src/initscripts/networking/dhcpcd.exe b/src/initscripts/networking/dhcpcd.exe index 220f95c83..c8a79999d 100644 --- a/src/initscripts/networking/dhcpcd.exe +++ b/src/initscripts/networking/dhcpcd.exe @@ -60,18 +60,6 @@ dhcpcd_up() mv /tmp/hosts /etc/hosts fi
- # Try to set the default route if there is none - # This can happen when we are using the 3RD party configuration - # This should not be necessary, since dhcpcd says it will configure - # a default route, but that does not seem to happen: - # https://github.com/NetworkConfiguration/dhcpcd/issues/129 - if ! ip route 2>/dev/null | grep ^default && [ -s "/var/ipfire/red/remote-ipaddress" ]; then - gateway=$(</var/ipfire/red/remote-ipaddress) - - # XXX This is ignoring any MTU configuration - ip route add default via "${gateway}" - fi - if [ $update ]; then # Consider RED being active touch /var/ipfire/red/active @@ -107,86 +95,6 @@ dhcpcd_down() return 0 }
-# Called when dhcpcd relies on a third party to configure an IP address -dhcpcd_3rdparty() { - local qmi_device="$(qmi_find_device "${interface}")" - - if [ -n "${qmi_device}" ]; then - setup_qmi "${qmi_device}" || return $? - fi - - return 0 -} - -setup_qmi() { - local device="${1}" - - local address - local netmask - local gateway - local mtu=1500 - local dns1 - local dns2 - - local line - while read -r line; do - # Extract the value - value="${line#*: }" - - case "${line}" in - *IPv4\ address:*) - address="${value}" - ;; - *IPv4\ subnet\ mask:*) - netmask="${value}" - ;; - *IPv4\ gateway\ address:*) - gateway="${value}" - ;; - *IPv4\ primary\ DNS:*) - dns1="${value}" - ;; - *IPv4\ secondary\ DNS:*) - dns2="${value}" - ;; - *MTU:*) - mtu="${value}" - ;; - esac - done <<< "$(qmicli --device="${device}" --wds-get-current-settings)" - - if [ -z "${address}" ] || [ -z "${netmask}" ] || [ -z "${gateway}" ]; then - logger -p "local0.info" -t "dhcpcd.exe[$$]" \ - "Could not retrieve all information from the QMI interface" - return 1 - fi - - # Flush any previous configuration - ip addr flush dev "${interface}" - - # Configure the IP address - ip addr add "${address}/${netmask}" dev "${interface}" - - # Configure the default route - if [ -n "${gateway}" ]; then - # Store the default gateway - echo -n "${gateway}" > /var/ipfire/red/remote-ipaddress - - # Configure the default route - ip route add default via "${gateway}" mtu "${mtu}" - fi - - # Store and DNS servers - if [ -n "${dns1}" ]; then - echo -n "${dns1}" > /var/ipfire/red/dns1 - fi - if [ -n "${dns2}" ]; then - echo -n "${dns2}" > /var/ipfire/red/dns2 - fi - - return 0 -} - case "${reason}" in BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) dhcpcd_up @@ -194,9 +102,6 @@ case "${reason}" in PREINIT|EXPIRE|FAIL|IPV4LL|NAK|RELEASE|STOP) dhcpcd_down ;; - 3RDPARTY) - dhcpcd_3rdparty - ;; # Ignored events where we do not need to do anything STOPPED|CARRIER|NOCARRIER) ;; diff --git a/src/initscripts/networking/red b/src/initscripts/networking/red index 2d68c1685..f927ddbfb 100644 --- a/src/initscripts/networking/red +++ b/src/initscripts/networking/red @@ -227,7 +227,7 @@ case "${1}" in ip link set "${RED_DEV}" up &>/dev/null
# Start the DHCP client - dhcpcd_start "${RED_DEV}" --nolink + dhcpcd_start "${RED_DEV}" --dhcp
# Done exit 0
This is really badly hacky, but I do not know a better way to solve this with our existing "setup" program which would be a nightmare to extend.
So we are using the device number to generate a static MAC address which can then be used as usual. I doubt many people will have more than one device.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/udev/network-hotplug-rename | 9 ++++++++ src/initscripts/networking/functions.network | 24 +++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/config/udev/network-hotplug-rename b/config/udev/network-hotplug-rename index 73e811e94..7c81bdb78 100644 --- a/config/udev/network-hotplug-rename +++ b/config/udev/network-hotplug-rename @@ -19,6 +19,8 @@ # # ###############################################################################
+. /etc/rc.d/init.d/networking/functions.network + # Check if all appropriate variables are set [ -n "${INTERFACE}" ] || exit 2
@@ -44,6 +46,13 @@ if [ ! -r "/var/ipfire/ethernet/settings" ]; then exit 1 fi
+# Change MAC addresses of QMI interface +if [ -d "/sys/class/net/${INTERFACE}/qmi" ]; then + if ! qmi_assign_address "${INTERFACE}"; then + exit 1 + fi +fi + # Read network settings eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
diff --git a/src/initscripts/networking/functions.network b/src/initscripts/networking/functions.network index 9698424fd..e8f6c28d8 100644 --- a/src/initscripts/networking/functions.network +++ b/src/initscripts/networking/functions.network @@ -179,7 +179,7 @@ qmi_find_device() { local path for path in /dev/cdc-*; do if [ -c "${path}" ]; then - _intf="$(qmicli --device="${path}" --device-open-proxy --get-wwan-iface)" + _intf="$(qmi_find_interface "${path}")"
# Check if the interface matches if [ "${intf}" = "${_intf}" ]; then @@ -193,6 +193,12 @@ qmi_find_device() { return 1 }
+qmi_find_interface() { + local device="${1}" + + qmicli --device="${device}" --device-open-proxy --get-wwan-iface +} + qmi_enable_rawip_mode() { local intf="${1}"
@@ -259,3 +265,19 @@ qmi_reset() { qmicli --device="${device}" --device-open-proxy \ --wds-reset } + +# Assigns a "static" MAC address +qmi_assign_address() { + local intf="${1}" + + # Find the device + local device="$(qmi_find_device "${intf}")" + + local address + + # Generate a "random" MAC address using the device number + printf -v address "02:ff:ff:ff:ff:%02x" "${device:12}" + + # Change the MAC address + ip link set "${intf}" address "${address}" +}
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/initscripts/networking/functions.network | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/initscripts/networking/functions.network b/src/initscripts/networking/functions.network index e8f6c28d8..36541eb13 100644 --- a/src/initscripts/networking/functions.network +++ b/src/initscripts/networking/functions.network @@ -256,14 +256,14 @@ qmi_configure_apn() {
qmicli --device="${device}" --device-open-proxy \ --wds-start-network="${_args}" \ - --client-no-release-cid + --client-no-release-cid &>/dev/null }
qmi_reset() { local device="${1}"
qmicli --device="${device}" --device-open-proxy \ - --wds-reset + --wds-reset &>/dev/null }
# Assigns a "static" MAC address
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- make.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/make.sh b/make.sh index 0d1457d99..2cf47e6a9 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,10 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
+ lfsmake2 python3-setuptools + lfsmake2 libffi + lfsmake2 ninja + lfsmake2 meson lfsmake2 glib lfsmake2 libgudev lfsmake2 libgpg-error @@ -1204,7 +1208,6 @@ buildipfire() { lfsmake2 curl lfsmake2 tcl lfsmake2 sqlite - lfsmake2 libffi lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar @@ -1324,8 +1327,6 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake - lfsmake2 ninja - lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif @@ -1420,7 +1421,6 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON - lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon
Hello Michael,
currently working on Core Update 173, this patch seems to break glib (at least that's what I am assuming, given that glib itself has not been touched in a while):
glib (2.71.1) [ 0 ][ FAIL ]
'dest/tools_x86_64/bin/meson' -> '/tools_x86_64/bin/meson' Updating linker cache... Install done; saving file list to /usr/src/log/meson-0.64.1 ... Dec 17 19:05:41: Building glib glib-2.71.1.tar.xz checksum OK + cd /usr/src/lfs + make -f glib LFS_BASEDIR=/usr/src install ====================================== Installing glib-2.71.1 ... Install started; saving file list to /usr/src/lsalr ... cd /usr/src/glib-2.71.1 && meson --prefix=/usr \ --sysconfdir=/etc \ builddir/ Traceback (most recent call last): File "/tools_x86_64/bin/meson", line 33, in <module> sys.exit(load_entry_point('meson==0.64.1', 'console_scripts', 'meson')()) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 287, in main return run(sys.argv[1:], launcher) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 277, in run set_meson_command(mainfile) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 235, in set_meson_command from . import mesonlib File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonlib.py", line 24, in <module> from .utils.vsenv import * File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/vsenv.py", line 9, in <module> from .universal import MesonException, is_windows, windows_detect_native_arch File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/universal.py", line 20, in <module> import ctypes File "/tools_x86_64/lib/python3.10/ctypes/__init__.py", line 8, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' make: *** [glib:74: /usr/src/log/glib-2.71.1] Error 1
Am I missing anything? How did you get this to work? :-)
Thanks, and best regards, Peter Müller
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
make.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/make.sh b/make.sh index 0d1457d99..2cf47e6a9 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,10 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
- lfsmake2 python3-setuptools
- lfsmake2 libffi
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 glib lfsmake2 libgudev lfsmake2 libgpg-error
@@ -1204,7 +1208,6 @@ buildipfire() { lfsmake2 curl lfsmake2 tcl lfsmake2 sqlite
- lfsmake2 libffi lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar
@@ -1324,8 +1327,6 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif
@@ -1420,7 +1421,6 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON
- lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon
Hello,
Errm, it looks like I might have messed up my final clean build.
Obviously Python 3 must be built before python3-setuptools, meson and so on.
Could you try that for me, please?
-Michael
On 17 Dec 2022, at 21:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
currently working on Core Update 173, this patch seems to break glib (at least that's what I am assuming, given that glib itself has not been touched in a while):
glib (2.71.1) [ 0 ][ FAIL ]
'dest/tools_x86_64/bin/meson' -> '/tools_x86_64/bin/meson' Updating linker cache... Install done; saving file list to /usr/src/log/meson-0.64.1 ... Dec 17 19:05:41: Building glib glib-2.71.1.tar.xz checksum OK
- cd /usr/src/lfs
- make -f glib LFS_BASEDIR=/usr/src install
====================================== Installing glib-2.71.1 ... Install started; saving file list to /usr/src/lsalr ... cd /usr/src/glib-2.71.1 && meson --prefix=/usr \ --sysconfdir=/etc \ builddir/ Traceback (most recent call last): File "/tools_x86_64/bin/meson", line 33, in <module> sys.exit(load_entry_point('meson==0.64.1', 'console_scripts', 'meson')()) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 287, in main return run(sys.argv[1:], launcher) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 277, in run set_meson_command(mainfile) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 235, in set_meson_command from . import mesonlib File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonlib.py", line 24, in <module> from .utils.vsenv import * File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/vsenv.py", line 9, in <module> from .universal import MesonException, is_windows, windows_detect_native_arch File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/universal.py", line 20, in <module> import ctypes File "/tools_x86_64/lib/python3.10/ctypes/__init__.py", line 8, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' make: *** [glib:74: /usr/src/log/glib-2.71.1] Error 1
Am I missing anything? How did you get this to work? :-)
Thanks, and best regards, Peter Müller
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
make.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/make.sh b/make.sh index 0d1457d99..2cf47e6a9 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,10 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
- lfsmake2 python3-setuptools
- lfsmake2 libffi
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 glib lfsmake2 libgudev lfsmake2 libgpg-error
@@ -1204,7 +1208,6 @@ buildipfire() { lfsmake2 curl lfsmake2 tcl lfsmake2 sqlite
- lfsmake2 libffi lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar
@@ -1324,8 +1327,6 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif
@@ -1420,7 +1421,6 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON
- lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon
Hello Michael,
thanks for your reply.
Hello,
Errm, it looks like I might have messed up my final clean build.
Obviously Python 3 must be built before python3-setuptools, meson and so on.
Could you try that for me, please?
I did, but it does not make a difference. Even with some things moved before python3-setuptools, meson, etc. pp. as well for good measure, glib build still fails with the same error message.
Current make.sh delta is as follows:
diff --git a/make.sh b/make.sh index 88048dbf9..bdbcc50b5 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,11 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
+ lfsmake2 expat + lfsmake2 libconfig + lfsmake2 json-c + lfsmake2 tcl + lfsmake2 python3 lfsmake2 python3-setuptools lfsmake2 libffi lfsmake2 ninja @@ -1187,10 +1192,7 @@ buildipfire() { lfsmake2 libassuan lfsmake2 nettle lfsmake2 libsodium - lfsmake2 json-c - lfsmake2 libconfig lfsmake2 libevent2 - lfsmake2 expat lfsmake2 apr lfsmake2 aprutil lfsmake2 unbound @@ -1206,9 +1208,7 @@ buildipfire() { lfsmake2 pam lfsmake2 c-ares lfsmake2 curl - lfsmake2 tcl lfsmake2 sqlite - lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar lfsmake2 rust-cfg-if
Anything else I could try? :-)
Thanks, and best regards, Peter Müller
-Michael
On 17 Dec 2022, at 21:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
currently working on Core Update 173, this patch seems to break glib (at least that's what I am assuming, given that glib itself has not been touched in a while):
glib (2.71.1) [ 0 ][ FAIL ]
'dest/tools_x86_64/bin/meson' -> '/tools_x86_64/bin/meson' Updating linker cache... Install done; saving file list to /usr/src/log/meson-0.64.1 ... Dec 17 19:05:41: Building glib glib-2.71.1.tar.xz checksum OK
- cd /usr/src/lfs
- make -f glib LFS_BASEDIR=/usr/src install
====================================== Installing glib-2.71.1 ... Install started; saving file list to /usr/src/lsalr ... cd /usr/src/glib-2.71.1 && meson --prefix=/usr \ --sysconfdir=/etc \ builddir/ Traceback (most recent call last): File "/tools_x86_64/bin/meson", line 33, in <module> sys.exit(load_entry_point('meson==0.64.1', 'console_scripts', 'meson')()) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 287, in main return run(sys.argv[1:], launcher) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 277, in run set_meson_command(mainfile) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 235, in set_meson_command from . import mesonlib File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonlib.py", line 24, in <module> from .utils.vsenv import * File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/vsenv.py", line 9, in <module> from .universal import MesonException, is_windows, windows_detect_native_arch File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/universal.py", line 20, in <module> import ctypes File "/tools_x86_64/lib/python3.10/ctypes/__init__.py", line 8, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' make: *** [glib:74: /usr/src/log/glib-2.71.1] Error 1
Am I missing anything? How did you get this to work? :-)
Thanks, and best regards, Peter Müller
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
make.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/make.sh b/make.sh index 0d1457d99..2cf47e6a9 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,10 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
- lfsmake2 python3-setuptools
- lfsmake2 libffi
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 glib lfsmake2 libgudev lfsmake2 libgpg-error
@@ -1204,7 +1208,6 @@ buildipfire() { lfsmake2 curl lfsmake2 tcl lfsmake2 sqlite
- lfsmake2 libffi lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar
@@ -1324,8 +1327,6 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake
- lfsmake2 ninja
- lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif
@@ -1420,7 +1421,6 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON
- lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon
Hello,
Yes, you will need all the other Python dependencies for all modules to be built.
ctypes needs libffi. If there is more stuff missing, the root file will tell you.
Best, -Michael
On 20 Dec 2022, at 12:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
Errm, it looks like I might have messed up my final clean build.
Obviously Python 3 must be built before python3-setuptools, meson and so on.
Could you try that for me, please?
I did, but it does not make a difference. Even with some things moved before python3-setuptools, meson, etc. pp. as well for good measure, glib build still fails with the same error message.
Current make.sh delta is as follows:
diff --git a/make.sh b/make.sh index 88048dbf9..bdbcc50b5 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,11 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
- lfsmake2 expat
- lfsmake2 libconfig
- lfsmake2 json-c
- lfsmake2 tcl
- lfsmake2 python3 lfsmake2 python3-setuptools lfsmake2 libffi lfsmake2 ninja
@@ -1187,10 +1192,7 @@ buildipfire() { lfsmake2 libassuan lfsmake2 nettle lfsmake2 libsodium
- lfsmake2 json-c
- lfsmake2 libconfig lfsmake2 libevent2
- lfsmake2 expat lfsmake2 apr lfsmake2 aprutil lfsmake2 unbound
@@ -1206,9 +1208,7 @@ buildipfire() { lfsmake2 pam lfsmake2 c-ares lfsmake2 curl
- lfsmake2 tcl lfsmake2 sqlite
- lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar lfsmake2 rust-cfg-if
Anything else I could try? :-)
Thanks, and best regards, Peter Müller
-Michael
On 17 Dec 2022, at 21:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
currently working on Core Update 173, this patch seems to break glib (at least that's what I am assuming, given that glib itself has not been touched in a while):
glib (2.71.1) [ 0 ][ FAIL ]
'dest/tools_x86_64/bin/meson' -> '/tools_x86_64/bin/meson' Updating linker cache... Install done; saving file list to /usr/src/log/meson-0.64.1 ... Dec 17 19:05:41: Building glib glib-2.71.1.tar.xz checksum OK
- cd /usr/src/lfs
- make -f glib LFS_BASEDIR=/usr/src install
====================================== Installing glib-2.71.1 ... Install started; saving file list to /usr/src/lsalr ... cd /usr/src/glib-2.71.1 && meson --prefix=/usr \ --sysconfdir=/etc \ builddir/ Traceback (most recent call last): File "/tools_x86_64/bin/meson", line 33, in <module> sys.exit(load_entry_point('meson==0.64.1', 'console_scripts', 'meson')()) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 287, in main return run(sys.argv[1:], launcher) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 277, in run set_meson_command(mainfile) File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonmain.py", line 235, in set_meson_command from . import mesonlib File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/mesonlib.py", line 24, in <module> from .utils.vsenv import * File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/vsenv.py", line 9, in <module> from .universal import MesonException, is_windows, windows_detect_native_arch File "/tools_x86_64/lib/python3.10/site-packages/mesonbuild/utils/universal.py", line 20, in <module> import ctypes File "/tools_x86_64/lib/python3.10/ctypes/__init__.py", line 8, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' make: *** [glib:74: /usr/src/log/glib-2.71.1] Error 1
Am I missing anything? How did you get this to work? :-)
Thanks, and best regards, Peter Müller
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
make.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/make.sh b/make.sh index 0d1457d99..2cf47e6a9 100755 --- a/make.sh +++ b/make.sh @@ -1176,6 +1176,10 @@ buildipfire() { lfsmake2 xradio KCFG="" lfsmake2 linux-initrd KCFG=""
- lfsmake2 python3-setuptools
- lfsmake2 libffi
- lfsmake2 ninja
- lfsmake2 meson
lfsmake2 glib lfsmake2 libgudev lfsmake2 libgpg-error @@ -1204,7 +1208,6 @@ buildipfire() { lfsmake2 curl lfsmake2 tcl lfsmake2 sqlite
- lfsmake2 libffi
lfsmake2 python3 lfsmake2 rust lfsmake2 rust-dissimilar @@ -1324,8 +1327,6 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake
- lfsmake2 ninja
- lfsmake2 meson
lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif @@ -1420,7 +1421,6 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON
- lfsmake2 python3-setuptools
lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon