SickHub / docker-cups-airprint

A standalone CUPS and Avahi (mDNS/Bonjour) server, exposing local printers on AirPrint for iOS devices
GNU General Public License v3.0
165 stars 38 forks source link

Kyocera printer support #79

Closed Theaninova closed 11 months ago

Theaninova commented 11 months ago

Not sure if this is something that should be in the main repo, but I'll still add it here.

Kyocera printers right now are a massive pain to get working, but thanks to Fe-Ti/rastertokpsl-re and the PR from eLtMosen it's possible.

This PR clones & builds the fixed Kyocera printer drivers and then adds them to the final image. After that my FS-1041 just worked.

Docker image of this is available here

DrPsychick commented 11 months ago

can you push again? I'd like to see the pipeline succeed before I merge

image
DrPsychick commented 11 months ago

And BTW: I like the way how you add that separate build step ❤️ Thanks for your contribution in the name of the growing community around this container.

Theaninova commented 11 months ago

Hmm, the failed checks look more like an issue with the pipeline to me? The error doesn't sound like anything that is related to my changes.

DrPsychick commented 11 months ago

Yes, I need to look into that, it's the first time the pipeline runs on a forked PR, so maybe sth is missing.

DrPsychick commented 11 months ago

Yeah, it's the circle-CI environment variables which your pipeline does not get access to. I'll make the build vars public, the only thing really secret is required only for pushing the image.

DrPsychick commented 11 months ago

If you rebase now, the pipelines should succeed.

DrPsychick commented 11 months ago

seems like your build step fails for at least one arch. Maybe you want to add an option to skip this for arm?

#36 [linux/arm/v7 kyocera-builder 7/7] RUN cmake -B_build -H. && cmake --build _build/
#36 73.53 [ 46%] Building C object src/CMakeFiles/rastertokpsl-re.dir/main.c.o
#36 78.00 [ 53%] Linking C executable /rastertokpsl-re/bin/rastertokpsl-re
#36 79.05 /usr/bin/ld: CMakeFiles/rastertokpsl-re.dir/rastertokpsl.c.o: undefined reference to symbol 'trunc@@GLIBC_2.4'
#36 79.06 /usr/bin/ld: /usr/lib/gcc/arm-linux-gnueabihf/12/../../../arm-linux-gnueabihf/libm.so: error adding symbols: DSO missing from command line
#36 79.08 collect2: error: ld returned 1 exit status
#36 79.15 gmake[2]: *** [src/CMakeFiles/rastertokpsl-re.dir/build.make:179: /rastertokpsl-re/bin/rastertokpsl-re] Error 1
#36 79.16 gmake[1]: *** [CMakeFiles/Makefile2:116: src/CMakeFiles/rastertokpsl-re.dir/all] Error 2
#36 79.17 gmake: *** [Makefile:91: all] Error 2
#36 ERROR: process "/bin/sh -c cmake -B_build -H. && cmake --build _build/" did not complete successfully: exit code: 2
DrPsychick commented 11 months ago

try putting in a build step for Kyocera for both platforms, where the one for ARM is basically a no-op build step (not adding Kyocera support)

For reference: https://github.com/docker/cli/issues/1134#issuecomment-406449342

Theaninova commented 11 months ago

Yeah looks good from what I can tell, I inspected the x86 image locally and it's got all the files in the correct places. Failing build now is just because it's not allowed to push.