Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trying to create official Debian packages, https://bugs.debian.org/641768 #15

Open
alexmyczko opened this issue Oct 25, 2021 · 12 comments
Labels
bug Something isn't working

Comments

@alexmyczko
Copy link

Environment

  • OS: Debian sid
  • web-greeter version: 3.1.0

Bug description

make fails

Steps to reproduce

Download tar.gz; tar xzvf the.tar.gz; cd */
make

Expected behavior

It builds.

Screenshots

sed: can't read /var/www/debian/web-greeter/web-greeter-3.1.0/build/dist/web-greeter.yml: No such file or directory
make: *** [Makefile:45: _apply_config] Error 2
@alexmyczko alexmyczko added the bug Something isn't working label Oct 25, 2021
@alexmyczko alexmyczko changed the title Trying to create official Debian packages Trying to create official Debian packages, https://bugs.debian.org/641768 Oct 25, 2021
@JezerM
Copy link
Owner

JezerM commented Oct 27, 2021

I see the problem, the first make target is not what it's supposed to be. For now, you could use make build or make install instead.

@alexmyczko
Copy link
Author

will you unbundle all the fonts or will they stay? it will take me some time to write the debian/copyright and repackage the source tarball to fit debian. but i hope/plan to have it in so pink debian can have it with 22.04.

@JezerM
Copy link
Owner

JezerM commented Oct 27, 2021

Would there be any inconvenience with keeping the fonts?

@alexmyczko
Copy link
Author

well yes most likely all the fonts already exist so matter of depends/build-depends. but the main thing is writing the debian/copyright file. the advantage to not ship it is: easier to update the font and no "code" duplication.

@alexmyczko
Copy link
Author

alexmyczko commented Oct 28, 2021

I see the problem, the first make target is not what it's supposed to be. For now, you could use make build or make install instead.

web-greeter-3.1.0# make build
./build/utils.sh clean
./build/utils.sh build-init
./build/utils.sh build /usr
Building web-greeter with cx_freeze...
setup.py log inside /var/www/debian/web-greeter/NOTGOOD/web-greeter-3.1.0/build/setup_log
mv: cannot stat '/var/www/debian/web-greeter/NOTGOOD/web-greeter-3.1.0/build/web-greeter/dist/*': No
such file or directory
make: *** [Makefile:65: build] Error 1

can it be built without cx_freeze?

@JezerM
Copy link
Owner

JezerM commented Oct 28, 2021

It can be built without cx_freeze. Use build_old or install_old, but these methods use a "zip build": compress everything inside a zip and use it as a python3 program. The main downside is dependencies, as you can't remove a single dependencie without breaking web-greeter; therefore, it's not static.

cx_freeze was the first tool that kind of solved this problem, so I used it.

@alexmyczko
Copy link
Author

alexmyczko commented Oct 28, 2021

can you confirm that web-greeter is only useful together with lightdm? or can it be used without lightdm?

my eyes:

./build/utils.sh:	mkdir -p "${INSTALL_ROOT}"/opt/web-greeter
./build/utils.sh:	mv "${BUILD_DIR}/${PKGNAME}"/dist/* "${INSTALL_ROOT}"/opt/web-greeter/
./build/utils.sh:	ln -sf "${DESTDIR}"/opt/web-greeter/web-greeter "${DESTDIR}"/usr/bin/web-greeter

really, we don't touch /opt, and .desktop files have Exec=binary (no paths)

@alexmyczko
Copy link
Author

alexmyczko commented Oct 28, 2021

ok a first untested version is available at http://sid.ethz.ch/debian/web-greeter/

it is not installing any config files though

@JezerM
Copy link
Owner

JezerM commented Oct 28, 2021

can you confirm that web-greeter is only useful together with lightdm? or can it be used without lightdm?

No, it's not usable or useful without lightdm. Although, you can use it as a lock-screen with light-locker, or inside a desktop environment without lightdm as a program but as a service, using X-LightDM-Allow-Greeter=true in your xsession.

my eyes:

xd

./build/utils.sh:	mkdir -p "${INSTALL_ROOT}"/opt/web-greeter
./build/utils.sh:	mv "${BUILD_DIR}/${PKGNAME}"/dist/* "${INSTALL_ROOT}"/opt/web-greeter/
./build/utils.sh:	ln -sf "${DESTDIR}"/opt/web-greeter/web-greeter "${DESTDIR}"/usr/bin/web-greeter

really, we don't touch /opt, and .desktop files have Exec=binary (no paths)

Really? As I didn't find a way to build everything into a single binary (without zip build), I thought moving it inside /opt should be ok, as other programs do.

Also, as you may have noticed, there are two .desktop files. One for /usr/share/applications, for "normal" usage inside a desktop environment; mainly for development usage, and therefore expendable. And another for /usr/share/xgreeters/ to run the greeter with lightdm, which is a requirement.

@alexmyczko
Copy link
Author

alexmyczko commented Oct 28, 2021

i have to fix all the yellows and reds: https://mentors.debian.net/package/web-greeter/

@alexmyczko
Copy link
Author

alexmyczko commented Oct 29, 2021

if you want to fix usr/share/web-greeter/themes/dracula/assets/window-blurred.png (is JPEG)

and maybe package-contains-empty-directory
usr/share/bash-completion/completions/

and maybe you want to add and imrpove
http://sid.ethz.ch/debian/web-greeter/web-greeter-3.1.0/debian/web-greeter.1

@JezerM
Copy link
Owner

JezerM commented Dec 8, 2021

Fixed some errors with local lintian in ee0b983, except for no-changelog and no-copyright-file ones. About the font warnings, I guess there is no easy way to solve it, as the themes could require them with a relative path; perhaps, using a symlink from _vendors to the real font path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants