lkhq / laniakea Goto Github PK
View Code? Open in Web Editor NEWDebian-based operating system repository management suite
Home Page: https://laniakea-hq.rtfd.io
License: GNU Lesser General Public License v3.0
Debian-based operating system repository management suite
Home Page: https://laniakea-hq.rtfd.io
License: GNU Lesser General Public License v3.0
Matrix bot had this reject message:
Laniakea PureOS Bot
Rejected upload linux-librem5_6.3.7pureos3_source for pureos. Reason:
'description'
The trigger was a broken source package that contained stray files in debian/ like debian/<package>
with built data so the rejection is valid but the error could be more telling.
Here's what I recently received;
tpmfactoryupd_1.1.2529.00-1pureos2.dsc: Refers to non-existing file 'tpmfactoryupd_1.1.2529.00.orig.tar.xz'
Perhaps you need to include the file in your upload?
If the orig tarball is missing, the -sa flag for dpkg-buildpackage will be your friend.
What does the above mean? Does it mean run dpkg-buildpackage with the -sa? dpkg-buildpackage is unhelpful, and example of its manpage;
--as-root
Only meaningful together with --target (since dpkg 1.15.0). Requires that the target be run with root rights.
-si
-sa
-sd
-vversion
-Cchanges-description
-m, --release-by=maintainer-address
-e, --build-by=maintainer-address
This URL says
When you first upload the package to the archive, you need to include the original orig.tar.gz source, too. If the Debian revision number of this package is neither 1 nor 0, you must provide the dpkg-buildpackage option -sa.
Which is equally mystifying. This is not the first upload and the version is neither 1 or 0, so I use -sa. But what does it do?
===
Please feel free to respond to this email if you don't understand why
your files were rejected, or if you upload new files which address our
concerns.
Is the above true in our case? Where does [email protected] go? To whom?
r
concerns.
This appears to be cruft or a typo.
base.dt pulls from
It would be great if these things would be pulled from the server running the web instance by default.
Also, review the install docs for any changes.
On this page: https://laniakea-hq.readthedocs.io/en/latest/general/initial-setup.html this URL 404s; https://github.com/lkorigin/laniakea/blob/master/tests/ci/Dockerfile
Can be found in the "Initial Setup" section.
This is important for derivatives.
This breaks deboostrap
as it only looks at that file to figure out the Priority: required
packages, e.g.
dak/debian (has $arch and all
in that single file):
$ curl https://deb.debian.org/debian/dists/bookworm/main/binary-amd64/Packages.xz 2>/dev/null | unxz - | grep -qs "Package: debconf$" && echo "Package debconf found" || echo "Package debconf not found"
Package debconf found
but laniakea only $arch
:
$ curl http://repo.scratch.pureos.net/pureos/dists/crimson/main/binary-amd64/Packages.xz 2>/dev/null | unxz - | grep -qs "Package: debconf$" && echo "Package debconf found" || echo "Package debconf not found"
Package debconf not found
It is in the architecture all
file though:
$ curl http://repo.scratch.pureos.net/pureos/dists/crimson/main/binary-all/Packages.xz 2>/dev/null | unxz - | grep -qs "Package: debconf$" && echo "Package debconf found" || echo "Package debconf not found"
Package debconf found
but that's not enough to make deboostrap happy.
Would be great if laniakea would mimic what Debian does here so debootstrap
can work.
laniakea installations should use a specific user. Running as root works but triggers problems due to wrong permissions afterwards. So aborting if run as root would make sense to catch this error (e.g. unless overridden via --force-root
or similar).
The current production version of LK has this URL for the new queue: https://master.pureos.net/raw/dak-web/new.html
This looks to be Debian boilerplate. Can we bring that page into LK's git repos and modify it?
I've started assembling some build instructions that I'll submit as a pull request when complete but I'm running into some issues.
First, heres what I've found gets me the farthest:
make a staging directory mkdir laniakea_stage && cd laniakea_stage
Clone https://github.com/lkorigin/laniakea
install meson pip3 install meson
add meson to path: export PATH=$PATH:~/.local/bin
install prereqs: apt install pkg-config libarchive-dev libcurl4-openssl-dev libczmq-dev libglib2.0-dev appstream libappstream-dev libpq-dev vibe.d gir-to-d libstdx-allocator-dev libdcontainers-dev
Now to choose a compiler from dmd
,gdc
, or ldc
gdc
and ldc
are both available in debian as packages and dmd can be found as a .deb on their website.
run meson: meson laniakea
run ninja ninja install
All three compilers throw different errors
TL;DR Which compiler should work?
dmd
throws:
[165/323] Compiling D object 'src/laniakea/src@laniakea@@laniakea@sta/net.d.o'.
FAILED: src/laniakea/src@laniakea@@laniakea@sta/net.d.o
dmd -Isrc/laniakea/src@laniakea@@laniakea@sta -Isrc/laniakea -Ilaniakea/src/laniakea -Isrc -Ilaniakea/src -Ilaniakea/contrib/subprojects/dyaml/source/ -Ilaniakea/contrib/subprojects/tinyendian/source/ -Ilaniakea/contrib/subprojects/ddbc/source/ -Ilaniakea/contrib/subprojects/derelict-pq/source/ -Ilaniakea/contrib/subprojects/hibernated/source/ -Icontrib/wrap/../../wrap -Ilaniakea/contrib/wrap/../../wrap -I/usr/include/d/containers -I/usr/include/d/stdx-allocator -I/usr/include/x86_64-linux-gnu -I/usr/include/d/vibe -I/usr/include/d/glibd-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/appstream -color=on -wi -g -version=Derelict_Static -version=USE_PGSQL -version=Derelict_Static -version=USE_PGSQL -version=Derelict_Static -version=Derelict_Static -version=USE_PGSQL -version=Derelict_Static -J/home/user/Linux_Builds/laniakea-build/laniakea/data/ -of'src/laniakea/src@laniakea@@laniakea@sta/net.d.o' -c laniakea/src/laniakea/net.d
laniakea/src/laniakea/net.d(127): Error: module `stdio` is in file 'core/sys/linux/stdio.d' which cannot be read
gdc
throws
[12/323] Compiling D object 'contrib/subp...yaml@@dyaml@sha/source_dyaml_loader.d.o'.
FAILED: contrib/subprojects/dyaml/contrib@subprojects@dyaml@@dyaml@sha/source_dyaml_loader.d.o
gdc -Icontrib/subprojects/dyaml/contrib@subprojects@dyaml@@dyaml@sha -Icontrib/subprojects/dyaml -Ilaniakea/contrib/subprojects/dyaml -Ilaniakea/contrib/subprojects/dyaml/source/ -Ilaniakea/contrib/subprojects/tinyendian/source/ -fdiagnostics-color=always -Wall -Wdeprecated -g -O0 -fPIC -MD -MQ 'contrib/subprojects/dyaml/contrib@subprojects@dyaml@@dyaml@sha/source_dyaml_loader.d.o' -MF 'contrib/subprojects/dyaml/contrib@subprojects@dyaml@@dyaml@sha/source_dyaml_loader.d.o.deps' -o 'contrib/subprojects/dyaml/contrib@subprojects@dyaml@@dyaml@sha/source_dyaml_loader.d.o' -c laniakea/contrib/subprojects/dyaml/source/dyaml/loader.d
laniakea/contrib/subprojects/dyaml/source/dyaml/loader.d:230:31: error: this.opApply matches more than one declaration:
laniakea/contrib/subprojects/dyaml/source/dyaml/loader.d:245:13: @safe int(int delegate(ref Node) @safe dg)
and:
laniakea/contrib/subprojects/dyaml/source/dyaml/loader.d:250:13: @system int(int delegate(ref Node) @system dg)
foreach(ref node; this)
^
laniakea/contrib/subprojects/dyaml/source/dyaml/loader.d:230:13: error: cannot uniquely infer foreach argument types
foreach(ref node; this)
^
[14/323] Compiling D object 'contrib/subp...@dyaml@sha/source_dyaml_constructor.d.o'.
ninja: build stopped: subcommand failed.
and ldc2
throws
[301/323] Compiling D object 'src/web/src@web@@laniakea-web@exe/app.d.o'.
FAILED: src/web/src@web@@laniakea-web@exe/app.d.o
ldc2 -Isrc/web/src@web@@laniakea-web@exe -Isrc/web -Ilaniakea/src/web -Isrc -Ilaniakea/src -Icontrib/wrap/../../wrap -Ilaniakea/contrib/wrap/../../wrap -Ilaniakea/contrib/subprojects/dyaml/source/ -Ilaniakea/contrib/subprojects/tinyendian/source/ -Ilaniakea/contrib/subprojects/ddbc/source/ -Ilaniakea/contrib/subprojects/derelict-pq/source/ -Ilaniakea/contrib/subprojects/hibernated/source/ -I/usr/include/d/containers -I/usr/include/d/stdx-allocator -I/usr/include/x86_64-linux-gnu -I/usr/include/d/vibe -I/usr/include/d/glibd-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/appstream -I/usr/include/d/diet -enable-color -wi -g -O0 -d-version=Derelict_Static -d-version=USE_PGSQL -d-version=Derelict_Static -d-version=USE_PGSQL -d-version=Derelict_Static -d-version=Derelict_Static -d-version=USE_PGSQL -d-version=Derelict_Static -J/home/user/Linux_Builds/laniakea-build/laniakea/src/web/views/ -d-version=VibeDefaultMain -d-version=Have_diet_ng -of 'src/web/src@web@@laniakea-web@exe/app.d.o' -c laniakea/src/web/app.d
/usr/include/d/vibe/vibe/core/log.d(565): Deprecation: Built-in hex string literals are deprecated, use `std.conv.hexString` instead.
/usr/include/d/vibe/vibe/http/common.d(488): Error: cannot implicitly convert expression `theAllocator()` of type `RCIAllocator` to `std.experimental.allocator.IAllocator`
/usr/include/d/diet/diet/input.d(7): Deprecation: module `diet.traits` member `DietTraitsAttribute` is not visible from module `input`
laniakea/src/laniakea/localconfig.d(26): Deprecation: Symbol `std.file.getcwd` is not visible from module `localconfig` because it is privately imported in module `path`
[302/323] Compiling D object 'src/web/src@web@@laniakea-web@exe/webconfig.d.o'.
laniakea/src/laniakea/localconfig.d(26): Deprecation: Symbol `std.file.getcwd` is not visible from module `localconfig` because it is privately imported in module `path`
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d-mixin-3358(6397): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d-mixin-3358(6402): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d(3376): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d(3381): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d(3386): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d(3391): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
laniakea/contrib/subprojects/hibernated/source/hibernated/metadata.d(3396): Deprecation: function `std.exception.enforceEx!(MappingException).enforceEx!bool.enforceEx` is deprecated - Use `enforce`. `enforceEx` will be removed with 2.089.
[303/323] Linking target src/ariadne/lk_test_self-ariadne.
/usr/bin/ld: warning: libphobos2-ldc-shared.so.78, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libdcontainers.so, may conflict with libphobos2-ldc-shared.so.81
/usr/bin/ld: warning: libdruntime-ldc-shared.so.78, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libdcontainers.so, may conflict with libdruntime-ldc-shared.so.81
/usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libcurl.so, may conflict with libssl.so.1.1
/usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libcurl.so, may conflict with libssl.so.1.1
/usr/bin/ld: warning: libcrypto.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libcurl.so, may conflict with libcrypto.so.1.1
/usr/bin/ld: warning: libcrypto.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libcurl.so, may conflict with libcrypto.so.1.1
ninja: build stopped: subcommand failed.
If it's helpful, the meson output is:
The Meson build system
Version: 0.47.2
Source dir: /home/user/Linux_Builds/laniakea-build/laniakea
Build dir: /home/user/Linux_Builds/laniakea-build
Build type: native build
Project name: Laniakea
Project version: 0.1
Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29)
Native dependency libcrypto found: YES 1.1.0f
Native dependency libssl found: YES 1.1.0f
Native dependency libarchive found: YES 3.2.2
Native dependency libcurl found: YES 7.52.1
Native dependency libczmq found: YES 4.0.2
Native dependency systemd found: YES 232
Native dependency dcontainers found: YES 0.8.0
Looking for a fallback subproject for the dependency dyaml
Cloning into 'dyaml'...
remote: Counting objects: 5361, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5361 (delta 1), reused 3 (delta 1), pack-reused 5356
Receiving objects: 100% (5361/5361), 3.57 MiB | 2.51 MiB/s, done.
Resolving deltas: 100% (3048/3048), done.
|
|Executing subproject dyaml
|
|Project name: D-YAML
|Project version: 0.7.0
|Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
|Looking for a fallback subproject for the dependency tinyendian
Cloning into 'tinyendian'...
remote: Counting objects: 102, done.
remote: Total 102 (delta 0), reused 0 (delta 0), pack-reused 102
Receiving objects: 100% (102/102), 38.47 KiB | 0 bytes/s, done.
Resolving deltas: 100% (43/43), done.
|
||
||Executing subproject tinyendian
||
||Project name: tinyendian
||Project version: 0.2.0
||Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
||Build targets in project: 1
||
||Subproject tinyendian finished.
|Dependency tinyendian from subproject contrib/subprojects/tinyendian found: YES
|Build targets in project: 2
|
|Subproject dyaml finished.
Dependency dyaml from subproject contrib/subprojects/dyaml found: YES
Looking for a fallback subproject for the dependency fluent-asserts
Cloning into 'fluent-asserts'...
remote: Counting objects: 1008, done.
remote: Total 1008 (delta 0), reused 0 (delta 0), pack-reused 1008
Receiving objects: 100% (1008/1008), 136.24 KiB | 0 bytes/s, done.
Resolving deltas: 100% (503/503), done.
|
|Executing subproject fluent-asserts
|
|Project name: fluent-asserts
|Project version: 0.6.7
|Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
|Looking for a fallback subproject for the dependency ddmp
Cloning into 'ddmp'...
remote: Counting objects: 161, done.
remote: Total 161 (delta 0), reused 0 (delta 0), pack-reused 161
Receiving objects: 100% (161/161), 65.26 KiB | 0 bytes/s, done.
Resolving deltas: 100% (59/59), done.
|
||
||Executing subproject ddmp
||
||Project name: ddmp
||Project version: 0.0.1
||Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
||Build targets in project: 4
||
||Subproject ddmp finished.
|Dependency ddmp from subproject contrib/subprojects/ddmp found: YES
|Build targets in project: 6
|
|Subproject fluent-asserts finished.
Dependency fluent-asserts from subproject contrib/subprojects/fluent-asserts found: YES
Native dependency glibd-2.0 found: YES 2.0.0
Native dependency appstream found: YES 0.12.2
Looking for a fallback subproject for the dependency ddbc-pgsql
Cloning into 'ddbc'...
remote: Counting objects: 1968, done.
remote: Total 1968 (delta 0), reused 0 (delta 0), pack-reused 1968
Receiving objects: 100% (1968/1968), 5.93 MiB | 3.32 MiB/s, done.
Resolving deltas: 100% (1009/1009), done.
|
|Executing subproject ddbc
|
|Project name: ddbc
|Project version: 0.3.7
|Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
|Looking for a fallback subproject for the dependency derelict-pq
Cloning into 'derelict-pq'...
remote: Counting objects: 223, done.
remote: Total 223 (delta 0), reused 0 (delta 0), pack-reused 223
Receiving objects: 100% (223/223), 58.08 KiB | 0 bytes/s, done.
Resolving deltas: 100% (74/74), done.
|
||
||Executing subproject derelict-pq
||
||Project name: DerelictPQ
||Project version: 3.0.0
||Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
||Native dependency libpq found: YES 10.5
||Build targets in project: 7
||
||Subproject derelict-pq finished.
|Dependency derelict-pq from subproject contrib/subprojects/derelict-pq found: YES
|Build targets in project: 8
|
|Subproject ddbc finished.
Dependency ddbc-pgsql from subproject contrib/subprojects/ddbc found: YES
Looking for a fallback subproject for the dependency hibernated-pgsql
Cloning into 'hibernated'...
remote: Counting objects: 1592, done.
remote: Total 1592 (delta 0), reused 0 (delta 0), pack-reused 1592
Receiving objects: 100% (1592/1592), 1.04 MiB | 1.84 MiB/s, done.
Resolving deltas: 100% (798/798), done.
|
|Executing subproject hibernated
|
|Project name: hibernated
|Project version: 0.3.2
|Native D compiler: ldc2 (llvm 1.11.0 "LDC - the LLVM D compiler (1.11.0):")
|Dependency ddbc-pgsql from subproject contrib/subprojects/ddbc found: YES (cached)
|Build targets in project: 9
|
|Subproject hibernated finished.
Dependency hibernated-pgsql from subproject contrib/subprojects/hibernated found: YES
Native dependency vibe-core found: YES 0.8.2
Native dependency vibe-data found: YES 0.8.2
Program girtod found: YES (/usr/bin/girtod)
Message: Generating D interfaces from GIR...
Native dependency vibe-http found: YES 0.8.2
Native dependency vibe-web found: YES 0.8.2
Dependency vibe-http found: YES (cached)
Dependency vibe-web found: YES (cached)
Configuring laniakea-lighthouse.service using configuration
Configuring laniakea-web.service using configuration
Configuring laniakea-webswview.service using configuration
Build targets in project: 35
Found ninja-1.7.2 at /usr/bin/ninja
In doing a meson build I received this message;
||Executing subproject tinyendian method meson
||
||Project name: tinyendian
||Project version: 0.2.0
||D compiler for the build machine: ldc2 (llvm 1.12.0 "LDC - the LLVM D compiler (1.12.0):")
||D compiler for the host machine: ldc2 (llvm 1.12.0 "LDC - the LLVM D compiler (1.12.0):")
||Build targets in project: 1
||Subproject tinyendian finished.
|
|Dependency tinyendian from subproject contrib/subprojects/tinyendian found: YES
|contrib/subprojects/tinyendian/meson.build:29: DEPRECATION: Library tinyendian was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument. Adding tinyendian to "Requires" field, but this is a deprecated behaviour that will change in a future version of Meson. Please report the issue if this warning cannot be avoided in your case.
|Build targets in project: 2
|Subproject dyaml finished.
gnome-settings-daemon 44.1-1pureos2 was published with severity 'high' in landing, but the migration status says that it needs to be 5 days old to migrate. I expected it to be 2 days, since that's the delay configured for 'high'; 5 is for 'medium'.
The migration is currently here (screenshot below): https://master.pureos.net/migrations/excuse/63dd9edc-520d-4075-bc56-544f2e349bb4
Here's the config where I think 'high' should be 2 days: https://source.puri.sm/pureos/infra/pureos-laniakea-config/-/blob/main/config/spears-tasks.toml
Changelog with 'high' priority for 44.1-1pureos2: https://source.puri.sm/Librem5/debs/gnome-settings-daemon/-/blob/pureos/latest/debian/changelog
While building Laniakea with meson I get this error;
Message: Laniakea requires AppStream GObject introspection data. Please install it to continue.
meson.build:27:4: ERROR: Problem encountered: Unable to find required Python modules.
I have python-gobject and python-gi-dev and others but I cannot get past this message. Which python module satisfies this dependency?
When showing pending and blocked jobs (https://master.pureos.net/jobs/queue/1?blocked=true) the pagination links will link to:
when on the last (second in my case) page Next
will link to https://master.pureos.net/jobs/queue/2?blocked=true#
I'm not really familiar with the codebase, but the following code/template (as of a61721a) looks correct to me.
from src/webdash/templates/default/jobs/queue.html:
{% if queue_state != JobQueueState.COMPLETED %}
<nav class="pagination" role="navigation" aria-label="pagination">
<a class="pagination-previous"
href="{{ url_for('jobs.queue', page=current_page-1, blocked='true' if show_blocked else '') if current_page > 1 else '#'}}"
{{'disabled' if current_page <= 1 }}>
Previous
</a>
<a class="pagination-next"
href="{{ url_for('jobs.queue', page=current_page+1, blocked='true' if show_blocked else '') if current_page < page_count else '#'}}"
{{'disabled' if current_page >= page_count }}>
Next
</a>
<ul class="pagination-list">
{% for i in range(1, page_count + 1) %}
<li>
<a class="pagination-link {{'is-current' if i == current_page }}" aria-label="Goto page {{i}}"
href="{{ url_for('jobs.queue', page=i, blocked='true' if show_blocked else '') }}">{{i}}</a>
</li>
{% endfor %}
</ul>
</nav>
Since that looks fine, I assume the issue is somewhere in src/webdash/lkweb/jobs/views.py
(?)
meson.build:28:4: ERROR: Problem encountered: Traceback (most recent call last):
File "/home/julian/purism-code/laniakea/pyreqcheck.py", line 204, in <module>
sys.exit(run(sys.argv[1:]))
File "/home/julian/purism-code/laniakea/pyreqcheck.py", line 192, in run
pyproject = toml.load(f)
AttributeError: module 'tomlkit' has no attribute 'load'
I would suggest users not to allow to use tomllib
or tomlkit
since it introduces easily errors like this.
When the lock is held running synchrotron
throws an exception at the user
$ synchrotron sync Debian bookworm landing main gtherm --force
Traceback (most recent call last):
File "/usr/local/lib/laniakea/laniakea/utils/misc.py", line 166, in acquire
fcntl.lockf(fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
BlockingIOError: [Errno 11] Resource temporarily unavailable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/synchrotron", line 15, in <module>
sys.exit(cli.run(thisfile, sys.argv[1:]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/laniakea/synchrotron/cli.py", line 153, in run
args.func(args)
File "/usr/local/lib/laniakea/synchrotron/cli.py", line 32, in command_sync
ret = engine.sync_packages(options.component, options.packages, options.force)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/laniakea/synchrotron/syncengine.py", line 690, in sync_packages
with process_file_lock('sync_{}'.format(self._repo_name)), process_file_lock(
File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/usr/local/lib/laniakea/laniakea/utils/misc.py", line 211, in process_file_lock
flock.acquire(raise_error)
File "/usr/local/lib/laniakea/laniakea/utils/misc.py", line 172, in acquire
raise Exception(
Exception: Unable to acquire lock "/srv/laniakea/locks/laniakea_sync_pureos.lock": Lock held by other instance or thread!
Something like
$ synchrotron sync Debian bookworm landing main gtherm --force
Unable to acquire lock "/srv/laniakea/locks/laniakea_sync_pureos.lock": Lock held by other instance or thread!
would be a bit clearer
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.