You are not logged in.

#1 2019-11-30 17:16:19

mickhead23
Member
Registered: 2018-11-24
Posts: 2

fwupd dependencies

Not a technical problem per se, more like curiousity on my part. Why is it on non-mobile phone hardware fwupd (1.3.5-1) requires modemmanager (1.12.0-2), its related split package libmm-glib (1.12.02), and now mobile-broadband-provider-info (20190618-1)?

I run KDE/Plasma on a laptop and mobile-broadband-provider-info, which seems to be a Gnome project, seems a bit out-of-place on my system.

Thank you

Offline

#2 2019-11-30 17:25:29

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,449
Website

Re: fwupd dependencies

Fwupd is built with meson which I know next to nothing about.  But from a quick reading of the meson.build file and meson_options.txt, it would seem that these are included as dependencies of fwupd when it is built with the "plugin_modem_manager" option set to true.  This option defaults to false in the upstream source, and there is no patch or change applied in the PKGBUILD to this setting.

From this it looks like those may be unneeded dependencies.  It'd be good if someone more familiar with fwupd and/or meson could confirm before this goes to the bug tracker though.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2019-12-01 13:07:20

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: fwupd dependencies

NOTE : building with extra-x86_64-build gave a check error , I used makepkg -Crs --nocheck to build .

Output of meson configure run from src/build directory (run after building) confirms trilby findings.
Removing modemmanager from depends array gives no build errors .


$ meson configure
Core properties:
  Source dir /home/panoramix/Temp/fwupd/src/fwupd-1.3.5
  Build dir  /home/panoramix/Temp/fwupd/src/build

Core options:
  Option          Current Value Possible Values                                          Description                                             
  ------          ------------- ---------------                                          -----------                                             
  auto_features   enabled       [enabled, disabled, auto]                                Override value of all 'auto' features                   
  backend         ninja         [ninja, vs, vs2010, vs2015, vs2017, vs2019, xcode]       Backend to use                                          
  buildtype       plain         [plain, debug, debugoptimized, release, minsize, custom] Build type to use                                       
  debug           false         [true, false]                                            Debug                                                   
  default_library shared        [shared, static, both]                                   Default library type                                    
  install_umask   0022          [preserve, 0000-0777]                                    Default umask to apply on permissions of installed files
  layout          mirror        [mirror, flat]                                           Build directory layout                                  
  optimization    0             [0, g, 1, 2, 3, s]                                       Optimization level                                      
  strip           false         [true, false]                                            Strip targets on install                                
  unity           off           [on, off, subprojects]                                   Unity build                                             
  warning_level   2             [0, 1, 2, 3]                                             Compiler warning level to use                           
  werror          false         [true, false]                                            Treat warnings as errors                                
  wrap_mode       nodownload    [default, nofallback, nodownload, forcefallback]         Wrap mode                                               

Core options:
  Option            Current Value Description                                      
  ------            ------------- -----------                                      
  cmake_prefix_path []            List of additional prefixes for cmake to search  
  pkg_config_path   []            List of additional paths for pkg-config to search

Backend options:
  Option            Current Value Possible Values Description                                                
  ------            ------------- --------------- -----------                                                
  backend_max_links 0             >=0             Maximum number of linker processes to run or 0 for no limit

Base options:
  Option      Current Value Possible Values                                               Description                                   
  ------      ------------- ---------------                                               -----------                                   
  b_asneeded  true          [true, false]                                                 Use -Wl,--as-needed when linking              
  b_colorout  always        [auto, always, never]                                         Use colored output                            
  b_coverage  false         [true, false]                                                 Enable coverage tracking.                     
  b_lto       false         [true, false]                                                 Use link time optimization                    
  b_lundef    true          [true, false]                                                 Use -Wl,--no-undefined when linking           
  b_ndebug    false         [true, false, if-release]                                     Disable asserts                               
  b_pch       true          [true, false]                                                 Use precompiled headers                       
  b_pgo       off           [off, generate, use]                                          Use profile guided optimization               
  b_pie       true          [true, false]                                                 Build executables as position independent     
  b_sanitize  none          [none, address, thread, undefined, memory, address,undefined] Code sanitizer to use                         
  b_staticpic true          [true, false]                                                 Build static libraries as position independent

Compiler options:
  Option      Current Value                                                                                            Possible Values                                             Description                             
  ------      -------------                                                                                            ---------------                                             -----------                             
  c_args      [-march=x86-64, -mtune=generic, -O2, -pipe, -fno-plt, -D_FORTIFY_SOURCE=2]                                                                                           Extra arguments passed to the C compiler
  c_link_args [-march=x86-64, -mtune=generic, -O2, -pipe, -fno-plt, -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now]                                                             Extra arguments passed to the C linker  
  c_std       c99                                                                                                      [none, c89, c99, c11, c17, c18, gnu89, gnu99, gnu11, gnu17, C language standard to use              
                                                                                                                        gnu18]                                                                                             

Directories:
  Option         Current Value Description                            
  ------         ------------- -----------                            
  bindir         bin           Executable directory                   
  datadir        share         Data file directory                    
  includedir     include       Header file directory                  
  infodir        share/info    Info page directory                    
  libdir         lib           Library directory                      
  libexecdir     lib           Library executable directory           
  localedir      share/locale  Locale data directory                  
  localstatedir  /var          Localstate data directory              
  mandir         share/man     Manual page directory                  
  prefix         /usr          Installation prefix                    
  sbindir        bin           System executable directory            
  sharedstatedir /var/lib      Architecture-independent data directory
  sysconfdir     /etc          Sysconf data directory                 

Project options:
  Option               Current Value    Possible Values            Description                          
  ------               -------------    ---------------            -----------                          
  agent                true             [true, false]              enable the fwupd agent               
  build                all              [all, standalone, library] build type                           
  consolekit           true             [true, false]              enable ConsoleKit support            
  efi-cc               gcc                                         the compiler to use for EFI modules  
  efi-includedir       /usr/include/efi                            path to the EFI header directory     
  efi-ld               ld                                          the linker to use for EFI modules    
  efi-ldsdir                                                       path to the EFI lds directory        
  efi-libdir                                                       path to the EFI lib directory        
  efi_os_dir                                                       the name of OS directory in ESP      
  elogind              false            [true, false]              enable elogind support               
  firmware-packager    true             [true, false]              enable firmware-packager installation
  gpg                  true             [true, false]              enable the GPG verification support  
  gtkdoc               false            [true, false]              enable developer documentation       
  gudev                true             [true, false]              enable GUdev support                 
  introspection        true             [true, false]              generate GObject Introspection data  
  lvfs                 true             [true, false]              enable LVFS remotes                  
  man                  true             [true, false]              enable man pages                     
  pkcs7                true             [true, false]              enable the PKCS7 verification support
  plugin_altos         true             [true, false]              enable altos support                 
  plugin_amt           true             [true, false]              enable Intel AMT support             
  plugin_coreboot      true             [true, false]              enable coreboot support              
  plugin_dell          true             [true, false]              enable Dell-specific support         
  plugin_dummy         false            [true, false]              enable the dummy device              
  plugin_emmc          true             [true, false]              enable eMMC support                  
  plugin_flashrom      false            [true, false]              enable libflashrom support           
  plugin_modem_manager false            [true, false]              enable ModemManager support          
  plugin_nvme          true             [true, false]              enable NVMe support                  
  plugin_redfish       true             [true, false]              enable Redfish support               
  plugin_synaptics     true             [true, false]              enable Synaptics MST hub support     
  plugin_thunderbolt   true             [true, false]              enable Thunderbolt support           
  plugin_uefi          true             [true, false]              enable UEFI support                  
  systemd              true             [true, false]              enable systemd support               
  systemdunitdir                                                   Directory for systemd units          
  tests                true             [true, false]              enable tests                         
  udevdir                                                          Directory for udev rules             

Testing options:
  Option    Current Value Possible Values Description                                 
  ------    ------------- --------------- -----------                                 
  errorlogs true          [true, false]   Whether to print the logs from failing tests
  stdsplit  true          [true, false]   Split stdout and stderr in test logs        
$ 

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#4 2019-12-11 21:34:08

mickhead23
Member
Registered: 2018-11-24
Posts: 2

Re: fwupd dependencies

Thanks for taking the time to research it. Would it help if I filed a bug report?

Offline

#5 2019-12-11 22:28:45

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,449
Website

Re: fwupd dependencies

Yes, I'd suggest a packaging bug report on the archlinux tracker.  For best results, be sure to check out the guidelines on reporting bugs.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

Board footer

Powered by FluxBB