Librem5 issueshttps://source.puri.sm/groups/Librem5/-/issues2023-11-14T13:44:03Zhttps://source.puri.sm/Librem5/OS-issues/-/issues/344irregular/vulnerable? early usb serial behavior2023-11-14T13:44:03Zinxirregular/vulnerable? early usb serial behaviorThe librem 5 allows login over a serial usb connection, using a user account on the phone.
However, with repeated connection attempts during early boot it's possible to eventually get into the device before it seems to have properly ini...The librem 5 allows login over a serial usb connection, using a user account on the phone.
However, with repeated connection attempts during early boot it's possible to eventually get into the device before it seems to have properly initialized, and one sees (without doing anything!) what seems to be AT (modem?) commands getting printed into the session, and causing errors:
```
$ picocom -b 115200 /dev/ttyACM0
picocom v3.1
port is : /dev/ttyACM0
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no
Type [C-a] [C-h] to see available commands
Terminal ready
PureOS pureos ttyGS0
pureos login: ATPassword:
AT
Login incorrect
ATPasswort: AT
Login incorrect
pureos Login: ATPassword:
Login incorrect
pureos Login:
```
The device ttyGS0, seems to be a device on the phone.https://source.puri.sm/Librem5/OS-issues/-/issues/339crimson: device does not suspend with powerbutton2023-11-06T09:01:43ZMatthias Apitzcrimson: device does not suspend with powerbuttonThe Librem 11 suspends fine after the configured idle time when on battery or power supply. But it does not suspend on using the power button, even when configured that this should be its action. Only the display is switched off.The Librem 11 suspends fine after the configured idle time when on battery or power supply. But it does not suspend on using the power button, even when configured that this should be its action. Only the display is switched off.https://source.puri.sm/Librem5/OS-issues/-/issues/338crimson: USB tethering does not work at all2023-11-06T09:05:03ZMatthias Apitzcrimson: USB tethering does not work at allWhen I connect my Librem 11 via USB-C cable, I expect that on both devices network interfaces will come up, as it does with the Librem 5 (usb0 in L5 and en7 in MacOS).
The only visible reaction is in /var/log/syslog these lines:
```
202...When I connect my Librem 11 via USB-C cable, I expect that on both devices network interfaces will come up, as it does with the Librem 5 (usb0 in L5 and en7 in MacOS).
The only visible reaction is in /var/log/syslog these lines:
```
2023-11-03T09:34:49.131639+00:00 pureos kernel: [ 4049.766672] usb 1-7: USB disconnect, device number 29
2023-11-03T09:34:49.248747+00:00 pureos acpid: input device has been disconnected, fd 16
2023-11-03T09:34:49.291865+00:00 pureos acpid: input device has been disconnected, fd 17
2023-11-03T09:34:49.348458+00:00 pureos acpid: input device has been disconnected, fd 18
2023-11-03T09:34:50.051901+00:00 pureos kernel: [ 4050.683120] usb 1-7: new full-speed USB device number 30 using xhci_hcd
2023-11-03T09:34:50.203616+00:00 pureos kernel: [ 4050.835719] usb 1-7: New USB device found, idVendor=1018, idProduct=1008, bcdDevice= 1.00
2023-11-03T09:34:50.203651+00:00 pureos kernel: [ 4050.835740] usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
2023-11-03T09:34:50.207621+00:00 pureos kernel: [ 4050.840763] input: HID 1018:1008 as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:1018:1008.0025/input/input75
2023-11-03T09:34:50.210309+00:00 pureos mtp-probe: checking bus 1, device 30: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7"
2023-11-03T09:34:50.210646+00:00 pureos mtp-probe: bus: 1, device: 30 was not an MTP device
2023-11-03T09:34:50.267538+00:00 pureos kernel: [ 4050.901032] hid-generic 0003:1018:1008.0025: input,hidraw1: USB HID v1.11 Keyboard [HID 1018:1008] on usb-0000:00:14.0-7/input0
2023-11-03T09:34:50.271531+00:00 pureos kernel: [ 4050.906335] input: HID 1018:1008 System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1/0003:1018:1008.0026/input/input76
2023-11-03T09:34:50.331538+00:00 pureos kernel: [ 4050.963080] input: HID 1018:1008 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1/0003:1018:1008.0026/input/input77
2023-11-03T09:34:50.331560+00:00 pureos kernel: [ 4050.963251] hid-generic 0003:1018:1008.0026: input,hiddev0,hidraw2: USB HID v1.11 Device [HID 1018:1008] on usb-0000:00:14.0-7/input1
2023-11-03T09:34:50.363106+00:00 pureos mtp-probe: checking bus 1, device 30: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7"
2023-11-03T09:34:50.363676+00:00 pureos mtp-probe: bus: 1, device: 30 was not an MTP device
```https://source.puri.sm/Librem5/librem5-dev-tools/-/issues/13sync-from-debian: chroot creation (as given in manpage) does not work with cr...2023-11-08T21:30:28ZEvangelos Ribeiro Tzarassync-from-debian: chroot creation (as given in manpage) does not work with crimsonthe chroot creation invocation does not work because `debootstrap`
```
> $ DIST=crimson git-pbuilder create --mirror=https://repo.pureos.net/pureos
[...]
I: Checking Release signature
I: Valid Release signature (key id 0D6695569A8253FF...the chroot creation invocation does not work because `debootstrap`
```
> $ DIST=crimson git-pbuilder create --mirror=https://repo.pureos.net/pureos
[...]
I: Checking Release signature
I: Valid Release signature (key id 0D6695569A8253FF9C389F552B4A53F2B41CE072)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on https://repo.pureos.net/pureos...
E: Couldn't find these debs: pureos-archive-keyring ca-certificates
E: debootstrap failed
E: Tail of debootstrap.log:
amd64: ok
2023-11-03 11:19:56 URL:https://repo.pureos.net/pureos/dists/crimson/InRelease [9641/9641] -> "/var/cache/pbuilder/base-crimson.cow/var/lib/apt/lists/partial/repo.pureos.net_pureos_dists_crimson_InRelease" [1]
gpgv: Signature made Fri Nov 3 10:58:08 2023 CET
gpgv: using RSA key 0D6695569A8253FF9C389F552B4A53F2B41CE072
gpgv: Good signature from "Purism PureOS Archive (PureOS Archive Signing Key) <sysadmin@puri.sm>"
2023-11-03 11:19:57 URL:https://repo.pureos.net/pureos/dists/crimson/main/binary-amd64/by-hash/SHA256/98157e87addc610a36a8f5238e66f0bee3a90f8517a8dbe12e37a4a06d9742f2 [4072560/4072560] -> "/var/cache/pbuilder/base-crimson.cow/var/lib/apt/lists/partial/repo.pureos.net_pureos_dists_crimson_main_binary-amd64_Packages.xz" [1]
E: End of debootstrap.log
W: Aborting with an error
E: pbuilder create failed
I: forking: rm -rf /var/cache/pbuilder/base-crimson.cow
```
to whom it may concern: I'm using the `sbuild` currently for my crimson package building needs and am using the following script to create/update chroots (I should probably check out this `schroot` thing at some point...):
```
> $ cat ~/bin/update-pureos-sbuild.sh
#!/bin/sh
set -eux
: "${DIST:=landing}"
MIRROR=https://repo.pureos.net/pureos
#ARCH=$(dpkg --print-architecture)
SBUILD_CACHE=~/.cache/sbuild
for ARCH in amd64 arm64; do
TAR="$DIST-$ARCH.tar.zst"
mmdebstrap --verbose --mode=unshare --architecture "$ARCH" --variant=apt "$DIST" "$SBUILD_CACHE/new-$TAR" "deb $MIRROR $DIST main" "deb-src $MIRROR $DIST main"
mv -v "$SBUILD_CACHE/new-$TAR" "$SBUILD_CACHE/$TAR"
done
```https://source.puri.sm/Librem5/linux/-/issues/492Drop or remove linux-libc-dev binary package2023-10-30T10:00:44ZGuido GuntherDrop or remove linux-libc-dev binary packageThis avoids conflicts with the one from Debian. Note that a rename will not make it installable as `libc6-dev` depends on `linux-libc-dev` but this way we'd at least have the files around.
/cc @martin.kepplinger as discussed via matrixThis avoids conflicts with the one from Debian. Note that a rename will not make it installable as `libc6-dev` depends on `linux-libc-dev` but this way we'd at least have the files around.
/cc @martin.kepplinger as discussed via matrixhttps://source.puri.sm/Librem5/bm818-tools/-/issues/8CBS setting not persistent2023-10-06T17:33:12ZZwarfCBS setting not persistent1. Activate CBS
2. Restart the phone or the modem
3. CBS is deactivated again1. Activate CBS
2. Restart the phone or the modem
3. CBS is deactivated againhttps://source.puri.sm/Librem5/debs/gtk/-/issues/391.12 needed for libadwaita 1.42023-11-10T10:16:53ZGuido Gunther1.12 needed for libadwaita 1.4We'll need that in crimson for several backports (first one phosh-mobile-settings)We'll need that in crimson for several backports (first one phosh-mobile-settings)https://source.puri.sm/Librem5/feedbackd/-/issues/75wishlist: avoid overwhelming journalctl with repeats of a single warning2023-09-07T16:32:31ZBoud Roukemawishlist: avoid overwhelming journalctl with repeats of a single warningDESCRIPTION: In the space of less than four seconds during a successful incoming phone call,
a `feedbackd` warning message about sound not being played was written 1751 times
to the logging data that can be output with `journalctl`. Whil...DESCRIPTION: In the space of less than four seconds during a successful incoming phone call,
a `feedbackd` warning message about sound not being played was written 1751 times
to the logging data that can be output with `journalctl`. While this can be grepped
out, it does make manipulating and reading log files somewhat more difficult,
especially for novices.
WISHLIST: it would be better if feedbackd could limit the
number of identical warning messages generated within a reasonable time interval and
then warn that the limit in warning messages has been reached (e.g. max 20 messages
per minute, at least for this particular message). The difficulty is in judging which
debug/warning/info/.../error messages are safe to limit in this way, and which are better
left as potential "spammers" in order to draw attention to the debug/warning/.../error message.
At least for this particular warning, limiting the number of messages would seem safe.
PRIORITY: low
DETAILS:
Manually tidied extract of `sudo journalctl -n 10000`:
````
Sep 06 21:11:35 mobian ModemManager[51135]: <info> [modem3/call6] call state changed: unknown -> ringing-in (incoming-new)
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
[35 copies of the same line ...]
Sep 06 21:11:36 mobian eg25-manager[51115]: Response: [RING]
Sep 06 21:11:36 mobian eg25-manager[51115]: Executed soft sleep sequence
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:36 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
[315 copies of the same line at 21:11:36 and 21:11:37 ...]
Sep 06 21:11:37 mobian ModemManager[51135]: <info> [modem3] 3GPP registration state changed (home -> registering)
Sep 06 21:11:37 mobian ModemManager[51135]: <info> [modem3] 3GPP registration state changed (registering -> home)
Sep 06 21:11:37 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:37 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
Sep 06 21:11:37 mobian feedbackd[1048]: Failed to play sound 'phone-incoming-call': Invalid state
[1379 copies of the same line at 21:11:37 .. 21:11:39 ...]
[plus a few more copies of the same line at 21:11:39 mixed with more interesting lines]
````
Overall count within four seconds:
````
$ sudo journalctl -n 10000 |grep "21:11:3[6-9] mobian feedbackd\[1048\]: Failed to play sound" |wc
1751 21012 171598
````
CONTEXT:
* pinephone v1.2
* Mobian/trixie
````
$ dpkg -l |grep -E "feedback|systemd"
ii dbus-user-session 1.14.8-2 arm64 simple interprocess messaging system (systemd --user integration)
ii feedbackd 0.2.1-1 arm64 DBus service for haptic/visual/audio feedback
ii feedbackd-common 0.2.1-1 all Shared files for feedbackd
ii feedbackd-device-themes 0.0.r3-1 all Device specific themes for Feedbackd
ii gir1.2-lfb-0.0:arm64 0.2.1-1 arm64 GObject introspection data for libfeedback
ii libfeedback-0.0-0:arm64 0.2.1-1 arm64 Library for managing haptic/visual/audio feedback
ii libfeedback-dev:arm64 0.2.1-1 arm64 Development files for libfeedback
ii libnss-resolve:arm64 254.1-2 arm64 nss module to resolve names via systemd-resolved
ii libnss-systemd:arm64 254.1-2 arm64 nss module providing dynamic user and group name resolution
ii libpam-systemd:arm64 254.1-2 arm64 system and service manager - PAM module
ii libsystemd-dev:arm64 254.1-2 arm64 systemd utility library - development files
ii libsystemd-shared:arm64 254.1-2 arm64 systemd shared private library
ii libsystemd0:arm64 254.1-2 arm64 systemd utility library
ii systemd 254.1-2 arm64 system and service manager
ii systemd-dev 254.1-2 all systemd development files
ii systemd-resolved 254.1-2 arm64 systemd DNS resolver
ii systemd-sysv 254.1-2 arm64 system and service manager - SysV compatibility symlinks
ii systemd-zram-generator 1.1.2-3 arm64 Systemd unit generator for zram devices
ii wake-mobile 1.8-1 arm64 Proof-of-concept alarm app that uses systemd timers to wake up the system
````https://source.puri.sm/Librem5/librem5-flash-image/-/issues/16PureOS Fails to boot after flashed to SD card2023-08-18T08:33:17ZAlistairPureOS Fails to boot after flashed to SD cardI have a Librem5 currently running u-boot 2022.10 and pmOS.
After downloading plain (no LUKS) image from https://storage.puri.sm/librem5/images I run the following to flash it to an SD card
```shell
unxz ./librem5r4.img.xz
sudo dd if=....I have a Librem5 currently running u-boot 2022.10 and pmOS.
After downloading plain (no LUKS) image from https://storage.puri.sm/librem5/images I run the following to flash it to an SD card
```shell
unxz ./librem5r4.img.xz
sudo dd if=./librem5r4.img of=/dev/sdb bs=4M iflag=fullblock oflag=direct conv=fsync status=progress
```
I can then boot the image by holding volume down while powering on the Librem5.
I see the boot splash from PureOS, but it never completes the boot. I can then press the power down button and I see the log attached:
![IMG-2663](/uploads/7ba07513174bb0ef464cb535c1c31554/IMG-2663.jpg)
pmOS doesn't use systemd, so the PureOS rootFS is clearly being mounted, but it doesn't work correctly.
I have tried a range of different images yet still nothing works. I have tried both LUKS and plain images, from Jenkins and older PureOS releases. It's a brand new SD card, so it shouldn't be failing either.https://source.puri.sm/Librem5/OS-issues/-/issues/330apt update says "Could not connect to repo.pureos.net:443"2023-08-11T10:03:02ZElias Rudbergapt update says "Could not connect to repo.pureos.net:443"The last few days, the `apt update` command on my Librem 5 says: "`Could not connect to repo.pureos.net:443`"
Is something wrong with the repo.pureos.net server?The last few days, the `apt update` command on my Librem 5 says: "`Could not connect to repo.pureos.net:443`"
Is something wrong with the repo.pureos.net server?https://source.puri.sm/Librem5/linux/-/issues/4896.4: Broken rebase of edt-ft5x06 patch2023-10-02T08:35:28ZSebastian Krzyszkowiak6.4: Broken rebase of edt-ft5x06 patchPatch a002224d4b0ab319b32e9ae2febf1f604b615593 ("Input: edt-ft5x06: Empty all slots when unable to fetch data") has been badly rebased, effectively making it a no-op and reintroducing the issue it's been fixing.
The patched block should...Patch a002224d4b0ab319b32e9ae2febf1f604b615593 ("Input: edt-ft5x06: Empty all slots when unable to fetch data") has been badly rebased, effectively making it a no-op and reintroducing the issue it's been fixing.
The patched block should be put into `edt_ft5x06_ts_isr`, not `edt_M06_i2c_read`.
See the original version at a5018bbe684083388e38b06bbe97ac894fae2fcc (still in 6.3 tree), and a fix for the current tree state at https://source.puri.sm/sebastian.krzyszkowiak/linux-next/-/commit/939f78031410946883120805fa168ae5d054da9chttps://source.puri.sm/Librem5/libcmatrix/-/issues/14Change in network connectivity may lead to concurrent sync task; then stop wo...2023-07-28T12:13:44ZAnthony PERARDChange in network connectivity may lead to concurrent sync task; then stop workingSometime, chatty/libcmatrix start two concurrents sync tasks, this works for a while and then chatty stop doesn't sync with the server anymore.
In the logs, we can have:
```
12:32:51.1784 cm-client[ 2613]: DEBUG: (0xaaaacd7...Sometime, chatty/libcmatrix start two concurrents sync tasks, this works for a while and then chatty stop doesn't sync with the server anymore.
In the logs, we can have:
```
12:32:51.1784 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Stop sync
12:32:51.1846 chatty-ma-account[ 2613]: TRACE: client_status_changed_cb():620: status changed, connected: false, user: @t##y:a#####d.fr
12:32:52.6014 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Stop sync
13:29:08.5137 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Stop sync
13:29:09.5983 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Stop sync
13:29:10.2656 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Stop sync
13:29:11.9521 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Start sync
13:29:13.6004 cm-client[ 2613]: DEBUG: (0xaaaacd7715a0) Start sync
```
When that happen, chatty still sync new matrix messages for a while, and then that stop working. Even trying to change the network connectivity doesn't bring back the connection. Only restarting chatty works.https://source.puri.sm/Librem5/linux/-/issues/488edt_ft5x06: Reading LIC/FW version is broken on 6.42023-10-02T08:36:32ZSebastian Krzyszkowiakedt_ft5x06: Reading LIC/FW version is broken on 6.4On 6.3:
```
purism@evergreen:~$ sudo cat /sys/kernel/debug/edt_ft5x06/lic_version /sys/kernel/debug/edt_ft5x06/fw_version
7
2
```
On 6.4:
```
purism@evergreen:~$ sudo cat /sys/kernel/debug/edt_ft5x06/lic_version /sys/kernel/debug/edt_...On 6.3:
```
purism@evergreen:~$ sudo cat /sys/kernel/debug/edt_ft5x06/lic_version /sys/kernel/debug/edt_ft5x06/fw_version
7
2
```
On 6.4:
```
purism@evergreen:~$ sudo cat /sys/kernel/debug/edt_ft5x06/lic_version /sys/kernel/debug/edt_ft5x06/fw_version
18446603336221196295
18446603336221196290
```https://source.puri.sm/Librem5/linux/-/issues/487fix linux-image-librem5 binary package2023-06-29T07:10:40ZMartin Kepplingerfix linux-image-librem5 binary packagethere is a bug with how linux-image-librem5 is created. It's created/installed just like the actual linux-image-6.3.0-1-librem5, but it should be an exception: It should contain nothing and exists only do have the "Depends" in d/control....there is a bug with how linux-image-librem5 is created. It's created/installed just like the actual linux-image-6.3.0-1-librem5, but it should be an exception: It should contain nothing and exists only do have the "Depends" in d/control. deb-packaging scripts completely changed from v6.2..v6.3. Where should we best tweak them (probably scripts/package/builddeb ) to have an empty linux-image-librem5 again?https://source.puri.sm/Librem5/linux/-/issues/486Need a newer kernel for crimson2023-07-17T09:38:46ZGuido GuntherNeed a newer kernel for crimsonWe currently have there
```
librem5-base-defaults : Depends: linux-image-librem5 (>= 6.3.7pureos2) but 6.2.13pureos3 is to be installed or
linux-image-amd64 but it is not installable
```
@martin.kepp...We currently have there
```
librem5-base-defaults : Depends: linux-image-librem5 (>= 6.3.7pureos2) but 6.2.13pureos3 is to be installed or
linux-image-amd64 but it is not installable
```
@martin.kepplinger I can handle that (I'd just bump the version and push that to `pureos/landing`) but wanted to check with you first.https://source.puri.sm/Librem5/librem5-base/-/issues/73Use "Protected" field2023-07-12T06:32:29ZSebastian KrzyszkowiakUse "Protected" fieldSince dpkg 1.20.1, deb packages can set `Protected: yes` to make dpkg refuse to uninstall the package without applying a force flag. Some binary packages produced by librem5-base could use it to prevent metapackages from being uninstalle...Since dpkg 1.20.1, deb packages can set `Protected: yes` to make dpkg refuse to uninstall the package without applying a force flag. Some binary packages produced by librem5-base could use it to prevent metapackages from being uninstalled as conflict resolution on upgrades.
dpkg in byzantium is already fresh enough to support this field.
https://wiki.debian.org/Teams/Dpkg/Spec/ProtectedFieldhttps://source.puri.sm/Librem5/geary/-/issues/26Revisit adaptiveness patches2023-06-21T09:34:08ZGuido GuntherRevisit adaptiveness patchesRecent versions should be mostly good for crimsonRecent versions should be mostly good for crimsonhttps://source.puri.sm/Librem5/librem5-base/-/issues/72Switch to pureos/latest, make pureos/byzantium a backport branch2023-07-18T12:39:20ZSebastian KrzyszkowiakSwitch to pureos/latest, make pureos/byzantium a backport branchStill no need to do it *right now*, but filling an issue with a label so it won't be forgotten.
CI will have to be switched from `landing` to `byzantium-updates-proposed` in pureos/byzantium branch.Still no need to do it *right now*, but filling an issue with a label so it won't be forgotten.
CI will have to be switched from `landing` to `byzantium-updates-proposed` in pureos/byzantium branch.https://source.puri.sm/Librem5/librem5-dev-tools/-/issues/12setup-pureos-pkg-repo: ProjectBranch object has no attribute protect2023-06-20T09:54:59ZEvangelos Ribeiro Tzarassetup-pureos-pkg-repo: ProjectBranch object has no attribute protectWith python3-gitlab 1:3.12.0-1 the setup-pureos-pkg-repo is unhappy:
```
$ setup-pureos-pkg-repo -i 166
setup-pureos-pkg-repo:102: DeprecationWarning: `as_list=False` is deprecated and will be removed in a future version. Use `iterator...With python3-gitlab 1:3.12.0-1 the setup-pureos-pkg-repo is unhappy:
```
$ setup-pureos-pkg-repo -i 166
setup-pureos-pkg-repo:102: DeprecationWarning: `as_list=False` is deprecated and will be removed in a future version. Use `iterator=True` instead. (python-gitlab: /usr/lib/python3/dist-packages/gitlab/client.py:917)
projects = gl.projects.list(as_list=False)
Traceback (most recent call last):
File "/home/fortysixandtwo/git/librem5-dev-tools/setup-pureos-pkg-repo", line 199, in <module>
sys.exit(main(sys.argv))
^^^^^^^^^^^^^^
File "/home/fortysixandtwo/git/librem5-dev-tools/setup-pureos-pkg-repo", line 130, in main
def_branch.protect()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/gitlab/base.py", line 134, in __getattr__
raise AttributeError(message)
AttributeError: 'ProjectBranch' object has no attribute 'protect'. Did you mean: 'protected'?
```
```
>>> def_branch = project.branches.get('pureos/latest')
>>> def_branch.
def_branch.asdict( def_branch.developers_can_push def_branch.pprint()
def_branch.attributes def_branch.encoded_id def_branch.project_id
def_branch.can_push def_branch.get_id() def_branch.protected
def_branch.commit def_branch.manager def_branch.to_json(
def_branch.default def_branch.merged def_branch.web_url
def_branch.delete( def_branch.name
def_branch.developers_can_merge def_branch.pformat()
```
So there is now the `protected` attribute, but the `protect()` method seems to have moved elsewhere.
The upstream change is [here](https://github.com/python-gitlab/python-gitlab/commit/9656a16f9f34a1aeb8ea0015564bad68ffb39c26).
[API reference](https://python-gitlab.readthedocs.io/en/stable/api/gitlab.v4.html#gitlab.v4.objects.ProjectProtectedBranchManager) and
[upstream docs](https://github.com/python-gitlab/python-gitlab/blob/main/docs/gl_objects/protected_branches.rst)https://source.puri.sm/Librem5/librem5-devkit-tools/-/issues/54setup-pureos-pkg-repo: ProjectBranch object has no attribute protect2023-06-16T05:20:39ZEvangelos Ribeiro Tzarassetup-pureos-pkg-repo: ProjectBranch object has no attribute protectWith python3-gitlab 1:3.12.0-1 the setup-pureos-pkg-repo is unhappy:
```
$ setup-pureos-pkg-repo -i 166
setup-pureos-pkg-repo:102: DeprecationWarning: `as_list=False` is deprecated and will be removed in a future version. Use `iterator...With python3-gitlab 1:3.12.0-1 the setup-pureos-pkg-repo is unhappy:
```
$ setup-pureos-pkg-repo -i 166
setup-pureos-pkg-repo:102: DeprecationWarning: `as_list=False` is deprecated and will be removed in a future version. Use `iterator=True` instead. (python-gitlab: /usr/lib/python3/dist-packages/gitlab/client.py:917)
projects = gl.projects.list(as_list=False)
Traceback (most recent call last):
File "/home/fortysixandtwo/git/librem5-dev-tools/setup-pureos-pkg-repo", line 199, in <module>
sys.exit(main(sys.argv))
^^^^^^^^^^^^^^
File "/home/fortysixandtwo/git/librem5-dev-tools/setup-pureos-pkg-repo", line 130, in main
def_branch.protect()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/gitlab/base.py", line 134, in __getattr__
raise AttributeError(message)
AttributeError: 'ProjectBranch' object has no attribute 'protect'. Did you mean: 'protected'?
```
```
>>> def_branch = project.branches.get('pureos/latest')
>>> def_branch.
def_branch.asdict( def_branch.developers_can_push def_branch.pprint()
def_branch.attributes def_branch.encoded_id def_branch.project_id
def_branch.can_push def_branch.get_id() def_branch.protected
def_branch.commit def_branch.manager def_branch.to_json(
def_branch.default def_branch.merged def_branch.web_url
def_branch.delete( def_branch.name
def_branch.developers_can_merge def_branch.pformat()
```
So there is now the `protected` attribute, but the `protect()` method seems to have moved elsewhere.
The upstream change is [here](https://github.com/python-gitlab/python-gitlab/commit/9656a16f9f34a1aeb8ea0015564bad68ffb39c26).
[API reference](https://python-gitlab.readthedocs.io/en/stable/api/gitlab.v4.html#gitlab.v4.objects.ProjectProtectedBranchManager) and
[upstream docs](https://github.com/python-gitlab/python-gitlab/blob/main/docs/gl_objects/protected_branches.rst)