web-greeter icon indicating copy to clipboard operation
web-greeter copied to clipboard

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

Open alexmyczko opened this issue 4 years ago • 12 comments

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 avatar Oct 25 '21 06:10 alexmyczko

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.

JezerM avatar Oct 27 '21 20:10 JezerM

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.

alexmyczko avatar Oct 27 '21 20:10 alexmyczko

Would there be any inconvenience with keeping the fonts?

JezerM avatar Oct 27 '21 23:10 JezerM

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 avatar Oct 28 '21 02:10 alexmyczko

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?

alexmyczko avatar Oct 28 '21 04:10 alexmyczko

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.

JezerM avatar Oct 28 '21 04:10 JezerM

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 avatar Oct 28 '21 09:10 alexmyczko

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

it is not installing any config files though

alexmyczko avatar Oct 28 '21 09:10 alexmyczko

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.

JezerM avatar Oct 28 '21 14:10 JezerM

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

alexmyczko avatar Oct 28 '21 17:10 alexmyczko

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

alexmyczko avatar Oct 29 '21 07:10 alexmyczko

Fixed some errors with local lintian in ee0b9835, 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.

JezerM avatar Dec 08 '21 04:12 JezerM