From 4f653fea535311221e092e0eeaab9a78c1263d00 Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Tue, 16 Jul 2024 00:51:05 -0700 Subject: [PATCH 1/7] refactor: Use "latest" in place of no release --- src/linux/ubuntu.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/linux/ubuntu.rs b/src/linux/ubuntu.rs index 0047280..9241605 100644 --- a/src/linux/ubuntu.rs +++ b/src/linux/ubuntu.rs @@ -310,6 +310,7 @@ impl Distro for Elementary { .and_then(|html| checksum_regex.captures(&html).map(|c| c[1].to_string())); vec![Config { + release: Some("latest".to_string()), iso: Some(vec![Source::Web(WebSource::new(dl_link, checksum, None, None))]), ..Default::default() }] From 64a8ada3cc4a29ce0f8ede4b7b9f7ecfbca66910 Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Tue, 16 Jul 2024 00:51:40 -0700 Subject: [PATCH 2/7] feat: Add support for container images --- Cargo.lock | 4 +- src/container_images.rs | 144 ++++++++++++++++++++++++++++++++++++++++ src/main.rs | 16 ++--- 3 files changed, 153 insertions(+), 11 deletions(-) create mode 100644 src/container_images.rs diff --git a/Cargo.lock b/Cargo.lock index fe65e81..44aab2a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1557,7 +1557,7 @@ dependencies = [ [[package]] name = "quickemu-rs" version = "0.7.1" -source = "git+https://github.com/lj3954/quickemu-rs.git#412e6eebac941bac580b7a87040142480c363adf" +source = "git+https://github.com/lj3954/quickemu-rs.git#fa106f350f72a24f035968b801e70b928743f986" dependencies = [ "anyhow", "clap", @@ -1579,7 +1579,7 @@ dependencies = [ [[package]] name = "quickget-rs" version = "0.7.3" -source = "git+https://github.com/lj3954/quickemu-rs.git#412e6eebac941bac580b7a87040142480c363adf" +source = "git+https://github.com/lj3954/quickemu-rs.git#fa106f350f72a24f035968b801e70b928743f986" dependencies = [ "anyhow", "clap", diff --git a/src/container_images.rs b/src/container_images.rs new file mode 100644 index 0000000..0e6d19f --- /dev/null +++ b/src/container_images.rs @@ -0,0 +1,144 @@ +use quickemu::config::{Arch, DiskFormat, GuestOS}; +use quickget::data_structures::{Config, Disk, DockerSource, Source, OS}; +use serde::Deserialize; + +use crate::utils::capture_page; + +const GH_CONTAINER_SOURCE: &str = "ghcr.io/quickemu-project/build-quickget-images"; +const TAG_SOURCE: &str = "https://ghcr.io/v2/quickemu-project/build-quickget-images/tags/list"; +const TOKEN_SOURCE: &str = r#"https://ghcr.io/token\?scope\="repository:quickemu-project/build-quickget-images:pull""#; + +#[derive(Deserialize)] +struct DockerData { + url: String, + data: Vec, +} + +#[derive(Deserialize)] +struct DockerOsData { + os_name: String, + #[serde(default)] + guest_os: GuestOS, + images: Vec, +} + +#[derive(Deserialize)] +struct ImageInfo { + #[serde(default)] + image_type: ImageType, + release: String, + #[serde(default)] + edition: Option, + architectures: Vec, + #[serde(default)] + env: Vec<(String, String)>, + filename: String, +} + +#[derive(Default, Deserialize)] +enum ImageType { + #[default] + Iso, + Img, + Disk(DiskInfo), +} + +#[derive(Deserialize)] +struct DiskInfo { + #[serde(default)] + size: Option, + #[serde(default)] + format: DiskFormat, +} + +pub async fn add_container_images(distros: &mut [OS]) { + let Some(container_images) = fetch_container_images().await else { return }; + container_images.into_iter().for_each(|container| { + container.data.into_iter().for_each(|os_data| { + let os = distros.iter_mut().find(|d| d.name == os_data.os_name); + match os { + Some(os) => os.releases.extend(os_data.images.into_iter().flat_map(|image| { + let url = &container.url; + let guest_os = os_data.guest_os.clone(); + let release = image.release + "-build"; + image.architectures.into_iter().map(move |arch| { + let mut config = Config { + release: Some(release.clone()), + edition: image.edition.clone(), + guest_os: guest_os.clone(), + arch, + ..Default::default() + }; + let source = Source::Docker(DockerSource { + url: url.to_string(), + env: image.env.clone(), + output_filename: image.filename.clone(), + }); + match &image.image_type { + ImageType::Iso => config.iso = Some(vec![source]), + ImageType::Img => config.img = Some(vec![source]), + ImageType::Disk(DiskInfo { size, format }) => { + config.disk_images = Some(vec![Disk { + source, + size: *size, + format: format.clone(), + }]) + } + } + config + }) + })), + None => eprintln!("OS {} not found in distros", os_data.os_name), + } + }) + }); +} + +async fn fetch_container_images() -> Option> { + let token_data = capture_page(TOKEN_SOURCE).await?; + let token = serde_json::from_str::(&token_data).ok()?.token; + + let client = reqwest::Client::new(); + let data = client + .get(TAG_SOURCE) + .header("Authorization", format!("Bearer {token}")) + .header("Accept", "vnd.docker.distribution.manifest.v2+json") + .send() + .await + .ok()? + .text() + .await + .ok()?; + + let api_data: DockerEntry = serde_json::from_str(&data).ok()?; + let tags = api_data.tags; + + tags.iter() + .flat_map(|tag| DockerData::try_from(&**tag).inspect_err(|e| eprintln!("Failed to parse metadata from tag {tag}: {e}"))) + .collect::>() + .into() +} + +type Tag<'a> = &'a str; +impl<'a> TryFrom> for DockerData { + type Error = String; + fn try_from(tag: Tag<'a>) -> Result { + let file = format!("packages/{tag}/metadata.json"); + let data = std::fs::read_to_string(file).map_err(|e| e.to_string())?; + let images: Vec = serde_json::from_str(&data).map_err(|e| e.to_string())?; + Ok(DockerData { + url: format!("{GH_CONTAINER_SOURCE}:{tag}"), + data: images, + }) + } +} + +#[derive(Deserialize)] +struct DockerToken { + token: String, +} + +#[derive(Deserialize)] +struct DockerEntry { + tags: Vec, +} diff --git a/src/main.rs b/src/main.rs index 24b0350..a25d7ce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ mod bsd; +mod container_images; mod linux; mod store_data; mod utils; @@ -51,17 +52,15 @@ async fn main() { linux::EasyOS ); - let distros = futures::future::join_all(futures) + let mut distros = futures::future::join_all(futures) .await .into_iter() .flatten() .flatten() - .collect::>() - .distro_sort(); + .collect::>(); - if let Ok(output) = serde_json::to_string_pretty(&distros) { - println!("{}", output); - } + container_images::add_container_images(&mut distros).await; + distros.distro_sort(); let output = serde_json::to_string(&distros).unwrap(); @@ -71,11 +70,11 @@ async fn main() { } trait DistroSort { - fn distro_sort(self) -> Self; + fn distro_sort(&mut self); } impl DistroSort for Vec { - fn distro_sort(mut self) -> Self { + fn distro_sort(&mut self) { self.sort_unstable_by(|a, b| a.name.cmp(&b.name)); self.iter_mut().for_each(|d| { d.releases.sort_unstable_by(|a, b| { @@ -96,7 +95,6 @@ impl DistroSort for Vec { b.release.cmp(&a.release).then(a.edition.cmp(&b.edition)) }) }); - self } } From 8c4f54095f14f07c914e5d3785aff89564ae221f Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Tue, 16 Jul 2024 00:51:55 -0700 Subject: [PATCH 3/7] feat: Add elementary OS container image --- .gitmodules | 3 +++ packages/elementary/Dockerfile | 9 +++++++++ packages/elementary/build_elementary.sh | 18 ++++++++++++++++++ packages/elementary/metadata.json | 13 +++++++++++++ packages/elementary/os | 1 + 5 files changed, 44 insertions(+) create mode 100644 .gitmodules create mode 100644 packages/elementary/Dockerfile create mode 100755 packages/elementary/build_elementary.sh create mode 100644 packages/elementary/metadata.json create mode 160000 packages/elementary/os diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6ad0e2c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "packages/elementary/os"] + path = packages/elementary/os + url = git@github.com:elementary/os.git diff --git a/packages/elementary/Dockerfile b/packages/elementary/Dockerfile new file mode 100644 index 0000000..a9d7342 --- /dev/null +++ b/packages/elementary/Dockerfile @@ -0,0 +1,9 @@ +FROM debian:latest + +COPY build_elementary.sh /build/ +COPY os /build/os/ + +# Install dependencies and handle other preconditions +RUN apt-get update; apt-get install -y live-build patch gnupg2 binutils zstd + +ENTRYPOINT ["/build/build_elementary.sh"] diff --git a/packages/elementary/build_elementary.sh b/packages/elementary/build_elementary.sh new file mode 100755 index 0000000..7103af9 --- /dev/null +++ b/packages/elementary/build_elementary.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +cd /build/os || exit + +if [ ! -d /output ]; then + echo "A directory must be mounted at /output. If quickget is building this image, please file an issue." + exit 1 +fi + +case "${RELEASE}" in + "8-daily") ./build.sh etc/terraform-daily-8.0-azure.conf;; + "stable") ./build.sh;; +esac + +for file in builds/*/*.iso; do + mv "${file}" "/output/elementary-${RELEASE}.iso" + chmod a+rw "/output/elementary-${RELEASE}.iso" +done diff --git a/packages/elementary/metadata.json b/packages/elementary/metadata.json new file mode 100644 index 0000000..3717f8e --- /dev/null +++ b/packages/elementary/metadata.json @@ -0,0 +1,13 @@ +[ + { + "os_name": "elementary", + "images": [ + { + "release": "8", + "architectures": ["x86_64"], + "env": [ [ "RELEASE", "8-daily" ] ], + "filename": "elementary-8-daily.iso" + } + ] + } +] diff --git a/packages/elementary/os b/packages/elementary/os new file mode 160000 index 0000000..4420e6a --- /dev/null +++ b/packages/elementary/os @@ -0,0 +1 @@ +Subproject commit 4420e6a6ca538528555c3da2dfdde210ba568642 From 5953fb44c61f4f437256371421962fe92cda9e77 Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Thu, 18 Jul 2024 22:35:22 -0700 Subject: [PATCH 4/7] refactor: Remove OSes without releases after container images are added --- .gitmodules | 3 +++ packages/windows/uupdump_converter | 1 + src/main.rs | 3 ++- src/store_data.rs | 18 ++++++++---------- 4 files changed, 14 insertions(+), 11 deletions(-) create mode 160000 packages/windows/uupdump_converter diff --git a/.gitmodules b/.gitmodules index 6ad0e2c..0b8ef18 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "packages/elementary/os"] path = packages/elementary/os url = git@github.com:elementary/os.git +[submodule "packages/windows/uupdump_converter"] + path = packages/windows/uupdump_converter + url = https://git.uupdump.net/uup-dump/converter diff --git a/packages/windows/uupdump_converter b/packages/windows/uupdump_converter new file mode 160000 index 0000000..7b507c6 --- /dev/null +++ b/packages/windows/uupdump_converter @@ -0,0 +1 @@ +Subproject commit 7b507c6c99afcf4cff59adcdf51cdb75159bd548 diff --git a/src/main.rs b/src/main.rs index a25d7ce..12b5c76 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ mod container_images; mod linux; mod store_data; mod utils; +mod windows; use std::{fs::File, io::Write}; @@ -56,7 +57,6 @@ async fn main() { .await .into_iter() .flatten() - .flatten() .collect::>(); container_images::add_container_images(&mut distros).await; @@ -76,6 +76,7 @@ trait DistroSort { impl DistroSort for Vec { fn distro_sort(&mut self) { self.sort_unstable_by(|a, b| a.name.cmp(&b.name)); + self.retain(|d| !d.releases.is_empty()); self.iter_mut().for_each(|d| { d.releases.sort_unstable_by(|a, b| { if let (Some(release_a), Some(release_b)) = (&a.release, &b.release) { diff --git a/src/store_data.rs b/src/store_data.rs index d3593f5..2de2f20 100644 --- a/src/store_data.rs +++ b/src/store_data.rs @@ -15,20 +15,18 @@ pub trait Distro { pub trait ToOS { #![allow(dead_code)] - async fn to_os() -> Option; + async fn to_os() -> OS; } impl ToOS for T { - async fn to_os() -> Option { + async fn to_os() -> OS { // Any entry containing a URL which isn't reachable needs to be removed - let Some(releases) = Self::generate_configs().await else { + let releases = Self::generate_configs().await; + if releases.is_none() { log::error!("Failed to generate configs for {}", Self::PRETTY_NAME); - return None; }; - if releases.is_empty() { - log::error!("No releases found for {}", Self::PRETTY_NAME); - return None; - } + let releases = releases.unwrap_or_default(); + let futures = releases.iter().map(|r| { let urls = [ filter_web_sources(r.iso.as_deref()), @@ -60,13 +58,13 @@ impl ToOS for T { }) .collect::>(); - Some(OS { + OS { name: Self::NAME.into(), pretty_name: Self::PRETTY_NAME.into(), homepage: Self::HOMEPAGE.map(Into::into), description: Self::DESCRIPTION.map(Into::into), releases, - }) + } } } From 2dd9cc630eaf961a52137feec93597b26237d8d9 Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Thu, 18 Jul 2024 22:36:44 -0700 Subject: [PATCH 5/7] refactor: Change formatting of metadata, options for container images --- Cargo.lock | 4 ++-- packages/elementary/metadata.json | 26 +++++++++++++++----------- src/container_images.rs | 26 +++++++++++++++++++------- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 44aab2a..4e91837 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1557,7 +1557,7 @@ dependencies = [ [[package]] name = "quickemu-rs" version = "0.7.1" -source = "git+https://github.com/lj3954/quickemu-rs.git#fa106f350f72a24f035968b801e70b928743f986" +source = "git+https://github.com/lj3954/quickemu-rs.git#3a40ad104d5fe0f552a6023b5ea38e075286a724" dependencies = [ "anyhow", "clap", @@ -1579,7 +1579,7 @@ dependencies = [ [[package]] name = "quickget-rs" version = "0.7.3" -source = "git+https://github.com/lj3954/quickemu-rs.git#fa106f350f72a24f035968b801e70b928743f986" +source = "git+https://github.com/lj3954/quickemu-rs.git#3a40ad104d5fe0f552a6023b5ea38e075286a724" dependencies = [ "anyhow", "clap", diff --git a/packages/elementary/metadata.json b/packages/elementary/metadata.json index 3717f8e..a3ecc14 100644 --- a/packages/elementary/metadata.json +++ b/packages/elementary/metadata.json @@ -1,13 +1,17 @@ -[ +{ + "privileged": true, + "shared_dirs": ["/proc"], + "os_data": [ { - "os_name": "elementary", - "images": [ - { - "release": "8", - "architectures": ["x86_64"], - "env": [ [ "RELEASE", "8-daily" ] ], - "filename": "elementary-8-daily.iso" - } - ] + "os_name": "elementary", + "images": [ + { + "release": "8", + "architectures": ["x86_64"], + "env": [["RELEASE", "8-daily"]], + "filename": "elementary-8-daily.iso" + } + ] } -] + ] +} diff --git a/src/container_images.rs b/src/container_images.rs index 0e6d19f..0222786 100644 --- a/src/container_images.rs +++ b/src/container_images.rs @@ -11,9 +11,19 @@ const TOKEN_SOURCE: &str = r#"https://ghcr.io/token\?scope\="repository:quickemu #[derive(Deserialize)] struct DockerData { url: String, + privileged: bool, + shared_dirs: Vec, data: Vec, } +#[derive(Deserialize)] +struct Metadata { + privileged: bool, + #[serde(default)] + shared_dirs: Vec, + os_data: Vec, +} + #[derive(Deserialize)] struct DockerOsData { os_name: String, @@ -30,8 +40,6 @@ struct ImageInfo { #[serde(default)] edition: Option, architectures: Vec, - #[serde(default)] - env: Vec<(String, String)>, filename: String, } @@ -61,6 +69,7 @@ pub async fn add_container_images(distros: &mut [OS]) { let url = &container.url; let guest_os = os_data.guest_os.clone(); let release = image.release + "-build"; + let shared_dirs = container.shared_dirs.clone(); image.architectures.into_iter().map(move |arch| { let mut config = Config { release: Some(release.clone()), @@ -71,7 +80,8 @@ pub async fn add_container_images(distros: &mut [OS]) { }; let source = Source::Docker(DockerSource { url: url.to_string(), - env: image.env.clone(), + privileged: container.privileged, + shared_dirs: shared_dirs.clone(), output_filename: image.filename.clone(), }); match &image.image_type { @@ -88,7 +98,7 @@ pub async fn add_container_images(distros: &mut [OS]) { config }) })), - None => eprintln!("OS {} not found in distros", os_data.os_name), + None => log::error!("OS {} not found in distros", os_data.os_name), } }) }); @@ -114,7 +124,7 @@ async fn fetch_container_images() -> Option> { let tags = api_data.tags; tags.iter() - .flat_map(|tag| DockerData::try_from(&**tag).inspect_err(|e| eprintln!("Failed to parse metadata from tag {tag}: {e}"))) + .flat_map(|tag| DockerData::try_from(&**tag).inspect_err(|e| log::error!("Failed to parse metadata from tag {tag}: {e}"))) .collect::>() .into() } @@ -125,10 +135,12 @@ impl<'a> TryFrom> for DockerData { fn try_from(tag: Tag<'a>) -> Result { let file = format!("packages/{tag}/metadata.json"); let data = std::fs::read_to_string(file).map_err(|e| e.to_string())?; - let images: Vec = serde_json::from_str(&data).map_err(|e| e.to_string())?; + let images: Metadata = serde_json::from_str(&data).map_err(|e| e.to_string())?; Ok(DockerData { url: format!("{GH_CONTAINER_SOURCE}:{tag}"), - data: images, + privileged: images.privileged, + shared_dirs: images.shared_dirs, + data: images.os_data, }) } } From e0217c2d26e0f2ffccd99263ca525a27770decdd Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Thu, 18 Jul 2024 22:37:14 -0700 Subject: [PATCH 6/7] feat: Add Windows container images --- packages/windows/Dockerfile | 8 + packages/windows/build_windows_uupdump.sh | 97 ++ packages/windows/metadata.json | 1151 +++++++++++++++++++++ src/windows/mod.rs | 12 + 4 files changed, 1268 insertions(+) create mode 100644 packages/windows/Dockerfile create mode 100755 packages/windows/build_windows_uupdump.sh create mode 100644 packages/windows/metadata.json create mode 100644 src/windows/mod.rs diff --git a/packages/windows/Dockerfile b/packages/windows/Dockerfile new file mode 100644 index 0000000..dcdcfe5 --- /dev/null +++ b/packages/windows/Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu:latest + +RUN apt-get update; apt-get install -y aria2 cabextract wimtools chntpw genisoimage curl + +COPY uupdump_converter/ /build/uupdump_converter/ +COPY build_windows_uupdump.sh /build/ + +ENTRYPOINT ["/build/build_windows_uupdump.sh"] diff --git a/packages/windows/build_windows_uupdump.sh b/packages/windows/build_windows_uupdump.sh new file mode 100755 index 0000000..3e53ad5 --- /dev/null +++ b/packages/windows/build_windows_uupdump.sh @@ -0,0 +1,97 @@ +#!/bin/bash + +set -e +cd /build/uupdump_converter + +case "${ARCH}" in + "x86_64") ARCH="amd64";; + "aarch64") ARCH="arm64";; + *) echo "Unsupported architecture: ${ARCH}" + exit 1 + ;; +esac + +RELEASE="${RELEASE/-build/}" + +case "${RELEASE}" in + "retail") RING="retail";; + "release_preview") RING="rp";; + "beta") RING="wis";; + "dev") RING="wif";; + "canary") RING="canary";; + *) echo "Unsupported release: ${RELEASE}" + exit 1 + ;; +esac + +case "${EDITION}" in + "Arabic") LANG="ar-sa";; + "Brazilian Portuguese") LANG="pt-br";; + "Bulgarian") LANG="bg-bg";; + "Chinese (Simplified)") LANG="zh-cn";; + "Chinese (Traditional)") LANG="zh-tw";; + "Croatian") LANG="hr-hr";; + "Czech") LANG="cs-cz";; + "Danish") LANG="da-dk";; + "Dutch") LANG="nl-nl";; + "English International") LANG="en-gb";; + "English (United States)") LANG="en-us";; + "Estonian") LANG="et-ee";; + "Finnish") LANG="fi-fi";; + "French") LANG="fr-fr";; + "French Canadian") LANG="fr-ca";; + "German") LANG="de-de";; + "Greek") LANG="el-gr";; + "Hebrew") LANG="he-il";; + "Hungarian") LANG="hu-hu";; + "Italian") LANG="it-it";; + "Japanese") LANG="ja-jp";; + "Korean") LANG="ko-kr";; + "Latvian") LANG="lv-lv";; + "Lithuanian") LANG="lt-lt";; + "Norwegian") LANG="nb-no";; + "Polish") LANG="pl-pl";; + "Portuguese") LANG="pt-pt";; + "Romanian") LANG="ro-ro";; + "Russian") LANG="ru-ru";; + "Serbian Latin") LANG="sr-latn-rs";; + "Slovak") LANG="sk-sk";; + "Slovenian") LANG="sl-si";; + "Spanish") LANG="es-es";; + "Spanish (Mexico)") LANG="es-mx";; + "Swedish") LANG="sv-se";; + "Thai") LANG="th-th";; + "Turkish") LANG="tr-tr";; + "Ukrainian") LANG="uk-ua";; + *) echo "Unsupported language: ${EDITION}" + exit 1 + ;; +esac + +# Fetchupd in UUPDump's JSON API doesn't appear to work correctly. Therefore, parse from website HTML instead. +UPD_ID="$(curl -s "https://uupdump.net/fetchupd.php?arch=${ARCH}&ring=${RING}" | grep -i -v "update" | grep -A 7 -e ", version" -e "Insider Preview" | grep -P -o '(?<=)[0-9a-f-]{36}(?= = Some("https://www.microsoft.com/en-us/windows/"); + const DESCRIPTION: Option<&'static str> = Some("Whether you’re gaming, studying, running a business, or running a household, Windows helps you get it done."); + async fn generate_configs() -> Option> { + Some(vec![]) + } +} From 1ecf954ef3e32fbfba940702684c0636017de426 Mon Sep 17 00:00:00 2001 From: Liam <33645555+lj3954@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:59:01 -0700 Subject: [PATCH 7/7] fix: Allow elementary OS building --- packages/elementary/build_elementary.sh | 3 ++- packages/elementary/metadata.json | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/elementary/build_elementary.sh b/packages/elementary/build_elementary.sh index 7103af9..78fbdc2 100755 --- a/packages/elementary/build_elementary.sh +++ b/packages/elementary/build_elementary.sh @@ -7,8 +7,9 @@ if [ ! -d /output ]; then exit 1 fi +RELEASE="${RELEASE/-build/}" case "${RELEASE}" in - "8-daily") ./build.sh etc/terraform-daily-8.0-azure.conf;; + "8") ./build.sh etc/terraform-daily-8.0-azure.conf;; "stable") ./build.sh;; esac diff --git a/packages/elementary/metadata.json b/packages/elementary/metadata.json index a3ecc14..6c79fb8 100644 --- a/packages/elementary/metadata.json +++ b/packages/elementary/metadata.json @@ -8,7 +8,6 @@ { "release": "8", "architectures": ["x86_64"], - "env": [["RELEASE", "8-daily"]], "filename": "elementary-8-daily.iso" } ]