From 9c0591ed16228530fa6acd1a6fba1fa7b34f551c Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Tue, 27 Sep 2022 09:14:11 +0000 Subject: [PATCH 1/4] Set SemverCompatible to false for Conan packages. --- models/migrations/migrations.go | 2 ++ models/migrations/v226.go | 17 +++++++++++++++++ routers/api/packages/conan/conan.go | 1 - 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 models/migrations/v226.go diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 28ffc998860bf..3d9c4135ff9a2 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -413,6 +413,8 @@ var migrations = []Migration{ NewMigration("Add badges to users", createUserBadgesTable), // v225 -> v226 NewMigration("Alter gpg_key/public_key content TEXT fields to MEDIUMTEXT", alterPublicGPGKeyContentFieldsToMediumText), + // v226 -> v227 + NewMigration("Fix package semver field", fixPackageSemverField), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v226.go b/models/migrations/v226.go new file mode 100644 index 0000000000000..af116baab230c --- /dev/null +++ b/models/migrations/v226.go @@ -0,0 +1,17 @@ +// Copyright 2022 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "code.gitea.io/gitea/modules/setting" + + "xorm.io/builder" + "xorm.io/xorm" +) + +func fixPackageSemverField(x *xorm.Engine) error { + _, err = x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic"))) + return err +} diff --git a/routers/api/packages/conan/conan.go b/routers/api/packages/conan/conan.go index 90924c7c4bdb7..b397c2714df61 100644 --- a/routers/api/packages/conan/conan.go +++ b/routers/api/packages/conan/conan.go @@ -342,7 +342,6 @@ func uploadFile(ctx *context.Context, fileFilter stringSet, fileKey string) { Name: rref.Name, Version: rref.Version, }, - SemverCompatible: true, Creator: ctx.Doer, } pfci := &packages_service.PackageFileCreationInfo{ From 10ae10ab8ee1466196dab5556d0ad79dcb55b8f7 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Tue, 27 Sep 2022 10:18:08 +0000 Subject: [PATCH 2/4] lint --- models/migrations/v226.go | 4 +--- routers/api/packages/conan/conan.go | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/models/migrations/v226.go b/models/migrations/v226.go index af116baab230c..2f85bca21f677 100644 --- a/models/migrations/v226.go +++ b/models/migrations/v226.go @@ -5,13 +5,11 @@ package migrations import ( - "code.gitea.io/gitea/modules/setting" - "xorm.io/builder" "xorm.io/xorm" ) func fixPackageSemverField(x *xorm.Engine) error { - _, err = x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic"))) + _, err := x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic"))) return err } diff --git a/routers/api/packages/conan/conan.go b/routers/api/packages/conan/conan.go index b397c2714df61..c57f80ac2f06b 100644 --- a/routers/api/packages/conan/conan.go +++ b/routers/api/packages/conan/conan.go @@ -342,7 +342,7 @@ func uploadFile(ctx *context.Context, fileFilter stringSet, fileKey string) { Name: rref.Name, Version: rref.Version, }, - Creator: ctx.Doer, + Creator: ctx.Doer, } pfci := &packages_service.PackageFileCreationInfo{ PackageFileInfo: packages_service.PackageFileInfo{ From d62e4d9956e13d3aae15a6d2f200ab7d40bfef2e Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Tue, 27 Sep 2022 13:49:52 +0000 Subject: [PATCH 3/4] Fix tests. --- tests/integration/api_packages_conan_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/api_packages_conan_test.go b/tests/integration/api_packages_conan_test.go index 5b344173439da..40c8b70883831 100644 --- a/tests/integration/api_packages_conan_test.go +++ b/tests/integration/api_packages_conan_test.go @@ -267,7 +267,7 @@ func TestPackageConan(t *testing.T) { pd, err := packages.GetPackageDescriptor(db.DefaultContext, pvs[0]) assert.NoError(t, err) - assert.NotNil(t, pd.SemVer) + assert.Nil(t, pd.SemVer) assert.Equal(t, name, pd.Package.Name) assert.Equal(t, version1, pd.Version.Version) assert.IsType(t, &conan_module.Metadata{}, pd.Metadata) From 3069ff1ccf4f952722833d31b9d6ebcb941cca81 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Mon, 3 Oct 2022 10:56:33 +0200 Subject: [PATCH 4/4] Update models/migrations/migrations.go Co-authored-by: delvh --- models/migrations/migrations.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 3d9c4135ff9a2..2a38772180457 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -414,7 +414,7 @@ var migrations = []Migration{ // v225 -> v226 NewMigration("Alter gpg_key/public_key content TEXT fields to MEDIUMTEXT", alterPublicGPGKeyContentFieldsToMediumText), // v226 -> v227 - NewMigration("Fix package semver field", fixPackageSemverField), + NewMigration("Conan and generic packages do not need to be semantically versioned", fixPackageSemverField), } // GetCurrentDBVersion returns the current db version