diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2022-10-07 06:22:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-07 12:22:05 +0800 |
commit | 30ca91666ebd3168923baa82b4a17b039039d0a9 (patch) | |
tree | 5ec55f92aec574e8e35a1f2bd675047e8eb4f94b | |
parent | 34f509eb7a48e698114261de323834482553a98c (diff) | |
download | gitea-30ca91666ebd3168923baa82b4a17b039039d0a9.tar.gz gitea-30ca91666ebd3168923baa82b4a17b039039d0a9.zip |
Set SemverCompatible to false for Conan packages (#21275)
Fixes #21250
Related #20414
Conan packages don't have to follow SemVer.
The migration fixes the setting for all existing Conan and Generic
(#20414) packages.
-rw-r--r-- | models/migrations/migrations.go | 2 | ||||
-rw-r--r-- | models/migrations/v226.go | 15 | ||||
-rw-r--r-- | routers/api/packages/conan/conan.go | 3 | ||||
-rw-r--r-- | tests/integration/api_packages_conan_test.go | 2 |
4 files changed, 19 insertions, 3 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 28ffc99886..2a38772180 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("Conan and generic packages do not need to be semantically versioned", fixPackageSemverField), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v226.go b/models/migrations/v226.go new file mode 100644 index 0000000000..2f85bca21f --- /dev/null +++ b/models/migrations/v226.go @@ -0,0 +1,15 @@ +// 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 ( + "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 90924c7c4b..c57f80ac2f 100644 --- a/routers/api/packages/conan/conan.go +++ b/routers/api/packages/conan/conan.go @@ -342,8 +342,7 @@ func uploadFile(ctx *context.Context, fileFilter stringSet, fileKey string) { Name: rref.Name, Version: rref.Version, }, - SemverCompatible: true, - Creator: ctx.Doer, + Creator: ctx.Doer, } pfci := &packages_service.PackageFileCreationInfo{ PackageFileInfo: packages_service.PackageFileInfo{ diff --git a/tests/integration/api_packages_conan_test.go b/tests/integration/api_packages_conan_test.go index 5b34417343..40c8b70883 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) |