SHA256
1
0
forked from pool/u-boot
u-boot/update_git.sh
Dominique Leuenberger 4a8c51668e Accepting request 448523 from Base:System
- Added support for DE0-Nanos-SoC board

- Updated to v2016.11

- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2016.11
  to fix build of Raspberry Pi 1, 2 and 3

- Updated to v2016.11-rc3
- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2016.11
* Patches dropped:
  0004-efi_loader-Allow-boards-to-implemen.patch
  0005-ARM-bcm283x-Implement-EFI-RTS-reset.patch
  0006-efi_loader-gop-Expose-fb-when-32bpp.patch
  0007-bcm2835-video-Map-frame-buffer-as-3.patch
  0008-bcm2835-Reserve-the-spin-table-in-e.patch
  0009-x86-Move-table-csum-into-separate-h.patch
  0010-x86-Move-smbios-generation-into-arc.patch
  0011-efi_loader-Expose-efi_install_confi.patch
  0012-smbios-Allow-compilation-on-64bit-s.patch
  0013-smbios-Expose-in-efi_loader-as-tabl.patch
  0014-efi_loader-Fix-efi_install_configur.patch
  0015-smbios-Provide-serial-number.patch
  0016-efi_loader-Update-description-of-in.patch
  0017-efi_loader-Fix-memory-map-size-chec.patch
  0018-efi_loader-Fix-crash-on-32-bit-syst.patch
  0019-efi_loader-Move-efi_allocate_pool-i.patch
  0020-efi_loader-Track-size-of-pool-alloc.patch
  0021-efi_loader-Readd-freed-pages-to-mem.patch
  0022-efi_loader-Keep-memory-mapping-sort.patch
  0023-efi_loader-Do-not-leak-memory-when-.patch

OBS-URL: https://build.opensuse.org/request/show/448523
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/u-boot?expand=0&rev=83
2017-01-09 10:54:59 +00:00

160 lines
5.5 KiB
Bash

