forked from Plemya-x/ALR
		
	Initial commit
This commit is contained in:
		
							
								
								
									
										70
									
								
								internal/types/build.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								internal/types/build.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
/*
 | 
			
		||||
 * LURE - Linux User REpository
 | 
			
		||||
 * Copyright (C) 2023 Elara Musayelyan
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package types
 | 
			
		||||
 | 
			
		||||
import "lure.sh/lure/pkg/manager"
 | 
			
		||||
 | 
			
		||||
type BuildOpts struct {
 | 
			
		||||
	Script      string
 | 
			
		||||
	Manager     manager.Manager
 | 
			
		||||
	Clean       bool
 | 
			
		||||
	Interactive bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BuildVars represents the script variables required
 | 
			
		||||
// to build a package
 | 
			
		||||
type BuildVars struct {
 | 
			
		||||
	Name          string   `sh:"name,required"`
 | 
			
		||||
	Version       string   `sh:"version,required"`
 | 
			
		||||
	Release       int      `sh:"release,required"`
 | 
			
		||||
	Epoch         uint     `sh:"epoch"`
 | 
			
		||||
	Description   string   `sh:"desc"`
 | 
			
		||||
	Homepage      string   `sh:"homepage"`
 | 
			
		||||
	Maintainer    string   `sh:"maintainer"`
 | 
			
		||||
	Architectures []string `sh:"architectures"`
 | 
			
		||||
	Licenses      []string `sh:"license"`
 | 
			
		||||
	Provides      []string `sh:"provides"`
 | 
			
		||||
	Conflicts     []string `sh:"conflicts"`
 | 
			
		||||
	Depends       []string `sh:"deps"`
 | 
			
		||||
	BuildDepends  []string `sh:"build_deps"`
 | 
			
		||||
	OptDepends    []string `sh:"opt_deps"`
 | 
			
		||||
	Replaces      []string `sh:"replaces"`
 | 
			
		||||
	Sources       []string `sh:"sources"`
 | 
			
		||||
	Checksums     []string `sh:"checksums"`
 | 
			
		||||
	Backup        []string `sh:"backup"`
 | 
			
		||||
	Scripts       Scripts  `sh:"scripts"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Scripts struct {
 | 
			
		||||
	PreInstall  string `sh:"preinstall"`
 | 
			
		||||
	PostInstall string `sh:"postinstall"`
 | 
			
		||||
	PreRemove   string `sh:"preremove"`
 | 
			
		||||
	PostRemove  string `sh:"postremove"`
 | 
			
		||||
	PreUpgrade  string `sh:"preupgrade"`
 | 
			
		||||
	PostUpgrade string `sh:"postupgrade"`
 | 
			
		||||
	PreTrans    string `sh:"pretrans"`
 | 
			
		||||
	PostTrans   string `sh:"posttrans"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Directories struct {
 | 
			
		||||
	BaseDir   string
 | 
			
		||||
	SrcDir    string
 | 
			
		||||
	PkgDir    string
 | 
			
		||||
	ScriptDir string
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								internal/types/config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								internal/types/config.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
/*
 | 
			
		||||
 * LURE - Linux User REpository
 | 
			
		||||
 * Copyright (C) 2023 Elara Musayelyan
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package types
 | 
			
		||||
 | 
			
		||||
// Config represents the LURE configuration file
 | 
			
		||||
type Config struct {
 | 
			
		||||
	RootCmd          string   `toml:"rootCmd"`
 | 
			
		||||
	PagerStyle       string   `toml:"pagerStyle"`
 | 
			
		||||
	IgnorePkgUpdates []string `toml:"ignorePkgUpdates"`
 | 
			
		||||
	Repos            []Repo   `toml:"repo"`
 | 
			
		||||
	Unsafe           Unsafe   `toml:"unsafe"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Repo represents a LURE repo within a configuration file
 | 
			
		||||
type Repo struct {
 | 
			
		||||
	Name string `toml:"name"`
 | 
			
		||||
	URL  string `toml:"url"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Unsafe struct {
 | 
			
		||||
	AllowRunAsRoot bool `toml:"allowRunAsRoot"`
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								internal/types/repo.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								internal/types/repo.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
/*
 | 
			
		||||
 * LURE - Linux User REpository
 | 
			
		||||
 * Copyright (C) 2023 Elara Musayelyan
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package types
 | 
			
		||||
 | 
			
		||||
// RepoConfig represents a LURE repo's lure-repo.toml file.
 | 
			
		||||
type RepoConfig struct {
 | 
			
		||||
	Repo struct {
 | 
			
		||||
		MinVersion string `toml:"minVersion"`
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user