Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kwabena Antwi-Boasiako
slapos
Commits
b99d23f5
Commit
b99d23f5
authored
May 31, 2016
by
iv
Committed by
Tomáš Peterka
Aug 04, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NayuOS: Fix broken revision numbers.
Automate ebuild revision numbers. Reactivate testing.
parent
10886232
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
22 deletions
+64
-22
software/nayuos/instance.cfg
software/nayuos/instance.cfg
+1
-1
software/nayuos/scripts/cros_full_build.in
software/nayuos/scripts/cros_full_build.in
+46
-14
software/nayuos/scripts/test_nayuos_image
software/nayuos/scripts/test_nayuos_image
+16
-6
software/nayuos/software.cfg
software/nayuos/software.cfg
+1
-1
No files found.
software/nayuos/instance.cfg
View file @
b99d23f5
...
...
@@ -84,7 +84,7 @@ context =
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/cros_full_build.in
rendered = ${directory:run}/cros_full_build
md5sum =
75599e6b8418a5f3756c7c7b26600399
md5sum =
ffec0279ec4a3e13bb151e2a0796c29b
mode = 0700
context =
key bash_path bin:bash
...
...
software/nayuos/scripts/cros_full_build.in
View file @
b99d23f5
#! {{ bash_path }}
function increase_revision_number() {
# this increase the revision number an ebuild
# (except for revision number 9999 which is a value for "live ebuild", for dev revisions)
# see https://devmanual.gentoo.org/general-concepts/ebuild-revisions/
if [ -z "$1" ] ; then
echo "ERROR: No parameter given to function: increase_revision_number."
echo "Usage: increase_revision_number /path/to/dir/containing/ebuild"
exit 1
elif [ -d "$1" ]; then
DIR="$1"
CURRENT_FILE=""
CURRENT_REVISION=0
# get the biggest revision number
# XXX: may break if there are many version of an ebuild
# (eg: bash-4.3_p42-r4.ebuild and bash-3.7-r8.ebuild)
for FILENAME in $(find "${DIR}" -maxdepth 1 -regextype sed -regex .*-r[0-9]*\.ebuild); do
echo $FILENAME
REVISION="$(echo ${FILENAME} | rev | cut -d- -f1 | rev | tr -d [:alpha:] | tr -d [:punct:])"
echo "${REVISION}"
if [ "$CURRENT_REVISION" -lt "$REVISION" ] ; then
CURRENT_REVISION=${REVISION}
CURRENT_FILE=${FILENAME}
fi
done
if [ "$CURRENT_REVISION" -ne "9999" ]; then
# increase REVISION
NEW_REVISION=$((CURRENT_REVISION+1))
NEW_FILE="$(echo ${CURRENT_FILE} | sed -r 's/-r'${CURRENT_REVISION}'/-r'${NEW_REVISION}'/')"
echo "changing revision number: ${CURRENT_FILE} -> ${NEW_FILE}"
mv "${CURRENT_FILE}" "${NEW_FILE}"
fi
fi
}
######################## Download of sources using the "repo" command ########################
DL_LOG="{{ instance_log_dir }}/cros_sources_dl.log"
BRANCH="{{ branch }}"
...
...
@@ -38,10 +73,10 @@ cros_sdk --download || { echo "Problem while entering chroot or downloading chro
# it is needed by re6st
# just need to change -sqlite by sqlite on the right line
# same for IPv6 support
PACKAGE_USE_FILE=
${CHROMIUM_OVERLAY}/profiles/targets/chromeos/package.use
PACKAGE_USE_FILE=
"${CHROMIUM_OVERLAY}/profiles/targets/chromeos/package.use"
line_number=$(sed -n '/dev-lang\/python/=' ${PACKAGE_USE_FILE})
if [ $line_number ] ; then
echo
$line_number
echo
"$line_number"
sed -i "${line_number}s/-sqlite/sqlite/" ${PACKAGE_USE_FILE}
if [[ ! $(sed -n ${line_number}p ${PACKAGE_USE_FILE} | grep ipv6) ]]; then
sed -i "${line_number}s/$/ ipv6/" ${PACKAGE_USE_FILE}
...
...
@@ -51,14 +86,12 @@ fi
# add some ebuilds, specific to NayuOS
for category in $( ls {{ ebuilds_dir }} ); do
echo ${category}
cp -R
{{ ebuilds_dir }}/${category}/* ${CHROMIUM_OVERLAY}/${category}/
cp -R
"{{ ebuilds_dir }}/${category}/"* "${CHROMIUM_OVERLAY}/${category}/"
done
install -m 770 "{{ scripts_dir }}/test_nayuos_image" "{{ cros_location }}/{{ branch }}/src/scripts/test_nayuos_image"
### packages management ###
BASE_CHROMEOS_DEV_ROOT_EBUILD=${CHROMIUM_OVERLAY}/chromeos-base/chromeos-dev-root/chromeos-dev-root-0.0.1.ebuild
VIRTUAL_CHROMEOS_OS_DEV_EBUILD=${CHROMIUM_OVERLAY}/virtual/target-chromium-os-dev/target-chromium-os-dev-1.ebuild
# change the virtual ebuild responsible for installing all packages to add the ones
...
...
@@ -72,11 +105,16 @@ for package in {{ nayu_dev_packages }} ; do
fi
done
increase_revision_number ${CHROMIUM_OVERLAY}/virtual/target-chromium-os-dev
# do not install the Upstart init script that starts ssh daemon at boot time
rm ${CHROMIUM_OVERLAY}/chromeos-base/chromeos-sshd-init/files/openssh-server.conf
sed -i -n '/src_install/q;p' ${CHROMIUM_OVERLAY}/chromeos-base/openssh-server-init/openssh-server-init-0.0.1.ebuild
sed -i -n '/src_install/q;p' ${CHROMIUM_OVERLAY}/chromeos-base/chromeos-sshd-init/chromeos-sshd-init-0.0.1.ebuild
increase_revision_number ${CHROMIUM_OVERLAY}/chromeos-base/openssh-server-init/
increase_revision_number ${CHROMIUM_OVERLAY}/chromeos-base/chromeos-sshd-init/
# bashrc modifications
BASH_EBUILD_DIR={{ cros_location }}/{{ branch }}/src/third_party/portage-stable/app-shells/bash
if [[ $(grep "git --exec-path" "${BASH_EBUILD_DIR}/files/dot-bashrc") ]] ; then
...
...
@@ -94,14 +132,8 @@ if [ "\${less_path}" ] ; then
fi" >> ${BASH_EBUILD_DIR}/files/dot-bashrc
fi
# increase the revision number
# XXX: remove hardcoded revision numbers
cd ${CHROMIUM_OVERLAY}/chromeos-base/openssh-server-init/
ln -s openssh-server-init-0.0.1-r24.ebuild openssh-server-init-0.0.1-r25.ebuild
cd ${CHROMIUM_OVERLAY}/chromeos-base/chromeos-sshd-init/
ln -s chromeos-sshd-init-0.0.1-r5.ebuild chromeos-sshd-init-0.0.1-r6.ebuild
cd ${BASH_EBUILD_DIR}
ln -s bash-4.2_p48-r1.ebuild bash-4.2_p48-r2.ebuild
# XXX: hardcoded revision numbers...
increase_revision_number ${BASH_EBUILD_DIR}
######################################## Build ##############################################
BOARDS="{{ boards_list }}"
...
...
@@ -139,8 +171,8 @@ for board in ${BOARDS} ; do
cros_sdk -- ./build_image --board=${board} dev >> "${BUILD_LOG}" \
&& cros_sdk -- rm -f $NAYU_IMAGE_LOCATION && cros_sdk -- touch $NAYU_IMAGE_LOCATION \
&& cros_sdk -- cros flash --board=${board} file://$NAYU_IMAGE_LOCATION >> "${BUILD_LOG}" \
&& cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
|| { echo "An error occured while building ${board} NayuOS image. Exiting." ; exit 1 ;}
# && cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
# save ~15Go/device but delete cache (next build will be as long)
if [ ${KEEP_CACHE,,} == "no" ] ; then
...
...
software/nayuos/scripts/test_nayuos_image
View file @
b99d23f5
...
...
@@ -14,6 +14,7 @@ ORIGINAL_GRANDENET_SCRIPT=~/trunk/src/third_party/chromiumos-overlay/net-misc/re
GRANDENET_SCRIPT
=
"usr/local/bin/grandenet"
INIT_SSH_SERVER
=
"etc/init/openssh-server.conf"
BASHRC
=
"etc/skel/.bashrc"
GIT_CORE
=
"usr/local/libexec/git-core/"
EXPECTED_ALIAS
=
"alias git='git --exec-path=/usr/local/libexec/git-core/'"
VIRTUALENV_BIN
=
"usr/local/bin/virtualenv"
...
...
@@ -32,12 +33,13 @@ function print_result() {
# MOUNT IMAGE AND GET INFO
install
-d
${
MOUNTPOINT
}
install
-d
"
${
MOUNTPOINT
}
"
./mount_gpt_image.sh
--safe
-f
$(
./get_latest_image.sh
--board
=
${
BOARD
}
)
-r
${
MOUNTPOINT
}
echo
$(
ls
"
${
MOUNTPOINT
}
/usr/local"
)
if
[[
$(
ls
"
${
MOUNTPOINT
}
/usr/local"
)
]]
;
then
my_diff
=
$(
diff
${
ORIGINAL_GRANDENET_SCRIPT
}
"
${
MOUNTPOINT
}
/
${
GRANDENET_SCRIPT
}
"
)
my_diff
=
$(
diff
"
${
ORIGINAL_GRANDENET_SCRIPT
}
"
"
${
MOUNTPOINT
}
/
${
GRANDENET_SCRIPT
}
"
)
opensshd_config
=
$(
ls
"
${
MOUNTPOINT
}
/
${
INIT_SSH_SERVER
}
"
)
gitcore
=
$(
ls
"
${
MOUNTPOINT
}
/
${
GIT_CORE
}
"
)
gitalias
=
$(
grep
"
${
EXPECTED_ALIAS
}
"
"
${
MOUNTPOINT
}
/
${
BASHRC
}
"
)
virtualenvbin
=
$(
ls
"
${
MOUNTPOINT
}
/
${
VIRTUALENV_BIN
}
"
)
else
...
...
@@ -50,7 +52,7 @@ rmdir ${MOUNTPOINT}
# PRINT RESULTS
echo
"* test if /usr/local exists"
if
[[
${
is_empty
}
==
1
]]
;
then
if
[[
"
${
is_empty
}
"
==
"1"
]]
;
then
print_result
${
FAILURE
}
"/usr/local is empty."
else
print_result
${
SUCCESS
}
"/usr/local is not empty."
...
...
@@ -71,10 +73,18 @@ else
print_result
${
SUCCESS
}
"opensshd config removed."
fi
echo
"* test
git quick fix for option --exec-path
"
echo
"* test
if git core directory is not empty
"
if
[[
${
gitalias
}
==
""
]]
;
then
print_result
${
FAILURE
}
"Expected alias for git command not in
${
MOUNTPOINT
}
/
${
BASHRC
}
. Should be:
${
EXPECTED_ALIAS
}
"
if
[[
"
${
gitcore
}
"
==
""
]]
;
then
print_result
${
FAILURE
}
"No git file in
${
MOUNTPOINT
}
/
${
GIT_CORE
}
."
else
print_result
${
SUCCESS
}
"git core directory exists and is not empty."
fi
echo
"* test bashrc changes for git paths quick fix"
if
[[
"
${
gitalias
}
"
==
""
]]
;
then
print_result
${
FAILURE
}
"Expected alias for git command not in
${
MOUNTPOINT
}
/
${
BASHRC
}
. There should be:
${
EXPECTED_ALIAS
}
"
else
print_result
${
SUCCESS
}
"git alias is correct."
fi
...
...
software/nayuos/software.cfg
View file @
b99d23f5
...
...
@@ -26,7 +26,7 @@ command = sudo -V
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg
rendered = ${buildout:directory}/instance.cfg
md5sum =
be6bd665c0b356a84090d200ea14b33c
md5sum =
6761ff454e186548ed9dc16e4410840a
mode = 0644
scripts_dir = ${:_profile_base_location_}/scripts
logo_dir = ${:_profile_base_location_}/logo
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment