diff --git a/builder/builder.go b/builder/builder.go index 1d91569..1a1f71b 100644 --- a/builder/builder.go +++ b/builder/builder.go @@ -43,10 +43,6 @@ import ( // Version of Mixer. Also used by the Makefile for releases. const Version = "4.2.1" -// UseNewSwupdServer controls whether to use the new implementation of -// swupd-server (package swupd) when possible. This is an experimental feature. -var UseNewSwupdServer = false - // Offline controls whether mixer attempts to automatically cache upstream // bundles. In offline mode, all necessary bundles must exist in local-bundles. var Offline = false @@ -1463,45 +1459,9 @@ func (b *Builder) BuildUpdate(prefixflag string, minVersion int, format string, timer := &stopWatch{w: os.Stdout} defer timer.WriteSummary(os.Stdout) - if UseNewSwupdServer { - err = b.buildUpdateWithNewSwupd(timer, b.MixVerUint32, uint32(minVersion), formatUint, skipSigning) - if err != nil { - return err - } - } else { - err = b.buildUpdateWithOldSwupd(timer, prefixflag, minVersion, skipSigning) - if err != nil { - return err - } - - timer.Start("MINIMIZE STORED CHROOTS") - // Clean up the bundle chroots as only the full chroot is needed from this point on. - if !keepChroots { - // Get the set of bundles for which chroots were built - var set bundleSet - set, err = b.getFullMixBundleSet() - if err != nil { - return errors.Wrap(err, "Ignored error when cleaning bundle chroots") - } - // Delete the bundle chroots - basedir := filepath.Join(b.Config.Builder.ServerStateDir, "image", b.MixVer) - for bundle := range set { - err = os.RemoveAll(filepath.Join(basedir, bundle)) - if err != nil { - return errors.Wrap(err, "Ignored error when cleaning bundle chroots") - } - } - } else { - // Hardlink the duplicate files ONLY when keeping the bundle chroots. - hardlinkcmd := exec.Command("hardlink", "-f", filepath.Join(b.Config.Builder.ServerStateDir, "image", b.MixVer)) - hardlinkcmd.Stdout = os.Stdout - hardlinkcmd.Stderr = os.Stderr - err = hardlinkcmd.Run() - if err != nil { - return errors.Wrapf(err, "couldn't perform hardlink step") - } - } - timer.Stop() + err = b.buildUpdateContent(timer, b.MixVerUint32, uint32(minVersion), formatUint, skipSigning) + if err != nil { + return err } // Save upstream information. @@ -1540,7 +1500,7 @@ func (b *Builder) BuildUpdate(prefixflag string, minVersion int, format string, return nil } -func (b *Builder) buildUpdateWithNewSwupd(timer *stopWatch, mixVersion uint32, minVersion uint32, format uint32, skipSigning bool) error { +func (b *Builder) buildUpdateContent(timer *stopWatch, mixVersion uint32, minVersion uint32, format uint32, skipSigning bool) error { var err error err = writeMetaFiles(filepath.Join(b.Config.Builder.ServerStateDir, "www", b.MixVer), b.Config.Swupd.Format, Version) @@ -1649,58 +1609,6 @@ func (b *Builder) buildUpdateWithNewSwupd(timer *stopWatch, mixVersion uint32, m return nil } -func (b *Builder) buildUpdateWithOldSwupd(timer *stopWatch, prefixflag string, minVersion int, skipSigning bool) error { - var err error - - // Create update metadata for the mix. - timer.Start("CREATE MANIFESTS") - updatecmd := exec.Command(prefixflag+"swupd_create_update", "-S", b.Config.Builder.ServerStateDir, "--minversion", strconv.Itoa(minVersion), "-F", b.Config.Swupd.Format, "--osversion", b.MixVer) - updatecmd.Stdout = os.Stdout - updatecmd.Stderr = os.Stderr - err = updatecmd.Run() - if err != nil { - return errors.Wrapf(err, "failed to create update metadata") - } - timer.Stop() - - // Sign the Manifest.MoM that was just created. - if !skipSigning { - err = b.SignManifestMoM() - if err != nil { - return err - } - fmt.Println("Signed Manifest.MoM") - } - - // Create full files. - timer.Start("CREATE FULLFILES") - fullfilecmd := exec.Command(prefixflag+"swupd_make_fullfiles", "-S", b.Config.Builder.ServerStateDir, b.MixVer) - fullfilecmd.Stdout = os.Stdout - fullfilecmd.Stderr = os.Stderr - err = fullfilecmd.Run() - if err != nil { - return errors.Wrapf(err, "couldn't create fullfiles") - } - timer.Stop() - - // Create zero packs. - timer.Start("CREATE ZERO PACKS") - zeropackArgs := []string{"--to", b.MixVer, "-S", b.Config.Builder.ServerStateDir} - if prefixflag != "" { - zeropackArgs = append(zeropackArgs, "--repodir", prefixflag) - } - zeropackcmd := exec.Command("mixer-pack-maker.sh", zeropackArgs...) - zeropackcmd.Stdout = os.Stdout - zeropackcmd.Stderr = os.Stderr - err = zeropackcmd.Run() - if err != nil { - return errors.Wrapf(err, "couldn't create zero packs") - } - timer.Stop() - - return nil -} - // BuildImage will now proceed to build the full image with the previously // validated configuration. func (b *Builder) BuildImage(format string, template string) error { diff --git a/mixer/cmd/build.go b/mixer/cmd/build.go index 212421a..e8ee207 100644 --- a/mixer/cmd/build.go +++ b/mixer/cmd/build.go @@ -187,9 +187,6 @@ var buildDeltaPacksCmd = &cobra.Command{ Short: "Build packs used to optimize update between versions", Long: `Build packs used to optimize update between versions -EXPERIMENTAL: this command only works with --new-swupd. For the -current swupd-server implementation use mixer-pack-maker.sh program. - When a swupd client updates a bundle, it looks for a pack file from its current version to the new version. If not available, the client will download the individual files necessary for the update. If a @@ -221,12 +218,6 @@ var buildDeltaPacksFlags struct { } func runBuildDeltaPacks(cmd *cobra.Command, args []string) error { - if !builder.UseNewSwupdServer { - // TODO: Depending on how long we are going to live with both implementations, it - // might be worth making this command call the script when not using new swupd-server. - failf("build delta packs is only available with --new-swupd\nUse mixer-pack-maker.sh instead.") - } - fromChanged := cmd.Flags().Changed("from") prevChanged := cmd.Flags().Changed("previous-versions") if fromChanged == prevChanged { diff --git a/mixer/cmd/root.go b/mixer/cmd/root.go index 31d1442..981f571 100644 --- a/mixer/cmd/root.go +++ b/mixer/cmd/root.go @@ -141,7 +141,10 @@ func init() { _ = RootCmd.PersistentFlags().MarkHidden("cpu-profile") // TODO: Remove this once we migrate to new implementation. - RootCmd.PersistentFlags().BoolVar(&builder.UseNewSwupdServer, "new-swupd", false, "EXPERIMENTAL: Use new implementation of swupd-server when possible") + unusedBoolFlag := false + RootCmd.PersistentFlags().BoolVar(&unusedBoolFlag, "new-swupd", false, "") + _ = RootCmd.Flags().MarkHidden("new-swupd") + _ = RootCmd.Flags().MarkDeprecated("new-swupd", "new functionality is now the standard behavior, this flag is obsolete and no longer used") // TODO: Remove this once we drop the old config format RootCmd.PersistentFlags().BoolVar(&builder.UseNewConfig, "new-config", false, "EXPERIMENTAL: use the new TOML config format") diff --git a/validate-swupd.sh b/validate-swupd.sh index 5036a42..bd7a085 100755 --- a/validate-swupd.sh +++ b/validate-swupd.sh @@ -57,20 +57,20 @@ for i in $(seq $1 10 $2); do # increase the number of bundle-workers on larger systems # keep in mind that this is network bound due to dnf installs # of upstream tarballs - mixer build bundles --new-swupd --bundle-workers 8 + mixer build bundles --bundle-workers 8 if [[ $? -ne 0 ]]; then echo "failed to build mix bundles" exit 1 fi # increase the number of fullfile-workers on larger systems - mixer build update --new-swupd --fullfile-workers 8 --min-version $1 --format $3 + mixer build update --fullfile-workers 8 --min-version $1 --format $3 if [[ $? -ne 0 ]]; then echo "failed to build mix update" exit 1 fi # increase the number of delta-workers on larger systems # this is memory-bound instead of cpu-bound - mixer build delta-packs --previous-versions 1 --new-swupd --delta-workers 4 + mixer build delta-packs --previous-versions 1 --delta-workers 4 if [[ $? -ne 0 ]]; then echo "failed to build delta packs" exit 1