Build utils separately for different releases (incl. Stretch)

This commit is contained in:
zador-blood-stained 2017-09-25 19:19:15 +03:00
parent e868c5ddfb
commit 5b3285d374
23 changed files with 75 additions and 40 deletions

View File

@ -107,7 +107,7 @@ chroot_build_packages()
{
local built_ok=()
local failed=()
for release in jessie xenial; do
for release in jessie xenial stretch; do
for arch in armhf arm64; do
display_alert "Starting package building process" "$release/$arch" "info"
@ -268,7 +268,7 @@ chroot_installpackages_local()
aptly -config=$conf repo create temp
# NOTE: this works recursively
aptly -config=$conf repo add temp $DEST/debs/extra/${RELEASE}-desktop/
aptly -config=$conf repo add temp $DEST/debs/extra/utils/
aptly -config=$conf repo add temp $DEST/debs/extra/${RELEASE}-utils/
# -gpg-key="925644A6"
aptly -keyring="$SRC/packages/extras-buildpkgs/buildpkg-public.gpg" -secret-keyring="$SRC/packages/extras-buildpkgs/buildpkg.gpg" -batch=true -config=$conf \
-gpg-key="925644A6" -passphrase="testkey1234" -component=temp -distribution=$RELEASE publish repo temp

View File

@ -168,7 +168,7 @@ create_rootfs_cache()
create_sources_list "$RELEASE" "$SDCARD/"
# stage: add armbian repository and install key
echo "deb http://apt.armbian.com $RELEASE main utils ${RELEASE}-desktop" > $SDCARD/etc/apt/sources.list.d/armbian.list
echo "deb http://apt.armbian.com $RELEASE main ${RELEASE}-utils ${RELEASE}-desktop" > $SDCARD/etc/apt/sources.list.d/armbian.list
cp $SRC/config/armbian.key $SDCARD
eval 'chroot $SDCARD /bin/bash -c "cat armbian.key | apt-key add -"' \

View File

@ -138,7 +138,7 @@ install_common()
cp $SRC/config/armbian_first_run.txt $SDCARD/boot/armbian_first_run.txt
# switch to beta repository at this stage if building nightly images
[[ $IMAGE_TYPE == nightly ]] && echo "deb http://beta.armbian.com $RELEASE main utils ${RELEASE}-desktop" > $SDCARD/etc/apt/sources.list.d/armbian.list
[[ $IMAGE_TYPE == nightly ]] && echo "deb http://beta.armbian.com $RELEASE main ${RELEASE}-utils ${RELEASE}-desktop" > $SDCARD/etc/apt/sources.list.d/armbian.list
# disable low-level kernel messages for non betas
# TODO: enable only for desktop builds?

View File

@ -370,7 +370,10 @@ addtorepo()
aptly repo create -config=../config/aptly.conf -distribution=$release -component=main -comment="Armbian main repository" $release
fi
if [[ -z $(aptly repo list -config=../config/aptly.conf -raw | awk '{print $(NF)}' | grep "^utils") ]]; then
aptly repo create -config=../config/aptly.conf -distribution=$release -component="utils" -comment="Armbian utilities" utils
aptly repo create -config=../config/aptly.conf -distribution=$release -component="utils" -comment="Armbian utilities (backwards compatibility)" utils
fi
if [[ -z $(aptly repo list -config=../config/aptly.conf -raw | awk '{print $(NF)}' | grep "${release}-utils") ]]; then
aptly repo create -config=../config/aptly.conf -distribution=$release -component="${release}-utils" -comment="Armbian utilities" utils
fi
if [[ -z $(aptly repo list -config=../config/aptly.conf -raw | awk '{print $(NF)}' | grep "${release}-desktop") ]]; then
aptly repo create -config=../config/aptly.conf -distribution=$release -component="${release}-desktop" -comment="Armbian desktop" ${release}-desktop
@ -393,14 +396,23 @@ addtorepo()
display_alert "Not adding $release" "main" "wrn"
fi
# adding utils
if find ${POT}extra/utils -maxdepth 1 -type f -name "*.deb" 2>/dev/null | grep -q .; then
# adding old utils and new jessie-utils for backwards compatibility with older images
if find ${POT}extra/jessie-utils -maxdepth 1 -type f -name "*.deb" 2>/dev/null | grep -q .; then
display_alert "Adding to repository $release" "utils" "ext"
aptly repo add -config=../config/aptly.conf "utils" ${POT}extra/utils/*.deb
aptly repo add -config=../config/aptly.conf "utils" ${POT}extra/jessie-utils/*.deb
else
display_alert "Not adding $release" "utils" "wrn"
fi
# adding release-specific utils
if find ${POT}extra/${release}-utils -maxdepth 1 -type f -name "*.deb" 2>/dev/null | grep -q .; then
display_alert "Adding to repository $release" "${release}-utils" "ext"
aptly repo add -config=../config/aptly.conf "${release}-utils" ${POT}extra/${release}-utils/*.deb
else
display_alert "Not adding $release" "${release}-utils" "wrn"
fi
# adding desktop
if find ${POT}extra/${release}-desktop -maxdepth 1 -type f -name "*.deb" 2>/dev/null | grep -q .; then
display_alert "Adding to repository $release" "desktop" "ext"
@ -411,7 +423,7 @@ addtorepo()
# publish
aptly publish -passphrase=$GPG_PASS -origin=Armbian -label=Armbian -config=../config/aptly.conf -component=main,utils,${release}-desktop \
--distribution=$release repo $release utils ${release}-desktop
--distribution=$release repo $release utils ${release}-utils ${release}-desktop
if [[ $? -ne 0 ]]; then
display_alert "Publishing failed" "$release" "err"

View File

@ -17,5 +17,5 @@ package_checkbuild()
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $RELEASE == jessie && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,10 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
true
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,10 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
[[ $arch == armhf ]]
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun*i && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun*i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,10 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
true
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BRANCH == default && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,10 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
true
# may be enabled on Stretch in the future
[[ $release != stretch ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i* || $LINUXFAMILY == pine64 ) && $BUILD_DESKTOP == yes && $BRANCH == default ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BUILD_DESKTOP == yes && $BRANCH == default ]]
}

View File

@ -4,14 +4,15 @@ local package_repo="https://github.com/hglm/a10disp.git"
local package_ref="branch:master"
local package_builddeps="linux-headers-armmp"
local package_install_target="a10disp"
local package_component="utils"
local package_component="${release}-utils"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release == jessie ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun4i || $LINUXFAMILY == sun7i ) && $BRANCH == default ]]
[[ ( $LINUXFAMILY == sun4i || $LINUXFAMILY == sun7i ) && $RELEASE != stretch && $BRANCH == default ]]
}

View File

@ -9,7 +9,8 @@ local package_component="${release}-desktop"
package_checkbuild()
{
[[ $arch == armhf ]]
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
}
package_checkinstall()

View File

@ -10,7 +10,8 @@ local package_component="${release}-desktop"
package_checkbuild()
{
[[ $arch == armhf ]]
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
}
package_checkinstall()

View File

@ -3,13 +3,16 @@ local package_name="hostapd-realtek"
local package_repo="http://w1.fi/hostap.git"
local package_ref="tag:hostap_2_5"
local package_upstream_version="2:2.5-1"
local package_builddeps="pkg-config libssl-dev libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_builddeps="pkg-config libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_builddeps_jessie="libssl-dev"
local package_builddeps_xenial="libssl-dev"
local package_builddeps_stretch="libssl1.0-dev"
local package_install_target="hostapd-realtek"
local package_component="utils"
local package_component="${release}-utils"
package_checkbuild()
{
[[ $release == jessie ]]
true
}
package_checkinstall()

View File

@ -3,13 +3,16 @@ local package_name="hostapd"
local package_repo="http://w1.fi/hostap.git"
local package_ref="tag:hostap_2_5"
local package_upstream_version="2:2.5-1"
local package_builddeps="pkg-config libssl-dev libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_builddeps="pkg-config libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_builddeps_jessie="libssl-dev"
local package_builddeps_xenial="libssl-dev"
local package_builddeps_stretch="libssl1.0-dev"
local package_install_target="hostapd"
local package_component="utils"
local package_component="${release}-utils"
package_checkbuild()
{
[[ $release == jessie ]]
true
}
package_checkinstall()

View File

@ -9,10 +9,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
[[ $arch == armhf ]]
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
}

View File

@ -9,10 +9,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
[[ $arch == armhf ]]
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
}

View File

@ -12,10 +12,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
true
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BRANCH == default && $BUILD_DESKTOP == yes ]]
}

View File

@ -5,11 +5,11 @@ local package_ref="branch:master"
local package_upstream_version="1.4.2-1"
local package_builddeps="libusb-1.0-0-dev ruby binutils-arm-none-eabi pkg-config u-boot-tools"
local package_install_target="sunxi-tools"
local package_component="utils"
local package_component="${release}-utils"
package_checkbuild()
{
[[ $release == jessie ]]
true
}
package_checkinstall()

View File

@ -5,14 +5,16 @@ local package_ref="branch:master"
local package_builddeps="linux-headers-armmp libnl-3-dev libnl-genl-3-dev"
local package_upstream_version="15.04-2"
local package_install_target="swconfig"
local package_component="utils"
local package_component="${release}-utils"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
# matching kernel headers on Xenial is complicated and R1 is not supported anymore anyway
[[ $arch == armhf && $release == jessie ]]
}
package_checkinstall()
{
[[ $BOARD == lamobo-r1 && $BRANCH == default ]]
[[ $BOARD == lamobo-r1 && $RELEASE == jessie && $BRANCH == default ]]
}

View File

@ -6,7 +6,7 @@
# Limitations
* Packages are built only for Jessie and Xenial target, installing on older distributions may be done manually if dependencies can be satisfied
* Packages are built only for Jessie, Xenial and Stretch targets, installing on older distributions may be done manually if dependencies can be satisfied
# TODO

View File

@ -1,6 +1,8 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
# without "-relro,-pie" building on Stretch breaks
export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-relro,-pie
include /usr/share/dpkg/buildflags.mk
# The build system doesn't use CPPFLAGS, pass them to CFLAGS/CXXFLAGS to

View File

@ -1,6 +1,8 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
# without "-relro,-pie" building on Stretch breaks
export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-relro,-pie
include /usr/share/dpkg/buildflags.mk
# The build system doesn't use CPPFLAGS, pass them to CFLAGS/CXXFLAGS to

View File

@ -6,6 +6,7 @@ include /usr/share/dpkg/architecture.mk
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# without this building on Stretch breaks
export DEB_BUILD_MAINT_OPTIONS = hardening=-relro,-pie
%: