diff --git a/Dockerfile b/Dockerfile index eedfb0a..8ed7721 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,4 @@ -FROM plabedan/gentoo - -# Set locales to en_US.UTF-8 -RUN echo "en_US.UTF-8 UTF-8 " >> /etc/locale.gen && locale-gen && eselect locale set en_US.utf8 && env-update && source /etc/profile -ENV LC_ALL=en_US.UTF-8 - -# Upgrading portage -RUN emerge --sync > /dev/null 2>&1 && layman -a sabayon - -# Configure the sabayon box, installing equo setting up locales -ADD ./script/sabayon-configuration.sh / -RUN /bin/bash /sabayon-configuration.sh && rm -rf /sabayon-configuration.sh - -# Generating empty equo db -ADD ./script/generate-equo-db.sh / -ADD ./ext/equo.sql / -RUN /bin/bash /generate-equo-db.sh && rm -rf /equo.sql /generate-equo-db.sh - -# Calling equo rescue generate, unfortunately we have to use expect -ADD ./script/equo-rescue-generate.exp / -RUN /usr/bin/expect /equo-rescue-generate.exp && rm -rf /equo-rescue-generate.exp - -# Portage configurations -ADD ./script/sabayon-configuration-build.sh /sabayon-configuration-build.sh -RUN /bin/bash /sabayon-configuration-build.sh && rm -rf /sabayon-configuration-build.sh - -# Perform before-upgrade tasks (mirror sorting, updating repository db, removing portage and keeping profiles and metadata) -RUN mv /etc/entropy/repositories.conf.d/entropy_sabayonlinux.org.example /etc/entropy/repositories.conf.d/entropy_sabayonlinux.org && equo up && equo repo mirrorsort sabayonlinux.org && cd /usr/portage/;ls | grep -v 'profiles' | grep -v 'metadata' | xargs rm -rf +FROM sabayon/base-amd64 # Accepting licenses needed to continue automatic install/upgrade ADD ./conf/spinbase-licenses /etc/entropy/packages/license.accept diff --git a/README.md b/README.md index 160ae3f..29b67b1 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,12 @@ Attention! It's under strong development State: Alpha The purpose of this project is to provide an image of Sabayon spinbase. -It is just a gentoo stage3 + entropy +It is just a [Sabayon +base](https://github.com/mudler/docker-sabayon-base) +with upgrades +and tools, ready to be shipped on VM(s)/LiveCDs -UPDATE: Images are also on Docker Hub [sabayon/spinbase-amd64](https://registry.hub.docker.com/u/sabayon/spinbase-amd64/) and the already squashed image, +Images are also on Docker Hub [sabayon/spinbase-amd64](https://registry.hub.docker.com/u/sabayon/spinbase-amd64/) and the already squashed image, [sabayon/spinbase-amd64-squashed](https://registry.hub.docker.com/u/sabayon/spinbase-amd64-squashed/) ## First steps on docker diff --git a/ext/equo.sql b/ext/equo.sql deleted file mode 100644 index 995f46d..0000000 --- a/ext/equo.sql +++ /dev/null @@ -1,300 +0,0 @@ -BEGIN TRANSACTION; -CREATE TABLE IF NOT EXISTS baseinfo ( - idpackage INTEGER PRIMARY KEY AUTOINCREMENT, - atom VARCHAR, - category VARCHAR, - name VARCHAR, - version VARCHAR, - versiontag VARCHAR, - revision INTEGER, - branch VARCHAR, - slot VARCHAR, - license VARCHAR, - etpapi INTEGER, - trigger INTEGER - ); -CREATE TABLE IF NOT EXISTS extrainfo ( - idpackage INTEGER PRIMARY KEY, - description VARCHAR, - homepage VARCHAR, - download VARCHAR, - size VARCHAR, - chost VARCHAR, - cflags VARCHAR, - cxxflags VARCHAR, - digest VARCHAR, - datecreation VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS content ( - idpackage INTEGER, - file VARCHAR, - type VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS contentsafety ( - idpackage INTEGER, - file VARCHAR, - mtime FLOAT, - sha256 VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS provide ( - idpackage INTEGER, - atom VARCHAR, - is_default INTEGER DEFAULT 0, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS dependencies ( - idpackage INTEGER, - iddependency INTEGER, - type INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS dependenciesreference ( - iddependency INTEGER PRIMARY KEY AUTOINCREMENT, - dependency VARCHAR - ); -CREATE TABLE IF NOT EXISTS conflicts ( - idpackage INTEGER, - conflict VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS mirrorlinks ( - mirrorname VARCHAR, - mirrorlink VARCHAR - ); -CREATE TABLE IF NOT EXISTS sources ( - idpackage INTEGER, - idsource INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS sourcesreference ( - idsource INTEGER PRIMARY KEY AUTOINCREMENT, - source VARCHAR - ); -CREATE TABLE IF NOT EXISTS useflags ( - idpackage INTEGER, - idflag INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS useflagsreference ( - idflag INTEGER PRIMARY KEY AUTOINCREMENT, - flagname VARCHAR - ); -CREATE TABLE IF NOT EXISTS keywords ( - idpackage INTEGER, - idkeyword INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS keywordsreference ( - idkeyword INTEGER PRIMARY KEY AUTOINCREMENT, - keywordname VARCHAR - ); -CREATE TABLE IF NOT EXISTS configprotect ( - idpackage INTEGER PRIMARY KEY, - idprotect INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS configprotectmask ( - idpackage INTEGER PRIMARY KEY, - idprotect INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS configprotectreference ( - idprotect INTEGER PRIMARY KEY AUTOINCREMENT, - protect VARCHAR - ); -CREATE TABLE IF NOT EXISTS systempackages ( - idpackage INTEGER PRIMARY KEY, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS injected ( - idpackage INTEGER PRIMARY KEY, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS installedtable ( - idpackage INTEGER PRIMARY KEY, - repositoryname VARCHAR, - source INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS sizes ( - idpackage INTEGER PRIMARY KEY, - size INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS counters ( - counter INTEGER, - idpackage INTEGER, - branch VARCHAR, - PRIMARY KEY(idpackage,branch), - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS trashedcounters ( - counter INTEGER - ); -CREATE TABLE IF NOT EXISTS needed_libs ( - idpackage INTEGER, - lib_user_path VARCHAR, - lib_user_soname VARCHAR, - soname VARCHAR, - elfclass INTEGER, - rpath VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS provided_libs ( - idpackage INTEGER, - library VARCHAR, - path VARCHAR, - elfclass INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS treeupdates ( - repository VARCHAR PRIMARY KEY, - digest VARCHAR - ); -CREATE TABLE IF NOT EXISTS treeupdatesactions ( - idupdate INTEGER PRIMARY KEY AUTOINCREMENT, - repository VARCHAR, - command VARCHAR, - branch VARCHAR, - date VARCHAR - ); -CREATE TABLE IF NOT EXISTS licensedata ( - licensename VARCHAR UNIQUE, - text BLOB, - compressed INTEGER - ); -CREATE TABLE IF NOT EXISTS licenses_accepted ( - licensename VARCHAR UNIQUE - ); -CREATE TABLE IF NOT EXISTS triggers ( - idpackage INTEGER PRIMARY KEY, - data BLOB, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS entropy_misc_counters ( - idtype INTEGER PRIMARY KEY, - counter INTEGER - ); -CREATE TABLE IF NOT EXISTS categoriesdescription ( - category VARCHAR, - locale VARCHAR, - description VARCHAR - ); -CREATE TABLE IF NOT EXISTS packagesets ( - setname VARCHAR, - dependency VARCHAR - ); -CREATE TABLE IF NOT EXISTS packagechangelogs ( - category VARCHAR, - name VARCHAR, - changelog BLOB, - PRIMARY KEY (category, name) - ); -CREATE TABLE IF NOT EXISTS automergefiles ( - idpackage INTEGER, - configfile VARCHAR, - md5 VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS packagedesktopmime ( - idpackage INTEGER, - name VARCHAR, - mimetype VARCHAR, - executable VARCHAR, - icon VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS packagedownloads ( - idpackage INTEGER, - download VARCHAR, - type VARCHAR, - size INTEGER, - disksize INTEGER, - md5 VARCHAR, - sha1 VARCHAR, - sha256 VARCHAR, - sha512 VARCHAR, - gpg BLOB, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS provided_mime ( - mimetype VARCHAR, - idpackage INTEGER, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS packagesignatures ( - idpackage INTEGER PRIMARY KEY, - sha1 VARCHAR, - sha256 VARCHAR, - sha512 VARCHAR, - gpg BLOB, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS packagespmphases ( - idpackage INTEGER PRIMARY KEY, - phases VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS packagespmrepository ( - idpackage INTEGER PRIMARY KEY, - repository VARCHAR, - FOREIGN KEY(idpackage) - REFERENCES baseinfo(idpackage) ON DELETE CASCADE - ); -CREATE TABLE IF NOT EXISTS entropy_branch_migration ( - repository VARCHAR, - from_branch VARCHAR, - to_branch VARCHAR, - post_migration_md5sum VARCHAR, - post_upgrade_md5sum VARCHAR, - PRIMARY KEY (repository, from_branch, to_branch) - ); -CREATE TABLE IF NOT EXISTS preserved_libs ( - library VARCHAR, - elfclass INTEGER, - path VARCHAR, - atom VARCHAR, - PRIMARY KEY (library, path, elfclass) - ); -CREATE TABLE IF NOT EXISTS xpakdata ( - idpackage INTEGER PRIMARY KEY, - data BLOB - ); -CREATE TABLE IF NOT EXISTS settings ( - setting_name VARCHAR, - setting_value VARCHAR, - PRIMARY KEY(setting_name) - ); -INSERT INTO "settings" VALUES('arch', 'amd64'); -INSERT INTO "settings" VALUES('on_delete_cascade', '1'); -INSERT INTO "settings" VALUES('_baseinfo_extrainfo_2010', '1'); -INSERT INTO "settings" VALUES('schema_revision', '6'); -COMMIT; diff --git a/script/equo-rescue-generate.exp b/script/equo-rescue-generate.exp deleted file mode 100644 index 7dcf96d..0000000 --- a/script/equo-rescue-generate.exp +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/expect -f - -# no need for timeout 1 -set timeout -1 - -spawn equo rescue generate - -expect { - "*Understood*" { send "Yes\r\n" ; exp_continue } - "*Really*" { send "Yes\r\n" ; exp_continue } - "*Ok*" { send "Yes\r\n" ; exp_continue } - "*generation complete*" { sleep 3; send "exit\r"; exit } -# timeout { puts "timed out during generation"; exit 1 } -} - -expect EOF - -puts $expect_out(buffer) - -lassign [wait] pid spawnid os_error_flag value - -if {$os_error_flag == 0} { - puts "exit status: $value" -} else { - puts "errno: $value" -} diff --git a/script/generate-equo-db.sh b/script/generate-equo-db.sh deleted file mode 100644 index f47fd75..0000000 --- a/script/generate-equo-db.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -mkdir -p /var/lib/entropy/client/database/amd64 -cd /var/lib/entropy/client/database/amd64 -cat /equo.sql | sqlite3 equo.db - -# remove files used to generate a correct equo db -rm -rfv /equo.sql -rm -rfv /generate-equo-db.sh diff --git a/script/post-upgrade.sh b/script/post-upgrade.sh index c4c8cdc..7fb9d24 100644 --- a/script/post-upgrade.sh +++ b/script/post-upgrade.sh @@ -97,6 +97,7 @@ PACKAGES_TO_ADD=( "x11-themes/sabayon-artwork-grub" "app-crypt/gnupg" "x11-themes/sabayon-artwork-isolinux" + "app-crypt/shim-signed" ) # Handling install/removal of packages specified in env diff --git a/script/sabayon-configuration-build.sh b/script/sabayon-configuration-build.sh deleted file mode 100644 index 587bd82..0000000 --- a/script/sabayon-configuration-build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# fetch the bits! -cd /opt -git clone git://github.com/Sabayon/build.git sabayon-build -cd /opt/sabayon-build/conf/intel/portage -# keep your specific stuff in "myconf" branch: -git checkout -b myconf -# symlink to your : -ln -sf make.conf.amd64 make.conf -ln -sf package.env.amd64 package.env -# add & commit -git add make.conf package.env -git config --global user.name "root" -git config --global user.email "root@localhost" -git commit -m "saving my configurations" -# rename the gentoo /etc/make.conf and /etc/portage/: -cd /etc/ -mv portage portage-gentoo -#mv make.conf make.conf-gentoo -# symlink to sabayon /etc/make.conf /etc/portage/: -ln -sf /opt/sabayon-build/conf/intel/portage portage diff --git a/script/sabayon-configuration.sh b/script/sabayon-configuration.sh deleted file mode 100644 index 4fbbc16..0000000 --- a/script/sabayon-configuration.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -# Setting locale.conf -for f in /etc/env.d/02locale /etc/locale.conf; do - echo LANG=en_US.UTF-8 > "${f}" - echo LANGUAGE=en_US.UTF-8 >> "${f}" - echo LC_ALL=en_US.UTF-8 >> "${f}" -done - -# Defyning /usr/local/portage configuration -mkdir /usr/local/portage -mkdir -p /usr/local/portage/metadata/ -mkdir -p /usr/local/portage/profiles/ -echo "masters = gentoo" > /usr/local/portage/metadata/layout.conf -echo "user_defined" > /usr/local/portage/profiles/repo_name - -emerge -C =dev-python/python-exec-0.3.1 - -mkdir -p /etc/portage/package.keywords/ -echo "app-admin/equo ~amd64 -sys-apps/entropy ~amd64 -" > /etc/portage/package.keywords/00-sabayon.package.keywords - -mkdir -p /etc/portage/package.use/ -echo "dev-lang/python sqlite -sys-apps/file python -" > /etc/portage/package.use/00-sabayon.package.use - - -# emerging equo and expect -emerge -vt equo --autounmask-write || exit 1 -emerge expect || exit 1 - -# Choosing only python2.7 for now, cleaning others -eselect python set python2.7 - -# Removing other versions of python -emerge -C python:3.2 python:3.3 - -# Specifying a gentoo profile -eselect profile set default/linux/amd64/13.0/desktop - -# default to opendns for next stage(s) -echo "nameserver 208.67.222.222" > /etc/resolv.conf - -# set default shell -chsh -s /bin/bash - -rm -rf /etc/make.profile - -