diff --git a/data/default-x86_64.conf b/data/default-x86_64.conf index 1df61a6..53a9b60 100644 --- a/data/default-x86_64.conf +++ b/data/default-x86_64.conf @@ -2,16 +2,16 @@ collections: - volatile: - uri: "https://dev.serpentos.com/volatile/x86_64/stone.index" - description: "Volatile moss repo" + uri: "http://192.168.0.117/futurelinux/moss/stone.index" + description: "Moss repo" priority: 0 - local-x86_64: collections: - volatile: - uri: "https://dev.serpentos.com/volatile/x86_64/stone.index" - description: "Volatile moss repo" + uri: "http://192.168.0.117/futurelinux/moss/stone.index" + description: "Moss repo" priority: 0 - local: diff --git a/data/macros/actions/cargo.yml b/data/macros/actions/cargo.yml index 89c4cf9..6eee935 100644 --- a/data/macros/actions/cargo.yml +++ b/data/macros/actions/cargo.yml @@ -4,7 +4,7 @@ actions: command: | cargo fetch -v --locked dependencies: - - rust + - rustc # Build the rust project - cargo_build: @@ -14,7 +14,7 @@ actions: --config profile.release.split-debuginfo=\"off\" \ --config profile.release.strip=\"none\" dependencies: - - rust + - rustc # Install the built binary - cargo_install: @@ -28,11 +28,11 @@ actions: } cargo_install dependencies: - - rust + - rustc # Run tests - cargo_test: command: | cargo test -v -j "%(jobs)" --frozen --release --target %(target_triple) --workspace dependencies: - - rust + - rustc diff --git a/data/macros/actions/cmake.yml b/data/macros/actions/cmake.yml index 93b3068..a6d47f1 100644 --- a/data/macros/actions/cmake.yml +++ b/data/macros/actions/cmake.yml @@ -47,6 +47,6 @@ definitions: -DCMAKE_CXX_FLAGS_RELEASE="" \ -DCMAKE_LD_FLAGS="${LDFLAGS}" \ -DCMAKE_BUILD_TYPE="Release" \ - -DCMAKE_INSTALL_LIBDIR="lib" \ + -DCMAKE_INSTALL_LIBDIR="lib%(libsuffix)" \ -DCMAKE_INSTALL_PREFIX="%(prefix)" \ -DCMAKE_LIB_SUFFIX="%(libsuffix)" diff --git a/data/macros/actions/meson.yml b/data/macros/actions/meson.yml index f0390bd..a6e6f7b 100644 --- a/data/macros/actions/meson.yml +++ b/data/macros/actions/meson.yml @@ -43,7 +43,7 @@ definitions: --prefix="%(prefix)" \ --buildtype="plain" \ --libdir="lib%(libsuffix)" \ - --libexecdir="lib%(libsuffix)/%(name)" \ + --libexecdir="%(libexecdir)" \ --sysconfdir="%(sysconfdir)" \ --localstatedir="%(localstatedir)" \ "%(builddir)" diff --git a/data/macros/arch/aarch64.yml b/data/macros/arch/aarch64.yml index 7490352..16afbd4 100644 --- a/data/macros/arch/aarch64.yml +++ b/data/macros/arch/aarch64.yml @@ -2,7 +2,7 @@ definitions: - - libsuffix : "" + - libsuffix : "64" - build_platform : aarch64-%(vendorID) - host_platform : aarch64-%(vendorID) - cc : "%(compiler_c) -m64" diff --git a/data/macros/arch/base.yml b/data/macros/arch/base.yml index 6a62e13..78390ab 100644 --- a/data/macros/arch/base.yml +++ b/data/macros/arch/base.yml @@ -3,7 +3,7 @@ definitions: # Basic variables required for packages to build correctly - - libsuffix : "" + - libsuffix : "64" - prefix : "/usr" - bindir : "%(prefix)/bin" - sbindir : "%(prefix)/sbin" @@ -23,12 +23,12 @@ definitions: - runstatedir : "/run" - sysconfdir : "/etc" - libdir : "%(prefix)/lib%(libsuffix)" - - libexecdir : "%(libdir)/%(name)" - - builddir : "serpent_builddir" + - libexecdir : "%(prefix)/libexec" + - builddir : "future_builddir" # The vendorID is encoded into the triplet, toolchain, builds, etc. # It must match the triplet from bootstrap-scripts. - - vendorID : "serpent-linux" + - vendorID : "future-linux" # Must be set for CC/CXX/CPP to work - cc : "%(compiler_c)" @@ -549,10 +549,10 @@ packages : the %(name) package. paths: - /usr/include - - /usr/lib/*.a - - /usr/lib/cmake - - /usr/lib/lib*.so - - /usr/lib/pkgconfig + - /usr/lib%(libsuffix)/*.a + - /usr/lib%(libsuffix)/cmake + - /usr/lib%(libsuffix)/lib*.so + - /usr/lib%(libsuffix)/pkgconfig - /usr/share/aclocal - /usr/share/man/man2 - /usr/share/man/man3 @@ -568,9 +568,9 @@ packages : Install this package if you need debugging information + symbols for the %(name) package. paths: - - /usr/lib/debug + - /usr/lib%(libsuffix)/debug - # Template for a -libs sub-package which can be used by adding paths via the stone.yml file + # Template for a -libs sub-package which can be used by adding paths via the stone.yaml file - "%(name)-libs": summary: "Library files for %(name)" description: | diff --git a/data/macros/arch/emul32/x86_64.yml b/data/macros/arch/emul32/x86_64.yml index e065dc4..6c0c7ac 100644 --- a/data/macros/arch/emul32/x86_64.yml +++ b/data/macros/arch/emul32/x86_64.yml @@ -11,7 +11,7 @@ definitions: - march : i686 - mtune : i686 - target_triple : "i686-unknown-linux-gnu" - - pkgconfigpath : "%(libdir)/pkgconfig:/usr/share/pkgconfig:%(prefix)/lib/pkgconfig" + - pkgconfigpath : "%(libdir)/pkgconfig:/usr/share/pkgconfig:%(prefix)/lib32/pkgconfig" flags: diff --git a/data/macros/arch/x86_64-stage1.yml b/data/macros/arch/x86_64-stage1.yml index dfb87a2..497f626 100644 --- a/data/macros/arch/x86_64-stage1.yml +++ b/data/macros/arch/x86_64-stage1.yml @@ -7,14 +7,14 @@ definitions: - prefix : "/usr/bootstrap-stage1" - - libsuffix : "" + - libsuffix : "64" - build_platform : x86_64-linux-gnu - host_platform : x86_64-%(vendorID) - cc : "%(compiler_c)" - cxx : "%(compiler_cxx)" - cpp : "%(compiler_cpp)" - march : x86-64-v2 - - mtune : ivybridge + - mtune : generic - target_triple : "x86_64-unknown-linux-gnu" - bootstrap_root : /bill @@ -22,8 +22,8 @@ flags: # Set architecture flags - architecture: - c : "-march=x86-64-v2 -mtune=ivybridge" - cxx : "-march=x86-64-v2 -mtune=ivybridge" + c : "-march=x86-64-v2 -mtune=generic" + cxx : "-march=x86-64-v2 -mtune=generic" defaultTuningGroups : - base diff --git a/data/macros/arch/x86_64-v3x.yml b/data/macros/arch/x86_64-v3x.yml index 34c9c43..d50d305 100644 --- a/data/macros/arch/x86_64-v3x.yml +++ b/data/macros/arch/x86_64-v3x.yml @@ -2,19 +2,19 @@ definitions: - - libsuffix : "" + - libsuffix : "64" - build_platform : x86_64-%(vendorID) - host_platform : x86_64-%(vendorID) - cc : "%(compiler_c)" - cxx : "%(compiler_cxx)" - cpp : "%(compiler_cpp)" - march : x86-64-v3 - - mtune : znver1 + - mtune : haswell flags: # Set architecture flags (GCC) - architecture: - c : "-march=x86-64-v3 -mtune=znver1 -maes -mfsgsbase -mpclmul -mrdrnd -maes -mxsaveopt" - cxx : "-march=x86-64-v3 -mtune=znver1 -maes -mfsgsbase -mpclmul -mrdrnd -maes -mxsaveopt" + c : "-march=x86-64-v3 -mtune=haswell -maes -mfsgsbase -mpclmul -mrdrnd -maes -mxsaveopt" + cxx : "-march=x86-64-v3 -mtune=haswell -maes -mfsgsbase -mpclmul -mrdrnd -maes -mxsaveopt" diff --git a/data/macros/arch/x86_64.yml b/data/macros/arch/x86_64.yml index 62338b0..c661642 100644 --- a/data/macros/arch/x86_64.yml +++ b/data/macros/arch/x86_64.yml @@ -2,7 +2,7 @@ definitions: - - libsuffix : "" + - libsuffix : "64" - build_platform : x86_64-%(vendorID) - host_platform : x86_64-%(vendorID) - cc : "%(compiler_c)" @@ -10,13 +10,13 @@ definitions: - cpp : "%(compiler_cpp)" - d : "%(compiler_d)" - march : x86-64-v2 - - mtune : ivybridge + - mtune : generic - target_triple : "x86_64-unknown-linux-gnu" flags: # Set architecture flags - architecture: - c : "-march=x86-64-v2 -mtune=ivybridge" - cxx : "-march=x86-64-v2 -mtune=ivybridge" + c : "-march=x86-64-v2 -mtune=generic" + cxx : "-march=x86-64-v2 -mtune=generic" d : "-mcpu=x86-64-v2" diff --git a/source/boulder/cli/build_command.d b/source/boulder/cli/build_command.d index e143758..1687ba6 100644 --- a/source/boulder/cli/build_command.d +++ b/source/boulder/cli/build_command.d @@ -26,12 +26,12 @@ import std.stdio; public import moss.core.cli; /** - * The BuildCommand is responsible for handling requests to build stone.yml + * The BuildCommand is responsible for handling requests to build stone.yaml * formatted files into useful binary packages. */ @CommandName("build") @CommandAlias("bi") @CommandHelp("Build a binary .stone package", - "Using the given package recipe file (defaults to stone.yml), a binary + "Using the given package recipe file (defaults to stone.yaml), a binary .stone package will be built using the locally available build dependencies and the resulting binary artefact will be emitted to the output directory, which defaults to the current working directory.") @@ -44,7 +44,7 @@ public struct BuildControlCommand /** * Main entry point into the BuildControlCommand. We expect a list of paths that - * contain "stone.yml" formatted build description files. For each path + * contain "stone.yaml" formatted build description files. For each path * we encounter, we initially check the validity and existence. * * Once all validation is passed, we begin building all of the passed @@ -76,9 +76,9 @@ public struct BuildControlCommand !unconfined, profile, compilerCache, configDir); /* Require a recipe to continue */ - if (argv == null && !"stone.yml".exists) + if (argv == null && !"stone.yaml".exists) { - error("No recipe specified and no stone.yml file found in current directory"); + error("No recipe specified and no stone.yaml file found in current directory"); return ExitStatus.Failure; } @@ -92,11 +92,11 @@ public struct BuildControlCommand // Create a login1 inhibitor lock to prevent the system from going down during a build. auto lock = inhibit("shutdown:sleep:idle", "boulder", "build in progress", "block"); - /* When no recipes are specified, build stone.yml recipe in current directory if it exists */ - if (argv == null && "stone.yml".exists) + /* When no recipes are specified, build stone.yaml recipe in current directory if it exists */ + if (argv == null && "stone.yaml".exists) { - trace("No recipe specified, building stone.yml recipe found in current directory"); - res = controller.build("stone.yml"); + trace("No recipe specified, building stone.yaml recipe found in current directory"); + res = controller.build("stone.yaml"); } else { diff --git a/source/boulder/cli/chroot_command.d b/source/boulder/cli/chroot_command.d index 79e5385..52ee02b 100644 --- a/source/boulder/cli/chroot_command.d +++ b/source/boulder/cli/chroot_command.d @@ -29,7 +29,7 @@ public import moss.core.cli; /** * The ChrootCommand is responsible for handling requests to chroot into - * a stone.yml's build location + * a stone.yaml's build location */ @CommandName("chroot") @CommandAlias("cr") @CommandHelp("Chroot into a recipe's build location using moss-container.") @@ -42,7 +42,7 @@ public struct ChrootCommand /** * Main entry point into the ChrootCommand where we expect a valid recipe - * (stone.yml) file + * (stone.yaml) file * * Once all validation is passed, we chroot into the recipe's build location * using `moss-container`. @@ -81,8 +81,8 @@ public struct ChrootCommand return ExitStatus.Failure; } - /* Use stone.yml in current dir if no args passed, otherwise the recipe is the first arg */ - immutable recipe = argv.length > 0 ? argv[0] : "stone.yml"; + /* Use stone.yaml in current dir if no args passed, otherwise the recipe is the first arg */ + immutable recipe = argv.length > 0 ? argv[0] : "stone.yaml"; if (!recipe.exists) { error(format!"Recipe not found: %s"(recipe)); diff --git a/source/boulder/cli/new_command.d b/source/boulder/cli/new_command.d index 509b3db..04b8bcf 100644 --- a/source/boulder/cli/new_command.d +++ b/source/boulder/cli/new_command.d @@ -26,11 +26,11 @@ import std.format : format; import std.experimental.logger; /** - * The BuildCommand is responsible for handling requests to build stone.yml + * The BuildCommand is responsible for handling requests to build stone.yaml * formatted files into useful binary packages. */ @CommandName("new") -@CommandHelp("Create skeletal stone.yml recipe from source archive URI") +@CommandHelp("Create skeletal stone.yaml recipe from source archive URI") @CommandUsage("[$URI]") public struct NewCommand { @@ -76,5 +76,5 @@ public struct NewCommand /** Where to output the YML file */ @Option("o", "output", "Location to output generated build recipe") - string outputPath = "stone.yml"; + string outputPath = "stone.yaml"; } diff --git a/source/boulder/stages/populate_root.d b/source/boulder/stages/populate_root.d index 529e9b1..66aaaf6 100644 --- a/source/boulder/stages/populate_root.d +++ b/source/boulder/stages/populate_root.d @@ -50,7 +50,7 @@ public static immutable(Stage) stagePopulateRoot = Stage("populate-root", (Stage auto requiredLLVM = ["clang"]; auto requiredLLVM32 = ["clang-32bit", "libcxx-32bit-devel"]; - /* Append 32bit packages if enabled in the stone.yml */ + /* Append 32bit packages if enabled in the stone.yaml */ if (context.job.recipe.emul32) { requiredInstalled ~= requiredEMUL32; diff --git a/source/drafter/package.d b/source/drafter/package.d index b792e40..0c0411f 100644 --- a/source/drafter/package.d +++ b/source/drafter/package.d @@ -10,11 +10,11 @@ * Automatic generation of boulder recipes from upstream URIs * * Drafter is the core implementation behind the `boulder new` - * subcommand, and allows users to generate a new `stone.yml` file + * subcommand, and allows users to generate a new `stone.yaml` file * from given upstream URIs. * * It integrates metadata and build system detetion in an attempt - * to provide a complete stone.yml file. It may not always be + * to provide a complete stone.yaml file. It may not always be * 100% accurate, but it is designed to detect as many build deps * and licenses as possible to save the maintainer from doing all * of the legwork, increasing our compliance. diff --git a/source/mason/build/analysers/elves.d b/source/mason/build/analysers/elves.d index 9e7ec9e..7a2adc1 100644 --- a/source/mason/build/analysers/elves.d +++ b/source/mason/build/analysers/elves.d @@ -60,7 +60,7 @@ public void copyElfDebug(scope Analyser analyser, ref FileInfo fileInfo) bool useLLVM = buildContext.spec.options.toolchain == "llvm"; auto command = useLLVM ? "/usr/bin/llvm-objcopy" : "/usr/bin/objcopy"; - auto debugdir = fileInfo.bitSize == 64 ? "usr/lib/debug/.build-id" : "usr/lib32/debug/.build-id"; + auto debugdir = fileInfo.bitSize == 64 ? "usr/lib64/debug/.build-id" : "usr/lib32/debug/.build-id"; auto debugInfoPathRelative = join([ debugdir, fileInfo.buildID[0 .. 2], fileInfo.buildID[2 .. $] ~ ".debug" ], "/"); diff --git a/source/mason/build/analysers/pkgconfig.d b/source/mason/build/analysers/pkgconfig.d index 49eed08..9572ef3 100644 --- a/source/mason/build/analysers/pkgconfig.d +++ b/source/mason/build/analysers/pkgconfig.d @@ -47,7 +47,7 @@ public AnalysisReturn handlePkgconfigFiles(scope Analyser analyser, ref FileInfo auto providerName = fileInfo.path.baseName()[0 .. $ - 3]; /* emul32 becomes pkgconfig32() */ - immutable emul32 = fileInfo.path.canFind("/lib32/"); + immutable emul32 = fileInfo.path.canFind("/usr/lib32/"); auto prov = Provider(providerName, emul32 ? ProviderType.Pkgconfig32Name : ProviderType.PkgconfigName); @@ -63,8 +63,8 @@ public AnalysisReturn handlePkgconfigFiles(scope Analyser analyser, ref FileInfo string[string] env; env["LC_ALL"] = "C"; - env["PKG_CONFIG_PATH"] = emul32 ? "/usr/lib32/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig" - : "/usr/lib/pkgconfig:/usr/share/pkgconfig"; + env["PKG_CONFIG_PATH"] = emul32 ? "/usr/lib32/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig" + : "/usr/lib64/pkgconfig:/usr/share/pkgconfig"; auto ret = execute(cmd, env); if (ret.status != 0) diff --git a/source/mason/build/analysers/rejects.d b/source/mason/build/analysers/rejects.d index 69151a4..7f47120 100644 --- a/source/mason/build/analysers/rejects.d +++ b/source/mason/build/analysers/rejects.d @@ -37,7 +37,7 @@ public AnalysisReturn dropBadPaths(scope Analyser analyser, ref FileInfo info) } /* libtool files break the world */ - if (info.path.endsWith(".la") && info.path.dirName.canFind("usr/lib")) + if (info.path.endsWith(".la") && info.path.dirName.canFind("usr/lib64")) { trace(format!"[Analyse] Rejecting libtool file: %s"(info.path)); return AnalysisReturn.IgnoreFile; diff --git a/source/mason/build/builder.d b/source/mason/build/builder.d index c76c739..fc449ba 100644 --- a/source/mason/build/builder.d +++ b/source/mason/build/builder.d @@ -52,7 +52,7 @@ public: /** * Construct a new Builder with the given input file. It must be - * a stone.yml formatted file and actually be valid. + * a stone.yaml formatted file and actually be valid. */ this(string nativeArchitecture) { diff --git a/source/mason/build/profile.d b/source/mason/build/profile.d index 71cc8e0..b28b54c 100644 --- a/source/mason/build/profile.d +++ b/source/mason/build/profile.d @@ -287,7 +287,7 @@ public: /* Always include /bill (future work), and maybe ccache */ immutable string path = buildContext.compilerCache - ? "/usr/lib/ccache/bin:/usr/bin:/bin" : "/usr/bin:/bin"; + ? "/usr/lib64/ccache/bin:/usr/bin:/bin" : "/usr/bin:/bin"; /* Set the relevant compilers */ if (buildContext.spec.options.toolchain == "llvm") diff --git a/source/mason/cli/build_command.d b/source/mason/cli/build_command.d index 54f4dd0..3bbfea5 100644 --- a/source/mason/cli/build_command.d +++ b/source/mason/cli/build_command.d @@ -27,7 +27,7 @@ import std.format : format; import std.parallelism : totalCPUs; /** - * The BuildCommand is responsible for handling requests to build stone.yml + * The BuildCommand is responsible for handling requests to build stone.yaml * formatted files into useful binary packages. */ @CommandName("build") @CommandAlias("bi") @@ -45,7 +45,7 @@ public struct BuildCommand /** * Main entry point into the BuildCommand. We expect a list of paths that - * contain "stone.yml" formatted build description files. For each path + * contain "stone.yaml" formatted build description files. For each path * we encounter, we initially check the validity and existence. * * Once all validation is passed, we begin building all of the passed diff --git a/zlib-path-test.yml b/zlib-path-test.yml index d3620e6..145b221 100644 --- a/zlib-path-test.yml +++ b/zlib-path-test.yml @@ -35,6 +35,6 @@ packages : summary: Static libraries for zlib description: Not really useful but for testing paths: - - "/usr/lib/*.a" + - "/usr/lib64/*.a" toolchain : gnu