mirror of
https://github.com/MeexReay/poshlostios.git
synced 2025-06-24 10:32:59 +03:00
rewrite ppm
This commit is contained in:
parent
c2ba9da433
commit
6dad6847e3
@ -3,6 +3,7 @@
|
|||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"description": "Mega eXtreme Window Manager",
|
"description": "Mega eXtreme Window Manager",
|
||||||
"author": "MeexReay",
|
"author": "MeexReay",
|
||||||
"apps": [ "zcom.js", "startz.js", "zterm.js", "poki.js", "zhelp.js" ],
|
"apps": [ "zcom.js", "startz.js", "zhelp.js" ],
|
||||||
"configs": [ "poki.json" ]
|
"configs": [],
|
||||||
|
"depends": [ "poki", "zterm" ]
|
||||||
}
|
}
|
||||||
|
8
app/poki/package.json
Normal file
8
app/poki/package.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "poki",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Poki desktop deck",
|
||||||
|
"author": "MeexReay",
|
||||||
|
"apps": [ "poki.js" ],
|
||||||
|
"configs": [ "poki.json" ]
|
||||||
|
}
|
@ -1,10 +1,4 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"id": "zhelp",
|
|
||||||
"title": "help page",
|
|
||||||
"icon": "app/mxwm/zhelp.png",
|
|
||||||
"script": ["/app/zhelp.js"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "zterm",
|
"id": "zterm",
|
||||||
"title": "zterm - terminal emulator",
|
"title": "zterm - terminal emulator",
|
@ -25,7 +25,7 @@ async function processCommand(command, args) {
|
|||||||
await writeStdout("\nСтатус код: "+code+"\n")
|
await writeStdout("\nСтатус код: "+code+"\n")
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e.toString())
|
console.log(e)
|
||||||
await writeStdout("Не запустилася\n")
|
await writeStdout("Не запустилася\n")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ppm",
|
"name": "ppm",
|
||||||
"version": "0.1.6",
|
"version": "0.1.7",
|
||||||
"description": "Poshliy Package Manager",
|
"description": "Poshliy Package Manager",
|
||||||
"author": "MeexReay",
|
"author": "MeexReay",
|
||||||
"apps": [ "ppm.js" ],
|
"apps": [ "ppm.js" ],
|
||||||
|
175
app/ppm/ppm.js
175
app/ppm/ppm.js
@ -4,20 +4,102 @@
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
async function main(args) {
|
|
||||||
if (args.length == 3 && "iurs".includes(args[1])) {
|
|
||||||
let package = args[2]
|
|
||||||
|
|
||||||
if (args[1] == "i") {
|
|
||||||
let config = JSON.parse(readFile("/config/ppm.json"))
|
let config = JSON.parse(readFile("/config/ppm.json"))
|
||||||
|
|
||||||
|
async function remove(name) {
|
||||||
|
let pkg = await getInstalledPackage(name)
|
||||||
|
if (pkg != null) {
|
||||||
|
await removePackage(name)
|
||||||
|
|
||||||
|
await writeStdout(`Пакет ${pkg['name']} удален и все его конфиги тоже\n`)
|
||||||
|
if ("depends" in pkg) {
|
||||||
|
await writeStdout(`Вот пакеты от которых он зависил которые не удалены: \n${pkg["depends"]}\n`)
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
await writeStdout("Биспокойся произошла ошибко\n")
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
async function listInstalled() {
|
||||||
|
return (await listPackages())
|
||||||
|
}
|
||||||
|
|
||||||
|
async function listOutdated() {
|
||||||
|
let packages = []
|
||||||
|
|
||||||
|
for (const pkg of (await listPackages())) {
|
||||||
|
for (const repo of config["repositories"]) {
|
||||||
|
let fetched = await fetchPackage(repo+"/"+pkg["name"])
|
||||||
|
if (fetched != null) {
|
||||||
|
if (fetched["version"] == pkg["version"]) {
|
||||||
|
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} уже на последней версии\n`)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
packages.push(pkg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
async function update(name) {
|
||||||
|
for (const repo of config["repositories"]) {
|
||||||
|
let status = await updatePackage(name, repo+"/"+name)
|
||||||
|
|
||||||
|
if (status == 0) {
|
||||||
|
let pkg = await getInstalledPackage(name)
|
||||||
|
|
||||||
|
await installDepends(pkg)
|
||||||
|
|
||||||
|
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} обновлен\n`)
|
||||||
|
return 0
|
||||||
|
} else if (status == 1) {
|
||||||
|
await writeStdout("чувак пакет не найден\n")
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await writeStdout("чувак пакет не может быть обновлен\n")
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
async function installDepends(pkg) {
|
||||||
|
if ("depends" in pkg) {
|
||||||
|
for (const dep of pkg.depends) {
|
||||||
|
let status = await updateOrInstall(dep)
|
||||||
|
|
||||||
|
if (status != 0) {
|
||||||
|
return status
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
async function updateOrInstall(name) {
|
||||||
|
if (await getInstalledPackage(name) == null) {
|
||||||
|
return await install(name)
|
||||||
|
} else {
|
||||||
|
return await update(name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function install(name) {
|
||||||
for (const repo of config["repositories"]) {
|
for (const repo of config["repositories"]) {
|
||||||
// await writeStdout(`Фетчим ${package} на репозитории ${repo}\n`)
|
// await writeStdout(`Фетчим ${package} на репозитории ${repo}\n`)
|
||||||
|
|
||||||
let status = await installPackage(repo+"/"+package)
|
let status = await installPackage(repo+"/"+name)
|
||||||
|
|
||||||
if (status == 0) {
|
if (status == 0) {
|
||||||
let pkg = await getInstalledPackage(package)
|
let pkg = await getInstalledPackage(name)
|
||||||
|
|
||||||
|
await installDepends(pkg)
|
||||||
|
|
||||||
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} установлен\n`)
|
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} установлен\n`)
|
||||||
return 0
|
return 0
|
||||||
} else if (status == 1) {
|
} else if (status == 1) {
|
||||||
@ -25,83 +107,50 @@ async function main(args) {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main(args) {
|
||||||
|
if (args.length == 3 && "iurs".includes(args[1])) {
|
||||||
|
let package = args[2]
|
||||||
|
|
||||||
|
if (args[1] == "i") {
|
||||||
|
return await install(package)
|
||||||
} else if (args[1] == "u") {
|
} else if (args[1] == "u") {
|
||||||
let config = JSON.parse(readFile("/config/ppm.json"))
|
return await update(package)
|
||||||
|
|
||||||
for (const repo of config["repositories"]) {
|
|
||||||
let status = await updatePackage(package, repo+"/"+package)
|
|
||||||
|
|
||||||
if (status == 0) {
|
|
||||||
let pkg = await getInstalledPackage(package)
|
|
||||||
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} обновлен\n`)
|
|
||||||
return 0
|
|
||||||
} else if (status == 1) {
|
|
||||||
await writeStdout("Пакет не найден ты его установи сначала чел\n")
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await writeStdout("обнова не прошла успешна\n")
|
|
||||||
return 1
|
|
||||||
} else if (args[1] == "r") {
|
} else if (args[1] == "r") {
|
||||||
if (await removePackage(package)) {
|
return await remove(package)
|
||||||
await writeStdout(`Пакет ${package} удален\n`)
|
|
||||||
} else {
|
|
||||||
await writeStdout("Биспокойся произошла ошибко\n")
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
} else if (args[1] == "s") {
|
} else if (args[1] == "s") {
|
||||||
let pkg = await getInstalledPackage(package)
|
let pkg = await getInstalledPackage(package)
|
||||||
for (const [key, value] of Object.entries(pkg)) {
|
for (const [key, value] of Object.entries(pkg)) {
|
||||||
await writeStdout(key.charAt(0).toUpperCase()+key.slice(1)+": "+value+"\n")
|
await writeStdout(key.charAt(0).toUpperCase()+key.slice(1)+": "+value+"\n")
|
||||||
}
|
}
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
} else if (args.length == 2 && args[1] == "l") {
|
} else if (args.length == 2 && args[1] == "l") {
|
||||||
await writeStdout("ваши покеты:\n")
|
await writeStdout("ваши покеты:\n")
|
||||||
for (const package of (await listPackages())) {
|
for (const package of (await listPackages())) {
|
||||||
await writeStdout("- "+package["name"]+"-"+package["version"]+"\n")
|
await writeStdout("- "+package["name"]+"-"+package["version"]+"\n")
|
||||||
}
|
}
|
||||||
|
return 0
|
||||||
} else if (args.length == 2 && args[1] == "a") {
|
} else if (args.length == 2 && args[1] == "a") {
|
||||||
let config = JSON.parse(readFile("/config/ppm.json"))
|
for (let pkg of (await listOutdated())) {
|
||||||
|
let status = await update(pkg["name"])
|
||||||
|
|
||||||
for (const package of (await listPackages())) {
|
if (status != 0) {
|
||||||
for (const repo of config["repositories"]) {
|
return status
|
||||||
// await writeStdout(`Фетчим ${package["name"]} на репозитории ${repo}\n`)
|
|
||||||
|
|
||||||
let fetched = await fetchPackage(repo+"/"+package["name"])
|
|
||||||
if (fetched != null) {
|
|
||||||
if (fetched["version"] == package["version"]) {
|
|
||||||
await writeStdout(`Пакет ${package['name']}-${package['version']} уже на последней версии\n`)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
let status = await updatePackage(package["name"], repo+"/"+package["name"])
|
|
||||||
|
|
||||||
if (status == 0) {
|
|
||||||
let pkg = await getInstalledPackage(package["name"])
|
|
||||||
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} обновлен\n`)
|
|
||||||
break
|
|
||||||
} else if (status == 1) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await writeStdout("Обнова прошла успешна\n")
|
await writeStdout("Обнова прошла успешна\n")
|
||||||
return 0
|
return 0
|
||||||
} else if (args.length == 2 && args[1] == "A") {
|
} else if (args.length == 2 && args[1] == "A") {
|
||||||
let config = JSON.parse(readFile("/config/ppm.json"))
|
for (let pkg of (await listPackages())) {
|
||||||
|
let status = await update(pkg["name"])
|
||||||
|
|
||||||
for (const package of (await listPackages())) {
|
if (status != 0) {
|
||||||
for (const repo of config["repositories"]) {
|
return status
|
||||||
let status = await updatePackage(package["name"], repo+"/"+package["name"])
|
|
||||||
|
|
||||||
if (status == 0) {
|
|
||||||
let pkg = await getInstalledPackage(package["name"])
|
|
||||||
await writeStdout(`Пакет ${pkg['name']}-${pkg['version']} обновлен\n`)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,5 +167,5 @@ async function main(args) {
|
|||||||
await writeStdout(" ppm A - обновить все пакеты принудительно\n")
|
await writeStdout(" ppm A - обновить все пакеты принудительно\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 1
|
||||||
}
|
}
|
8
app/zterm/package.json
Normal file
8
app/zterm/package.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "zterm",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Zcom Terminal Emulator",
|
||||||
|
"author": "MeexReay",
|
||||||
|
"apps": [ "zterm.js" ],
|
||||||
|
"configs": [ ]
|
||||||
|
}
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Loading…
x
Reference in New Issue
Block a user