Thursday, October 2, 2014

patch to upstream kernel, hostap, and wireless regdb

1. Seetup .gitconfig
a. Edit Home_root/.gitconfig (~/.gitconfig)
b. Check user email and name
c. Add sendemail
i. [sendemail]
ii. smtpserver = mail.xxx.com
iii. smtpdomain = mail.xxx.com
iv. from = xxx@xxx.com (email address)

2. Find the maintainer
a. scripts/get_maintainer.pl –f file
i. kernel/linux$ ./scripts/get_maintainer.pl -f xxx.c
Felipe Balbi <balbi@ti.com> (maintainer:USB GADGET/PERIPH...)
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:USB SUBSYSTEM)
linux-usb@vger.kernel.org (open list:USB GADGET/PERIPH...)
linux-kernel@vger.kernel.org (open list)
b. scripts/get_maintainer.pl  xxx.patch

3. pull down the code
a. git clone git://xxxxx/linux.git

4. make change/commit with useful description
a. git add –A
b. git commit -s
ex) xxx: xxxxx

5. Generate the patch
a. ath10k
git format-patch --patience -M -C --subject-prefix="PATCH" --to="ath10k@lists.infradead.org" --to="kvalo@qca.qualcomm.com" --cc="linux-wireless@vger.kernel.org" HEAD~

b. mac80211
git format-patch --patience -M -C --subject-prefix="PATCH" --to="linux-wireless@vger.kernel.org" --to="johannes@sipsolutions.net"  --cc="johannes.berg@intel.com" HEAD~
c. hostap
git format-patch --patience -M -C --subject-prefix="PATCH" --to="hostap@lists.infradead.org" HEAD~

d. usb
git format-patch --patience -M -C --subject-prefix="PATCH" --to="Greg Kroah-Hartman <gregkh@linuxfoundation.org>" --to="Felipe Balbi <balbi@ti.com>" --cc="linux-usb@vger.kernel.org" --cc="linux-kernel@vger.kernel.org" HEAD~

e. upload 2nd patch
git format-patch --patience -M -C --subject-prefix="PATCH v2" --thread --to="xxx"  --cc="xxxx" HEAD~

f. multiple patches with cover letter
git format-patch --cover-letter

git format-patch --patience -M -C --subject-prefix="PATCH v2" --thread --to="hostap@lists.infradead.org" HEAD~15 --cover-letter




g. wireless-regdb
git format-patch --patience -M -C --subject-prefix="PATCH" --to="wireless-regdb@lists.infradead.org" --cc="linux-wireless@vger.kernel.org" HEAD~


6. #sends off the mail
 a. install git-email: sudo apt-get install git-email
b. git send-email 0001-xxxx.patch
Who should the emails be sent to? //just enter
Message-ID to be used as In-Reply-To for the first email? //just enter

Send this email? ([y]es|[n]o|[q]uit|[a]ll): y
c. to suppress confirmation message: git config --global sendemail.confirm auto


* command line example
git send-email --suppress-cc=all --smtp-server=mail.server.com --smtp-server-port=1234 --smtp-encryption=tls --smtp-user=ebmajor --to=receiver@mail.com --cc=ccee@mail.com 0001-fix-patch-file.patch

* multiple patch to send
git send-email *.patch

$ git config --global sendemail.smtpserver smtp.gmail.com
$ git config --global sendemail.smtpserverport 587
$ git config --global sendemail.smtpencryption tls
$ git config --global sendemail.smtpuser your_email@gmail.com
$ git config --global sendemail.smtppass your_password

--------------------

$ git show --format=fixes a66b98db570a638afd909459e1e6bfa272344bd3 | head -1
Fixes: a66b98db570a ("mac80211: fix rx->key NULL dereference during mic failure")

How to configure it is documented in SubmittingPatches:

https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes

*** trouble shooting
STARTTLS failed! SSL connect attempt failed error:1416F086:STARTTLS failed! SSL routines:tls_process_server_certificate:certificate verify failed at /usr/lib/git-core/git-send-email
- set  smtpsslcertpath = /etc/ssl/certs in git config (~/.gitconfig)

2 comments:

  1. git: 'send-email' is not a git command. See 'git --help'.
    - apt-get install git-email

    ReplyDelete
  2. I'm now not certain the place you are getting your information, however good topic. I must spend a while studying more or understanding more. Thank you for great information I used to be on the lookout for this info for my mission.

    ReplyDelete