#!/bin/bash
#
# Instead of a quilt workflow, we use a git tree that contains
# all the commits on top of a stable tarball.
#
# When updating this package, just either update the git tree
# below (use rebase!) or change the tree path and use your own
#
# That way we can easily rebase against the next stable release
# when it comes.
set -e
GIT_TREE=git://github.com/openSUSE/u-boot.git
GIT_LOCAL_TREE=~/git/u-boot-opensuse
GIT_BRANCH=tumbleweed-2016.11
GIT_UPSTREAM_TAG=v2016.11
GIT_DIR=/dev/shm/u-boot-factory-git-dir
CMP_DIR=/dev/shm/u-boot-factory-cmp-dir
rm -rf $GIT_DIR
rm -rf $CMP_DIR
if [ -d "$GIT_LOCAL_TREE" ]; then
echo "Processing $GIT_BRANCH branch of local git tree, using tag:" \
"$GIT_UPSTREAM_TAG"
if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null); then
echo "Error: Branch $GIT_BRANCH not found - please create a remote" \
"tracking branch of origin/$GIT_BRANCH"
exit
fi
git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH
if ! (cd $GIT_LOCAL_TREE && git remote show upstream &>/dev/null); then
echo "Remote for upstream git tree not found. Next time add remote" \
"named upstream for git://git.denx.de/u-boot.git and update"
(cd $GIT_DIR && git remote add upstream git://git.denx.de/u-boot.git)
(cd $GIT_DIR && git remote update)
fi
else
echo "Processing $GIT_BRANCH branch of remote git tree, using tag:" \
"$GIT_UPSTREAM_TAG"
echo "(For much faster processing, consider establishing a local git tree" \
"at $GIT_LOCAL_TREE)"
git clone $GIT_TREE $GIT_DIR -b $GIT_BRANCH
(cd $GIT_DIR && git remote add upstream git://git.denx.de/u-boot.git)
(cd $GIT_DIR && git remote update)
fi
(cd $GIT_DIR && git format-patch -N $GIT_UPSTREAM_TAG --suffix= -o $CMP_DIR >/dev/null)
UBOOT_VERSION=$(egrep '^VERSION = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_PATCHLEVEL=$(egrep '^PATCHLEVEL = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_SUBLEVEL=$(egrep '^SUBLEVEL = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_EXTRAVERSION=$(egrep '^EXTRAVERSION = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_VERSION="${UBOOT_VERSION}.${UBOOT_PATCHLEVEL}"
if [ -n "${UBOOT_SUBLEVEL}" ]; then
UBOOT_VERSION="${UBOOT_VERSION}.${UBOOT_SUBLEVEL}"
fi
UBOOT_VERSION="${UBOOT_VERSION}${UBOOT_EXTRAVERSION}"
echo "U-Boot version: $UBOOT_VERSION"
rm -rf $GIT_DIR
(
CHANGED_COUNT=0
UNCHANGED_COUNT=0
DELETED_COUNT=0
ADDED_COUNT=0
shopt -s nullglob
# Process patches to eliminate useless differences: limit file names to 40 chars
# before extension and remove git signature. ('32' below gets us past dir prefix)
for i in $CMP_DIR/*; do
# format-patch may append a signature, which per default contains the git version
# wipe everything starting from the signature tag
sed '/^-- $/Q' $i > $CMP_DIR/${i:32:40}.patch
rm $i
done
for i in 0???-*.patch; do
if [ -e $CMP_DIR/$i ]; then
if cmp -s $CMP_DIR/$i $i; then
rm $CMP_DIR/$i
let UNCHANGED_COUNT+=1
else
mv $CMP_DIR/$i .
let CHANGED_COUNT+=1
fi
else
osc rm --force $i
let DELETED_COUNT+=1
echo " ${i##*/}" >> u-boot.changes.deleted
fi
done
for i in $CMP_DIR/*; do
mv $i .
osc add ${i##*/}
let ADDED_COUNT+=1
echo " ${i##*/}" >> u-boot.changes.added
done
for package in u-boot; do
while IFS= read -r line; do
if [ "$line" = "PATCH_FILES" ]; then
for i in 0???-*.patch; do
NUM=${i%%-*}
echo -e "Patch$NUM: $i"
done
elif [ "$line" = "PATCH_EXEC" ]; then
for i in 0???-*.patch; do
NUM=${i%%-*}
echo "%patch$NUM -p1"
done
elif [ "$line" = "ARCHIVE_VERSION" ]; then
echo "%define archive_version $UBOOT_VERSION"
elif [ "$line" = "UBOOT_VERSION" ]; then
echo "Version: $(echo $UBOOT_VERSION | sed 's/-/~/g')"
else
echo "$line"
fi
done < $package.spec.in > $package.spec.tmp
# Factory requires all deleted and added patches to be mentioned
if [ -e u-boot.changes.deleted ] || [ -e u-boot.changes.added ]; then
echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > $package.changes.proposed
fi
if [ -e u-boot.changes.deleted ]; then
echo "* Patches dropped:" >> $package.changes.proposed
cat u-boot.changes.deleted >> $package.changes.proposed
fi
if [ -e u-boot.changes.added ]; then
echo "* Patches added:" >> $package.changes.proposed
cat u-boot.changes.added >> $package.changes.proposed
fi
if [ -e $package.changes.proposed ]; then
osc vc --file=$package.changes.proposed $package
rm -f $package.changes.proposed
fi
done
if [ -e u-boot.changes.deleted ]; then
rm -f u-boot.changes.deleted
fi
if [ -e u-boot.changes.added ]; then
rm -f u-boot.changes.added
fi
echo "git patch summary"
echo " unchanged: $UNCHANGED_COUNT"
echo " changed: $CHANGED_COUNT"
echo " deleted: $DELETED_COUNT"
echo " added: $ADDED_COUNT"
)
rm -rf $CMP_DIR
osc service localrun format_spec_file
/bin/sh pre_checkin.sh
echo "Please remember to run pre_checkin.sh after modifying u-boot.changes."