-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
First: thanks for taking the time to package ARM and make the nixos module. Given how many commtis you've made to your fork, it looks like it was quite a lot of work.
I want to rip audio cds with ARM.
I had to apply several workarounds to get to this point, but now I am stuck.
Here is my full config
{
config,
lib,
pkgs,
...
}:
let
baseFolder = "/srv/data/media/rips";
configFolder = "/etc/arm";
handbrakeArgs = preset: "--preset-import-file '${configFolder}/handbrake/${preset}.json'";
HB_PRESET_DVD = "MKV 720p30 x265";
uid = 950;
HB_PRESET_BD = "MKV 1080p30 x265";
# Adding these pkgs to the systemd service's path was the main workarounds i've added
extraPkgs = [
pkgs.abcde
pkgs.ffmpeg-headless
pkgs.handbrake
pkgs.cdparanoia
pkgs.git
pkgs.hostname
pkgs.gawk
pkgs.diffutils
];
in
{
sops.secrets.omdb_api_key = { };
users.groups.media = {
gid = 2000;
members = [ "ramblurr" ];
};
users.users.arm = {
inherit uid;
};
systemd.services."arm@".serviceConfig.ReadWritePaths = [
"/srv/data/media/movies"
"/srv/data/media/shows"
"/srv/data/media/audio"
];
systemd.tmpfiles.settings."50-arm-handbrake-presets" = {
"/srv/data/media/shows".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"/srv/data/media/audio".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"/srv/data/media/movies".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"/srv/data/media".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"${baseFolder}".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"${baseFolder}/transcoded".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"${baseFolder}/raw".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"${baseFolder}/completed".d = {
mode = "2770";
user = "ramblurr";
group = "media";
};
"${configFolder}/handbrake"."L+".argument = toString ./handbrake;
"${baseFolder}/completed/movies"."L+".argument = "/srv/data/media/movies/";
"${baseFolder}/completed/shows"."L+".argument = "/srv/data/media/shows/";
"${baseFolder}/completed/audio"."L+".argument = "/srv/data/media/audio/";
};
services.automatic-ripping-machine = {
enable = true;
enableTranscoding = true;
settings = {
DISABLE_LOGIN = true;
WEBSERVER_IP = "127.0.0.1";
WEBSERVER_PORT = 27570;
OMDB_API_KEY = "@OMDB_API_KEY@";
DATE_FORMAT = "%Y-%m-%d %H:%M:%S";
RAW_PATH = "${baseFolder}/raw/";
TRANSCODE_PATH = "${baseFolder}/transcoded/";
# Media will be put into movies/ and shows/ subdirectories
COMPLETED_PATH = "${baseFolder}/completed/";
# TODO: remove when config is final
LOGLEVEL = "DEBUG";
DELRAWFILES = false;
# HandBrake
inherit HB_PRESET_BD HB_PRESET_DVD;
HB_ARGS_DVD = handbrakeArgs HB_PRESET_DVD;
HB_ARGS_BD = handbrakeArgs HB_PRESET_BD;
};
abcdeSettings = {
OUTPUTTYPE = "flac";
OUTPUTDIR = "${baseFolder}/completed/audio";
WAVOUTPUTDIR = "${baseFolder}/raw";
EJECTCD = "y";
EXTRAVERBOSE = "2";
MAXPROCS = 12;
CDDBPROTO = 6;
NOSUBMIT = "y";
PADTRACKS = "y";
};
};
systemd.services.armui.path = extraPkgs;
systemd.services."arm@".path = extraPkgs;
}and...
Here is a log file showing the issue
[quine:/var/log/arm]# cat music_cd_175837578340.log
2025-09-20 15:43:03 ARM: DEBUG: ProcessHandler.arm_subprocess: Running command: cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1
2025-09-20 15:43:03 ARM: ERROR: ProcessHandler.arm_subprocess: Error while running command: cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1
Output was: fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Traceback (most recent call last):
File "/nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/python3.13/site-packages/arm/ripper/ProcessHandler.py", line 26, in arm_subprocess
arm_process = subprocess.check_output(
cmd,
...<2 lines>...
encoding="utf-8",
)
File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 472, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**kwargs).stdout
^^^^^^^^^
File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 577, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1' returned non-zero exit status 128.
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: ARM version: 2.17.4
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Python version: 3.13.7 (main, Aug 14 2025, 11:12:11) [GCC 14.3.0]
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: User is: arm
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Alembic head is: a79af75f4b31
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Database version is: a79af75f4b31
2025-09-20 15:43:03 ARM: INFO: .arm-wrapped.setup: ************* Starting ARM processing at 2025-09-20 15:43:03.552709 *************
2025-09-20 15:43:03 ARM: DEBUG: utils.database_adder: Trying to add Job
2025-09-20 15:43:03 ARM: DEBUG: utils.database_adder: successfully written Job to the database
2025-09-20 15:43:04 ARM: INFO: system_drives.new_job: Creating new job for drive.
2025-09-20 15:43:04 ARM: DEBUG: DriveUtils.update_drive_job: Updating Drive: ['HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0'|'/dev/sr0'] Current Job: [6] Previous Job: [5]
2025-09-20 15:43:04 ARM: DEBUG: DriveUtils.update_drive_job: Database update with new Job ID to associated drive
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.setup: drive_mode: auto
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Config
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Config to the database
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Looking for log files older than 1 days old.
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Checking path /var/log/arm for old log files...
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Checking path /var/log/arm/progress for old log files...
2025-09-20 15:43:04 ARM: INFO: .arm-wrapped.setup: Job: not identified
2025-09-20 15:43:04 ARM: INFO: utils.clean_old_jobs: Job #6 with PID 3125011 is currently running.
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ******************* Logging udev attributes *******************
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: CURRENT_TAGS::seat:systemd:uaccess:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVLINKS:/dev/disk/by-path/pci-0000:69:00.0-usb-0:4:1.0-scsi-0:0:0:0 /dev/disk/by-diskseq/33 /dev/disk/by-path/pci-0000:69:00.0-usbv3-0:4:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0 /dev/cdrom
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVNAME:/dev/sr0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVPATH:/devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:69:00.0/usb6/6-4/6-4:1.0/host12/target12:0:0/12:0:0:0/block/sr0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVTYPE:disk
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DISKSEQ:33
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_BUS:usb
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_RE:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R_RRM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R_SRM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_R_DL:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RAM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW_RO:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW_SEQ:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL_JR:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL_SEQ:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_CD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_SESSION_COUNT:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_TRACK_COUNT:9
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_TRACK_COUNT_AUDIO:9
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MRW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MRW_W:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_RW_REMOVABLE:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_FOR_SEAT:block-pci-0000_69_00_0-usb-0_4_1_0-scsi-0_0_0_0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_INSTANCE:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL:BD-RE_WH16NS60
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL_ENC:BD-RE\x20\x20WH16NS60\x20
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL_ID:de2c
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH:pci-0000:69:00.0-usb-0:4:1.0-scsi-0:0:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH_TAG:pci-0000_69_00_0-usb-0_4_1_0-scsi-0_0_0_0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH_WITH_USB_REVISION:pci-0000:69:00.0-usbv3-0:4:1.0-scsi-0:0:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_REVISION:1.02
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_SERIAL:HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_SERIAL_SHORT:002933017074
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_TYPE:cd
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_DRIVER:usb-storage
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INSTANCE:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INTERFACES::080650:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INTERFACE_NUM:00
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL:BD-RE_WH16NS60
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL_ENC:BD-RE\x20\x20WH16NS60\x20
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL_ID:de2c
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_REVISION:1.02
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_SERIAL:HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_SERIAL_SHORT:002933017074
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_TYPE:cd
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR_ENC:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR_ID:1e91
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR_ENC:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR_ID:1e91
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: MAJOR:11
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: MINOR:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: PATH:/nix/store/1l9gfwjh50kb7crsyizjkk6rqf3n9ifz-udev-path/bin:/nix/store/1l9gfwjh50kb7crsyizjkk6rqf3n9ifz-udev-path/sbin
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SUBSYSTEM:block
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SYSTEMD_MOUNT_DEVICE_BOUND:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SYSTEMD_WANTS:arm@sr0.service
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: TAGS::seat:systemd:uaccess:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: USEC_INITIALIZED:2528212417149
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ******************* End udev attributes *******************
2025-09-20 15:43:04 ARM: INFO: .arm-wrapped.main: Starting Disc identification
2025-09-20 15:43:04 ARM: DEBUG: identify.identify: Identify Entry point --- job ----
2025-09-20 15:43:04 ARM: INFO: identify.identify: Mounting disc to: /run/arm/dev/sr0
2025-09-20 15:43:04 ARM: DEBUG: identify.check_if_mounted: OS mounted value: 256
2025-09-20 15:43:04 ARM: DEBUG: identify.check_if_mounted: OS findmnt -M value: 0
2025-09-20 15:43:04 ARM: ERROR: identify.check_if_mounted: Mounting failed! Rip might have problems
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: Trying to find jobs with matching Label=not identified
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: we have 3 jobs
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: Skipping - There are too many results [3]
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.main: Value of have_dupes: False
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Notifications
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Notifications to the database
2025-09-20 15:43:04 ARM: DEBUG: utils.notify: apprise message, title: ARM notification body: Found music CD: not identified. Ripping all tracks.
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Notifications
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Notifications to the database
2025-09-20 15:43:04 ARM: INFO: utils.check_for_wait: Waiting 60 seconds for manual override.
2025-09-20 15:43:04 ARM: DEBUG: utils.database_updater: ID:6 status=waiting:<class 'str'>
2025-09-20 15:43:04 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: ID:6 status=active:<class 'str'>
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* Logging ARM variables *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: devpath: /dev/sr0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mountpoint: /run/arm/dev/sr0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: title: not identified
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: year: None
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: video_type: unknown
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hasnicetitle: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: label: not identified
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: disctype: music
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_start: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* End of ARM variables *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* Logging config parameters *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: skip_transcode: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mainfeature: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: minlength: 600
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: maxlength: 99999
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: videotype: auto
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_wait: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_wait_time: 60
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ripmethod: mkv
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mkv_args:
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: delrawfiles: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_preset_dvd: MKV 720p30 x265
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_preset_bd: MKV 1080p30 x265
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_args_dvd: --preset-import-file '/etc/arm/handbrake/MKV 720p30 x265.json'
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_args_bd: --preset-import-file '/etc/arm/handbrake/MKV 1080p30 x265.json'
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: raw_path: /srv/data/media/rips/raw/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: transcode_path: /srv/data/media/rips/transcoded/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: completed_path: /srv/data/media/rips/completed/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: extras_sub: extras
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_refresh: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_server:
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_port: 8096
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: notify_rip: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: notify_transcode: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: max_concurrent_transcodes: 0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: max_concurrent_makemkvinfo: 0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* End of config parameters *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.check_fstab: Checking for fstab entry.
2025-09-20 15:44:04 ARM: ERROR: .arm-wrapped.check_fstab: No fstab entry found. ARM will likely fail.
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz.set_useragent: set user-agent to arm/2.17.4 python-musicbrainzngs/0.7.1 ( https://github.com/automatic-ripping-machine )
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz._mb_request: GET request for https://musicbrainz.org/ws/2/discid/_XPSALlfKzKO.Kys3ti6SCrhzwc-?inc=artist-credits+recordings
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz._mb_request: requesting with UA arm/2.17.4 python-musicbrainzngs/0.7.1 ( https://github.com/automatic-ripping-machine )
2025-09-20 15:44:04 ARM: ERROR: music_brainz.music_brainz: Cant reach MB or cd not found ? - ERROR: caused by: HTTP Error 404: Not Found
2025-09-20 15:44:04 ARM: INFO: utils.rip_music: Disc identified as music
2025-09-20 15:44:04 ARM: DEBUG: utils.rip_music: Sending command: abcde -d "/dev/sr0" >> "/var/log/arm/music_cd_175837578340.log" 2>&1
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: ID:6 status=ripping:<class 'str'>
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: successfully written to the database
Grabbing entire CD - tracks: 1 2 3 4 5 6 7 8 9
mkdir: cannot create directory ‘//abcde.88071609’: Read-only file system
abcde: Temp directory //abcde.88071609 could not be created.
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: ID:6 status=fail:<class 'str'>
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: ID:6 errors=Call to abcde failed with code: 1 (b''):<class 'str'>
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:07 ARM: ERROR: utils.rip_music: Call to abcde failed with code: 1 (b'')
2025-09-20 15:44:07 ARM: CRITICAL: .arm-wrapped.main: Music rip failed. See previous errors. Exiting.
2025-09-20 15:44:07 ARM: DEBUG: ProcessHandler.arm_subprocess: Running command: ['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']
2025-09-20 15:44:07 ARM: ERROR: ProcessHandler.arm_subprocess: Error while running command: ['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']
Output was: eject: devtmpfs: not found mountpoint or device with the given name
eject: device name is `/dev/sr0'
eject: devtmpfs: mounted on /dev/sr0
Traceback (most recent call last):
File "/nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/python3.13/site-packages/arm/ripper/ProcessHandler.py", line 26, in arm_subprocess
arm_process = subprocess.check_output(
cmd,
...<2 lines>...
encoding="utf-8",
)
File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 472, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**kwargs).stdout
^^^^^^^^^
File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 577, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']' returned non-zero exit status 1.
2025-09-20 15:44:07 ARM: INFO: system_drives.release_current_job: Releasing current job from drive
You can ignore the git error and the eject error for now, the main problem is the one that prevents the rip from proceeding:
mkdir: cannot create directory ‘//abcde.88071609’: Read-only file system
abcde: Temp directory //abcde.88071609 could not be created.
I don't know why ARM is trying to use // as the path, seems like a config var is missing or empty.
The generated abcde.conf looks like:
❯ cat /etc/arm/abcde.conf
CDDBPROTO=6
EJECTCD=y
EXTRAVERBOSE=2
MAXPROCS=12
NOSUBMIT=y
OUTPUTDIR=/srv/data/media/rips/completed/audio
OUTPUTTYPE=flac
PADTRACKS=y
WAVOUTPUTDIR=/srv/data/media/rips/raw
All of the paths under /srv/data exist and have perms 0770 with media group ownership.
ls -al /srv/data/media/rips/raw
total 8
drwxrws--- 2 ramblurr media 4096 Sep 20 14:41 .
drwxrws--- 5 ramblurr media 4096 Sep 20 14:41 ..
Searching upstream for this reveals:
- abcde: cannot create Temp directory automatic-ripping-machine/automatic-ripping-machine#237
- V2.0.1 stable: abcde doesn't rip -permission issue automatic-ripping-machine/automatic-ripping-machine#266
But neither have obvious solutions to my eyes.. any ideas?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels