All of lore.kernel.org
 help / color / mirror / Atom feed
From: Azamat Hackimov <azamat.hackimov@gmail.com>
To: Josh Boyer <jwboyer@kernel.org>
Cc: linux-firmware@kernel.org
Subject: Re: Feature request: Adding tools to be able to split the linux-firmware package into separate components
Date: Sun, 6 Nov 2022 20:53:52 +0300	[thread overview]
Message-ID: <CAFqVybrYZLf31S9MYWrgSRTvi_HH0yWr1rJq21Dnsw91p=Debg@mail.gmail.com> (raw)
In-Reply-To: <CA+5PVA4SOyhji1Y-OzFkAJsRz6k70qdKOOvPEKN4PyCBUygCsA@mail.gmail.com>

Hello again.

Josh, thank you for your feedback. The main idea for the new feature
was to create a tool for more efficient control for obtaining
information and selective installation of project files. I created a
feature request to get some feedback and general impression of the
idea and planned to implement it myself. So, based on the feedback, I
implemented the necessary changes and published them in the
https://github.com/winterheart/linux-firmware repository (yaml
branch).

I will briefly list the new features. All functionality is
concentrated in firmware-install.py and WHENCE.yaml files. The
functionality is implemented in such a way that it does not interfere
with the existing check_whence.py and copy-firmware.sh in any way
(that is, you can use either one or that without losing
functionality). firmware-install.py requires Python 3 (tested with
Python 3.10) and the pyyaml (to load WHENCE.yaml) and marshmallow (to
deserialize and validate the processed data) packages to run. All
packages are available in the repositories of most Linux
distributions, for example on Debian / Ubuntu they can be installed as
follows:

apt-get install python-marshmallow pyyaml

firmware-install.py supports the following types of commands (run
`./firmware-install.py -h` and `./firmware-install.py COMMAND -h` for
additional info):

* check - fully checks the contents of the repository in a way similar
to check_whence.py, and also validates the schema and contents of
WHENCE.yaml
* info - displays information on records according to the specified
selection criteria
* install - installs to the specified directory according to the
specified selection criteria
* list - displays a list of possible values for entries, vendors,
categories or licenses

The install command without additional options will perform a full
installation in exactly the same way as copy-firmware.sh. The contents
of the installation directories in this case will be identical.

Work example of info subcommand:

./firmware-install.py info -n bnx2
Entry: bnx2
Description: Broadcom NetXtremeII
Categories:
  - drivers/net/ethernet
Vendor: Broadcom
License:
  Name: Redistributable
  Copyright: Copyright (c) 2004-2010 Broadcom Corporation
  Info: This file contains firmware data derived from proprietary unpublished
source code, Copyright (c) 2004 - 2010 Broadcom Corporation.

Permission is hereby granted for the distribution of this firmware data
in hexadecimal or equivalent format, provided this copyright notice is
accompanying it.

Info:
Found in hex form in kernel source.
Size: 215,144 bytes
Files:
  - bnx2/bnx2-mips-06-6.2.3.fw
  - bnx2/bnx2-mips-09-6.2.1b.fw
  - bnx2/bnx2-rv2p-06-6.0.15.fw
  - bnx2/bnx2-rv2p-09-6.0.17.fw
  - bnx2/bnx2-rv2p-09ax-6.0.17.fw
Links:
None
--------

The WHENCE.yaml format is detailed in the updated README and allows
you to enter any information. Content of WHENCE.yaml currently
synchronized with last commit in main branch of linux-firmware
repository (commit 8bb7562).

Please take a look and try new functionality. If you have any
additional questions, I will be happy to answer them.

-- 
From Siberia with Love!

  reply	other threads:[~2022-11-06 17:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 16:15 Feature request: Adding tools to be able to split the linux-firmware package into separate components Azamat Hackimov
2022-10-24 16:18 ` Josh Boyer
2022-11-06 17:53   ` Azamat Hackimov [this message]
2022-12-26 10:02     ` Azamat Hackimov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFqVybrYZLf31S9MYWrgSRTvi_HH0yWr1rJq21Dnsw91p=Debg@mail.gmail.com' \
    --to=azamat.hackimov@gmail.com \
    --cc=jwboyer@kernel.org \
    --cc=linux-firmware@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.