mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 01:05:14 +00:00
Fix arch OptDepends version check and add gzip compression
This commit is contained in:
parent
cbedd7e5be
commit
600c703ef4
|
@ -39,11 +39,12 @@ const (
|
||||||
var (
|
var (
|
||||||
reName = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+$`)
|
reName = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+$`)
|
||||||
reVer = regexp.MustCompile(`^[a-zA-Z0-9:_.+]+-+[0-9]+$`)
|
reVer = regexp.MustCompile(`^[a-zA-Z0-9:_.+]+-+[0-9]+$`)
|
||||||
reOptDep = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+$|^[a-zA-Z0-9@._+-]+(:.*)`)
|
rePkgVer = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?[a-zA-Z0-9@._+-]+)?$`)
|
||||||
rePkgVer = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+$|^[a-zA-Z0-9@._+-]+(>.*)|^[a-zA-Z0-9@._+-]+(<.*)|^[a-zA-Z0-9@._+-]+(=.*)`)
|
reOptDep = regexp.MustCompile(`^[a-zA-Z0-9@._+-]+([<>]?=?[a-zA-Z0-9@._+-]+)?(:.*)?$`)
|
||||||
|
|
||||||
magicZSTD = []byte{0x28, 0xB5, 0x2F, 0xFD}
|
magicZSTD = []byte{0x28, 0xB5, 0x2F, 0xFD}
|
||||||
magicXZ = []byte{0xFD, 0x37, 0x7A, 0x58, 0x5A}
|
magicXZ = []byte{0xFD, 0x37, 0x7A, 0x58, 0x5A}
|
||||||
|
magicGZ = []byte{0x1F, 0x8B}
|
||||||
)
|
)
|
||||||
|
|
||||||
type Package struct {
|
type Package struct {
|
||||||
|
@ -111,6 +112,9 @@ func ParsePackage(r *packages.HashedBuffer) (*Package, error) {
|
||||||
} else if bytes.Equal(header[:len(magicXZ)], magicXZ) {
|
} else if bytes.Equal(header[:len(magicXZ)], magicXZ) {
|
||||||
tarballType = "xz"
|
tarballType = "xz"
|
||||||
tarball = archiver.NewTarXz()
|
tarball = archiver.NewTarXz()
|
||||||
|
} else if bytes.Equal(header[:len(magicGZ)], magicGZ) {
|
||||||
|
tarballType = "gz"
|
||||||
|
tarball = archiver.NewTarGz()
|
||||||
} else {
|
} else {
|
||||||
return nil, errors.New("not supported compression")
|
return nil, errors.New("not supported compression")
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,7 @@ func TestValidatePackageSpec(t *testing.T) {
|
||||||
Provides: []string{"abc", "def"},
|
Provides: []string{"abc", "def"},
|
||||||
License: []string{"GPL"},
|
License: []string{"GPL"},
|
||||||
Depends: []string{"go", "gpg=1", "curl>=3", "git<=7"},
|
Depends: []string{"go", "gpg=1", "curl>=3", "git<=7"},
|
||||||
OptDepends: []string{"git: something", "make"},
|
OptDepends: []string{"git: something", "make", "llvm<=17: not support llvm 18+"},
|
||||||
MakeDepends: []string{"chrom"},
|
MakeDepends: []string{"chrom"},
|
||||||
CheckDepends: []string{"bariy"},
|
CheckDepends: []string{"bariy"},
|
||||||
Backup: []string{"etc/pacman.d/filo"},
|
Backup: []string{"etc/pacman.d/filo"},
|
||||||
|
|
Loading…
Reference in a new issue