forked from semios/ports
Compare commits
2
Commits
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
367985bc61 | ||
|
|
f2c2fa93c9 |
@@ -41,16 +41,6 @@ def autolink_share_pkgconfig():
|
|||||||
if i.is_file():
|
if i.is_file():
|
||||||
make.link(f"share/pkgconfig/{i.name}", "/share/pkgconfig/" + i.name)
|
make.link(f"share/pkgconfig/{i.name}", "/share/pkgconfig/" + i.name)
|
||||||
|
|
||||||
def autolink_services():
|
|
||||||
for i in common.treedir("share/services"):
|
|
||||||
if i.is_file() and os.access(i.path, os.F_OK):
|
|
||||||
make.link(f"share/services/{i.name}", "/share/services/" + i.name)
|
|
||||||
|
|
||||||
def autolink_milestones():
|
|
||||||
for i in common.treedir("share/milestones"):
|
|
||||||
if i.is_file() and os.access(i.path, os.F_OK):
|
|
||||||
make.link(f"share/milestones/{i.name}", "/share/milestones/" + i.name)
|
|
||||||
|
|
||||||
|
|
||||||
def autolink(composer: pkgcomposer.PkgComposer):
|
def autolink(composer: pkgcomposer.PkgComposer):
|
||||||
os.chdir(composer.workdir + "/bundle/")
|
os.chdir(composer.workdir + "/bundle/")
|
||||||
@@ -74,13 +64,3 @@ def autolink(composer: pkgcomposer.PkgComposer):
|
|||||||
autolink_share_pkgconfig()
|
autolink_share_pkgconfig()
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
try:
|
|
||||||
autolink_services()
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
autolink_milestones()
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ _key_links = "links"
|
|||||||
_key_dependencies = "dependencies"
|
_key_dependencies = "dependencies"
|
||||||
_key_recommendations = "recommendations"
|
_key_recommendations = "recommendations"
|
||||||
_key_provides = "provides"
|
_key_provides = "provides"
|
||||||
|
_key_configure = "configure"
|
||||||
|
|
||||||
_current_pkgname: str = _key_global
|
_current_pkgname: str = _key_global
|
||||||
_pkginfo: dict[str, dict[str, typing.Any]] = {
|
_pkginfo: dict[str, dict[str, typing.Any]] = {
|
||||||
@@ -25,6 +26,7 @@ _pkginfo: dict[str, dict[str, typing.Any]] = {
|
|||||||
_key_maintainers: [],
|
_key_maintainers: [],
|
||||||
_key_provides: [],
|
_key_provides: [],
|
||||||
_key_recommendations: [],
|
_key_recommendations: [],
|
||||||
|
_key_configure: [],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
_supported_arch: typing.Callable[[str], bool] = lambda x: True
|
_supported_arch: typing.Callable[[str], bool] = lambda x: True
|
||||||
@@ -87,6 +89,12 @@ def provide(s: str):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def configure_script(s: str):
|
||||||
|
_pkginfo[_current_pkgname][_key_configure] += [
|
||||||
|
os.path.realpath(s)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def _translate_dep_spec(s: str) -> str:
|
def _translate_dep_spec(s: str) -> str:
|
||||||
return (
|
return (
|
||||||
s.replace("(same)", "(same-version) @same-arch")
|
s.replace("(same)", "(same-version) @same-arch")
|
||||||
|
|||||||
@@ -25,6 +25,15 @@ class PkgComposer:
|
|||||||
json.dump(link, f)
|
json.dump(link, f)
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
||||||
|
def add_configure(self, path: str, name: str = None):
|
||||||
|
if name is None:
|
||||||
|
name = os.path.basename(path)
|
||||||
|
configuredir = self.workdir + "/configure/"
|
||||||
|
dstpath = configuredir + name
|
||||||
|
os.makedirs(configuredir, exist_ok=True)
|
||||||
|
shutil.copy2(path, dstpath)
|
||||||
|
os.chmod(dstpath, 0o755)
|
||||||
|
|
||||||
def compose(self):
|
def compose(self):
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"os_name": "\u001b[36;4mSemiOS\u001b[0m",
|
"os_name": "\u001b[36;4mSemiOS\u001b[0m",
|
||||||
"config_dir": "/var/config/airup",
|
"config_dir": "/var/config/airup",
|
||||||
"service_dir": "/share/services",
|
"service_dir": "/share/airup/services",
|
||||||
"milestone_dir": "/share/milestones",
|
"milestone_dir": "/share/airup/milestones",
|
||||||
"runtime_dir": "/run/airup",
|
"runtime_dir": "/run/airup",
|
||||||
"env_vars": {},
|
"env_vars": {},
|
||||||
"early_cmds": []
|
"early_cmds": []
|
||||||
|
|||||||
@@ -16,30 +16,14 @@ def build():
|
|||||||
shutil.copy2("../../build_manifest.json", "build_manifest.json")
|
shutil.copy2("../../build_manifest.json", "build_manifest.json")
|
||||||
rust.build()
|
rust.build()
|
||||||
|
|
||||||
|
|
||||||
on_build(build)
|
on_build(build)
|
||||||
|
|
||||||
|
|
||||||
def patch_logger_airs(path):
|
|
||||||
with open(path) as fd:
|
|
||||||
content = fd.read()
|
|
||||||
content = content.replace(
|
|
||||||
"/usr/libexec/airup/airup-fallback-logger",
|
|
||||||
get_prefix('airup') + "/libexec/airup-fallback-logger",
|
|
||||||
)
|
|
||||||
with open(path, 'wt+') as fd:
|
|
||||||
fd.write(content)
|
|
||||||
|
|
||||||
|
|
||||||
def pack_airup(composer):
|
def pack_airup(composer):
|
||||||
|
os.chdir(rust.artifacts_dir())
|
||||||
composer.makedir("bin")
|
composer.makedir("bin")
|
||||||
composer.makedir("libexec")
|
composer.makedir("libexec")
|
||||||
composer.makedirs("share/services")
|
|
||||||
|
|
||||||
patch_logger_airs("docs/resources/airup-fallback-logger.airs")
|
|
||||||
composer.addfile("docs/resources/airup-fallback-logger.airs", "share/services/airup-fallback-logger.airs")
|
|
||||||
composer.addfile("docs/resources/airupd.airs", "share/services/airupd.airs")
|
|
||||||
|
|
||||||
os.chdir(rust.artifacts_dir())
|
|
||||||
composer.addfile("airup", "bin/airup")
|
composer.addfile("airup", "bin/airup")
|
||||||
composer.addfile("airupd", "bin/airupd")
|
composer.addfile("airupd", "bin/airupd")
|
||||||
composer.addfile("airup-fallback-logger", "libexec/airup-fallback-logger")
|
composer.addfile("airup-fallback-logger", "libexec/airup-fallback-logger")
|
||||||
@@ -48,4 +32,3 @@ def pack_airup(composer):
|
|||||||
package("airup")
|
package("airup")
|
||||||
on_pack(pack_airup)
|
on_pack(pack_airup)
|
||||||
dep("semi-libc @same-arch")
|
dep("semi-libc @same-arch")
|
||||||
link("bin/airupd", "/bin/init")
|
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "${ACTION}" = "remove" ] && exit 0
|
||||||
|
command -v certutil >/dev/null 2>&1 || exit 0
|
||||||
|
|
||||||
|
certutil refresh
|
||||||
@@ -27,4 +27,6 @@ def pack(composer):
|
|||||||
|
|
||||||
package("ca-certificates")
|
package("ca-certificates")
|
||||||
arch_any()
|
arch_any()
|
||||||
|
configure_script("configure/refresh")
|
||||||
|
recommend("certutil")
|
||||||
on_pack(pack)
|
on_pack(pack)
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
import subprocess
|
|
||||||
import os
|
|
||||||
import lib
|
|
||||||
|
|
||||||
from lib.make import *
|
|
||||||
|
|
||||||
version("0.1.0-alpha.1")
|
|
||||||
description("SemiOS init scripts")
|
|
||||||
maintainer("sisungo <[email protected]>")
|
|
||||||
source_url("https://gitea.semilabs.org/semios/init-scripts/archive/0.1.0-alpha.1.tar.gz")
|
|
||||||
|
|
||||||
|
|
||||||
def build():
|
|
||||||
subprocess.run(["env", f"PREFIX={get_prefix('init-scripts')}", "sh", "install.sh"], check=True)
|
|
||||||
os.chdir("./target")
|
|
||||||
|
|
||||||
on_build(build)
|
|
||||||
|
|
||||||
|
|
||||||
def pack(composer):
|
|
||||||
composer.add("share")
|
|
||||||
composer.add("bin")
|
|
||||||
|
|
||||||
package("init-scripts")
|
|
||||||
arch_any()
|
|
||||||
on_pack(pack)
|
|
||||||
@@ -35,7 +35,6 @@ Libs: -L${libdir} -ludev
|
|||||||
def pack(composer):
|
def pack(composer):
|
||||||
composer.makedirs("share/device")
|
composer.makedirs("share/device")
|
||||||
composer.add_dir("misc/rules", "share/device/rules")
|
composer.add_dir("misc/rules", "share/device/rules")
|
||||||
composer.add_dir("misc/airup", "share/services")
|
|
||||||
oldpwd = os.getcwd()
|
oldpwd = os.getcwd()
|
||||||
os.chdir(rust.artifacts_dir())
|
os.chdir(rust.artifacts_dir())
|
||||||
composer.makedir("bin")
|
composer.makedir("bin")
|
||||||
|
|||||||
@@ -123,6 +123,9 @@ def cmd_build_package(package: str):
|
|||||||
}
|
}
|
||||||
composer.write_manifest(manifest)
|
composer.write_manifest(manifest)
|
||||||
composer.write_links(pkginfo[lib.make._key_links])
|
composer.write_links(pkginfo[lib.make._key_links])
|
||||||
|
for i in pkginfo[lib.make._key_configure]:
|
||||||
|
composer.add_configure(i)
|
||||||
|
|
||||||
composer.compose()
|
composer.compose()
|
||||||
|
|
||||||
# Build success
|
# Build success
|
||||||
|
|||||||
Reference in New Issue
Block a user