send-pull-request facilitates sending pull requests generated by
create-pull-request. The primary role of this script is to harvest email
addresses from the patches and send them out. A working installation of sendmail
(exim, postfix, msmtp, etc.) is required to use this script.
You can explicitly specify To addresses with the -t option. As this can be
tedious, the -a option will scan all the patches for To, CC, and *-by lines and
the collected addresses to the To and CC headers for each patch.
This script uses an identical recipients list for every patch, including the
cover letter. This is by design. Existing tools will auto-generate the CC header
for individual patches, but since they don't apply it to the other patches, the
recipients can lack the necessary context to provide a meaningful review. This
is especially true of the cover letter.
The pull directory generated by the create-pull-request script is specified
using the -p option.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
The previous create-pull-request only generated a cover letter. When used to
send to the list, it did not include the patches, which made it difficult
to perform peer review. A pull request without patches is typically only sent
by a maintainer. As we are not all maintainers, we need a means to easily
submit patches for review.
As we are accustomed to making pull requests, this script retains a
git-pull-style cover letter, while sending the relevant patches as responses
to the pull. This will provide the necessary context for peer review, and still
allow people to collapse threads and see no more mail than they were previously.
This version retains the relative_to, commit_id, and contrib_branch arguments
from the original, along with their default values. It adds several more,
resulting in a highly flexible tool.
The script creates a pull directory (pull-$$ by default, configurable via the -o
option) and populates it with a git-format-patch generated patch series and
cover letter. The cover letter is modified to include the git and http pull URLs
and branch name, as well as a basic signature from the author pulled from git's
user.name and user.email config. git-format-patch provides the shortlog and
diffstat of the series.
Breaking a bit from the original, this script maintains the [PATCH] subject
prefix in the cover letter (as opposed to [GIT PULL]. This is better suited to
the majority of developers (who are not maintainers). This prefix is
configurable with the -p option, allowing you to create an [RFC PATCH]
prefix, for example.
By default, the generated cover letter with contain "*** SUBJECT HERE ***" and
"*** BLURB HERE ***" tokens which you should replace with something
appropriate prior to sending the messages.
When developing multiple versions of a patch series, it can save time to
maintain a message.txt file, rather than having to retype the message body of
the cover letter every time. The -m option allows you to specify a message file
and replace the "*** BLURB HERE ***" token of the cover letter with the contents
of the message file.
Finally, the -s option will replace the "*** SUBJECT HERE ***" token in the cover
letter with the specified subject.
The generated patches are suitable for sending via sendmail.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
The patches to follow completely rewrite the existing create-pull-request.
Rather than have an initial diff of the two files (which are not at all
similar) remove the original, and then create the new one.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
Fixes [BUGID #394]
Now that the qemu/mti mips kernel branches have been fixed
for wacom USB interaction, we can re-nable the standard set
of qemu UI options for qemumips.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Add a test case for error log check with command dmesg in target. The
case introduces a new folder in target, "/opt/test", which holds test
scripts running in target.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
In scenarios where the POKY_NATIVE_SYSROOT env variable hasn't been
set up, bug #427 can still be triggered. This fixes it by running
setup_tmpdir(). This fixes [BUGID #427].
Also, the qemu tap dev lock directory needs to be chmod 777 so that
multiple users can create and delete lock files.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This fixes [BUGID #433]
Also set a sane default for the ifconfig command, which simplifies
our autobuilder sanity test setup.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
There does not appear to be a universal lockfile utility that
meets our needs. For example:
* 'lockfile' is part of the procmail pacakge in Ubuntu, a
requirement we don't want to impose on our users
* lockfile-[create|remove] from the Ubuntu lockfile-progs
package does not appear to be available in Fedora/openSUSE
So, the most portable way to do this is just to implement it
in bash. The likelihood of race conditions is minimal for
what we need this for.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This allows the user to specify a rootfs type
(e.g, poky-image-sato) without typing out the full filename
and path (assuming we can infer a valid MACHINE and FSTYPE).
This fixes [BUGID #415]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Using poky-qemu with our new tap networking and/or unfs support
required too many additional build steps. This updates the
meta-ide-support dependencies so all features are built and
available to use.
Specifically, this adds psuedo-native, qemu-helper-native, and
unfs-server-native to the dependency chain for meta-ide-support.
This fixes [BUGID #392]
Also add poky-gen-tapdevs and remove runqemu-nfs from the
qemu-helper-native recipe, and update some qemu control script
error messages to suggest building meta-ide-support.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This merges the functionality of the runqemu script into poky-qemu.
It also removes the requirement to order command line args to poky-qemu
in any particular order.
This fixes a slew of runqemu-related bugs by making the runqemu script
obsolete (and fixing the issues in the new poky-qemu), including
[BUGID #294] [BUGID #295] [BUGID #371] and [BUGID #324].
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
These changes allow multiple instances of the userspace NFS server
to run, when brought up by consecutive instances of the poky-qemu
control script.
This fixes [BUGID #393]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This script can be used to create and configure a 'bank' of tap
interfaces that can be used by the poky-qemu script.
It is useful in locked-down enterprise environments where developers
do not have sudo access, but need to be able to run QEMU with
networking. A sysadmin would then use this script to bring up a
number of tap interfaces for the user to make use of.
This fixes [BUGID #391]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
The 'lockfile' utility originally used comes from the procmail
package, which users shouldn't have to install. This uses the
more general lockfile-progs utilities to acheive the same end.
This fixes [BUGID #389]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This is the first phase of some refactoring the poky-qemu control
scripts are getting. This integrates userspace nfsroot support into
poky-qemu, making runqemu-nfs obsolete.
This fixes [BUGID #295]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This fixes [BUGID #232], requiring root privileges to run these scripts
and giving an error prompt when that requirement is not met.
The tunctl uid fallback code has also been removed, as we can rely on
the specific version of tunctl run from the native sysroot.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
We already export http,ftp,https proxy environment variables. Some environments,
GNOME for instance, place the socks proxy in ALL_PROXY and all_proxy. Export it
as well.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Fixes [BUGID #99]
The mouse, usb and cursor devices don't work for the
qemumips machine. There's no easy way to 'undo' the
defaults, or dynamically remove them, so we simply
don't use the default UI options for this machine type.
Mouse and pointer are provided via ps/2 and not via
the usb and wacom tablet driver.
Signed-off-by: Richard Griffiths <rgriffit@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This reverts commit 138df217ef.
We still need the vm_mmap_min_addr set to 0 to run locale generation for
qemu-arm
Signed-off-by: Joshua Lock <josh@linux.intel.com>
The output of:
$ source poky-init-build-env
would wrap on 80 character terminals, making the output difficult to read.
Replace the somewhat clumsy repeated usage of "echo" with bash here documents,
limiting line length to 80 characters. The use of here documents simplifies this
by removing any leading commands or indentation from the output being generated.
A bash'ism should be acceptable here as poky-init-build-env already aborts if
the shell is not bash.
Signed-off-by: Darren Hart <darren@dvhart.com>
With "no_proxy" exported to bitbake, both internal and externel file mirror can
be used. "https_proxy" enable fetching "https://" file through proxy.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Rather than trying to determine things through guess-work use the newly
exported variables to determine where the native binaries reside and
whether we are running in a build directory or not.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
The unfs server requires either rpcbind or portmap to be installed and
running to start so check for their presence in the script.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
siteinfo: Use configuration caches when available
Generate cached configuration data for autoconf for the package
based on a list of header, types, and functions to eliminate the
need for all subesequent package builds to do the actual tests
via the cross compiler and sysroot. The cache files are
stored in the sysroot in ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d.
Siteinfo appends any files it finds in that directory to the normal
CONFIG_SITE. All of the cache values set the variables only if not
already set so they may be overridden by any of the normal site files.
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
poky-qemu-internal will set up a tap lockfile when creating tap device. The lockfile
will be released when a TERM signal is received. In previous code, function
Test_Kill_Qemu uses pkill to kill all process named "qemu". This may cause lockfile
release function not work in poky-qemu-internal. Then poky-qemu-internal will be
hang when user start QEMU the second time. To prevent the issue, the new function
Test_Kill_Qemu kills all child pid with a given parent process ID.
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
Different test cases are needed for different targets. A folder "scenario"
is created under scripts/qemuimage-tests to hold scenario files for different
targets.
Single case running is supported now. User can run single case together with
a whole test suite by setting variable TEST_SCEN in local.conf.
By default test cases in sanity suite will be ran. If you want to run other
test suite or specific test case(e.g. bat or boot test case under sanity suite),
list them like following.
TEST_SCEN = "sanity bat sanity:boot"
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
We need some libraries installed to run the built qemu, check for their
existence before trying to run the program. Fixes [BUGID #201]
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Without the fix, when the commandline is printed with the "echo" command,
it loses the quotes and this confuses people.
Thanks Richard for pointing this out.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
The poky-qemu-ifup script now requires a path to the native
sysroot as an argument. This fixes a case where the argument
was missing.
Also, set up NATIVE_SYSROOT_DIR when running runqemu.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This script automates the booting of QEMU using an nfsroot exported
by our userspace NFS tools. The rootfs should be created using
poky-extract-sdk.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This script automates the exporting of a root filesystem (created
with the poky-extract-sdk utility) using pseudo and the native
userspace NFS server. That filesystem can then be booted using
nfsroot with either QEMU or the target hardware using one of our
kernels.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This script automates the creation of a rootfs area using pseudo so
it can be used by a QEMU nfsroot boot.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This patch makes poky-qemu-internal check for the existence of an
available preconfigured tap device before running poky-qemu-ifup to
make a new one.
Locking is handled with a lockfile in /tmp/qemu-tap-locks/. This uses
the lockfile utility, so that needs to be present on the host. On
exit, this script removes the lock file so that the tap device may be
reused.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
The image specification can now be in the form nfs-server:directory.
This makes it possible to nfs-boot from servers other than the host.
poky-qemu-internal will properly construct the kernel command line
given such a specification.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
poky-qemu-ifup can run standalone by root in order to configure a bank
of tap devices for later qemu use.
These devices will, if possible, be owned by a specified group to
which qemu users must belong.
If the kernel is too old to support TUNSETGROUP, then it falls back to
setting the tap device to be owned by a particular user, and that user
will be the only one allowed to use it.
Also overall usability improvements to the scripts, usage() help, etc.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Various poky scripts make use of binaries from the native sysroot.
This helper script can be used to reduce code duplication, and sets
up some environment variables you can use to identify and obtain
the correct filesystem path to the native sysroot.
It works for both in-tree Poky setups as well as toolchain
installations.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
This patch bases the tap IP address on the device number, providing
each device with its own IP address.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
With this patch, a persistent TAP device is set up by poky-qemu-ifup,
which is now run before qemu. The qemu command line now uses the
device that was constructed (rather than the hard-coded tap0) and it
is told not to run any networking scripts.
When qemu shuts down, poky-qemu-ifdown removes the TAP device.
sudo use - sudo is used to run poky-qemu-ifup. sudo is no longer used
to run qemu, as qemu no longer needs privileges to set up networking.
poky-qemu-ifdown is run without privileges, as you can remove a TAP
device which you own.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Currently rm -fr build breaks things badly but will work if we move the sample
configuration files to meta/conf - this patch does so.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Re implement the rootfs generation using rpm5. This also gets rid of the
need for yum, and handles all dep resolving internal to the script itself.
The new file scripts/rootfs_rpm-extract-postinst.awk comes from the original
yum integration work. It has been unchanged, but since yum is no longer used
we needed to move the script somewhere else.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
We don't want Bitbake to clean OEROOT from the environment as users may have
old layer configurations which require it set.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Since scripts is now in PATH thanks to the layer functionality there is
no longer any need to have this recipe full of special cases, the scripts
can just be placed there.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Many users have an existing build confifured using OEROOT, re-enable exporting
of this variable to unbreak their builds.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
You need to first set up the build directory by sourcing the poky build script,
after that builds can be run in that directory so long as bitbake is in $PATH
removing the need to source the init script for each build.
i.e:
$ . poky-init-build-env ~/my-build
$ bitbake some-image
<<later, in a different shell>>
$ cd ~/my-build
$ export PATH=/path/to/bitbake/bin:$PATH
$ bitbake an-image
This patch also removes use of OEROOT in recipes, etc.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Automation test is disabled by default. User need set TESTCLASS
to qemu in conf/local.conf and run bitbake command "bitbake
poky-image-xxx" or "bitbake poky-image-xxx -c qemuimagetest" to
trigger it. Currently only the sanity test with two testcases are
added.
To run the test, user need prepare a testing environment:
1) "expect" should be installed on system
2) NOPASSWD should be set for user to run bitbake
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
For mips, the malta platform emulates a cirrus chipset. With the udpated
2.6.34 kernel options, we can now enable framebuffer boot for
the qemumips platform.
We need to pass a valid cpu (603e) and do a -nographic boot to
make it all the way to a prompt so graphics is disabled for now
for ppc.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
With this change the create_pull_request will be able to generate pull
requests to master as well as distro/master branch.
Some documentation is added in the Usage messange of the script.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Added usb tablet options to poky-qemu-internal script, and adjusted the
xorg.conf script for x86 to use VGA screen and tablet input device
Signed-off-by: Saul Wold <saul.wold@intel.com>
QEMU 0.12.x is relocatable so we no longer need these tests, which is good
because it doesn't work reliably with modern kernels.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
This is the 1st version of create-pull-request script.
Using specified local commit-id or branch-name it
generates a short description of the changes;
and using poky-contrib branch-name it generates the
URL where these changes are already pushed
and are available for review and git-pull.
I prepared this script as per the input from Richard Purdie.
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
Currently the script will scan all packages in the pstage directory and log
packages which contain destinations outside of the native sysroot.
The script currently ignores pkgdata, stamps and deploy but does trigger the
work dir for packages with a package-split file, this may well be a false
positive.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Fix typo in help message (we default to ext3 not ext2 now)
and a typo whereby moblin-image-sdk wouldn't be autofound.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
It's pretty useful to be able to define BB_NUMBER_THREADS on the cli when
executing bitbake. Add it to the extra whitelist defined in the
poky-env-internal script.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
We want to have a more generic platform definition.
The netbook machine one currently supports the eee901 and the aspire one.
We also moved the machine and netbook image definitions to meta-moblin.
* Try harder to find ifconfig
* Error out if the environment isn't correct
* Tell the user we're running sudo
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@989 311d38ba-8fff-0310-9ca6-ca027cbcb966