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
Labels
Merge Requests
104
Merge Requests
104
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
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