Tomas-M / iotop

A top utility for IO
Other
376 stars 50 forks source link

archlinux PKGBUILD script generate empty package #45

Closed bokunodev closed 1 year ago

bokunodev commented 1 year ago

No executable or binary in the final package, just package meta files.

bbonev commented 1 year ago

Can you provide more information?

It is exactly the same as the one in AUR, maybe it will be easier to get the package from there...

bokunodev commented 1 year ago

I tried both from AUR (iotop-c) and master branch. I didn't use AUR helper like yay, I prefer to clone the repo and run makepkg manually.

~$ tree
.
├── iotop-1.22.tar.xz
├── iotop-1.22.tar.xz.asc
├── iotop-c-1.22-1-any.pkg.tar.zst
├── .SRCINFO
└── PKGBUILD
~$ tar -tf iotop-c-1.22-1-any.pkg.tar.zst
.BUILDINFO
.MTREE
.PKGINFO
bbonev commented 1 year ago

I can only guess that there is something broken with your environment or you are missing a file or two...

$ makepkg -f
==> Making package: iotop-c 1.22-1 (Wed 26 Oct 2022 09:52:49 PM EEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found iotop-1.22.tar.xz
  -> Found iotop-1.22.tar.xz.asc
==> Validating source files with md5sums...
    iotop-1.22.tar.xz ... Skipped
    iotop-1.22.tar.xz.asc ... Skipped
==> Verifying source file signatures with gpg...
    iotop-1.22.tar.xz ... Passed
==> Extracting sources...
  -> Extracting iotop-1.22.tar.xz with bsdtar
==> Starting prepare()...
==> Starting build()...
mkdir -p bld
touch bld/.mkdir
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/arr.o -MF bld/arr.d src/arr.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/arr.o src/arr.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/checks.o -MF bld/checks.d src/checks.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/checks.o src/checks.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/delayacct.o -MF bld/delayacct.d src/delayacct.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/delayacct.o src/delayacct.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/ioprio.o -MF bld/ioprio.d src/ioprio.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/ioprio.o src/ioprio.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/main.o -MF bld/main.d src/main.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/main.o src/main.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/ucell.o -MF bld/ucell.d src/ucell.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/ucell.o src/ucell.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/utils.o -MF bld/utils.d src/utils.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/utils.o src/utils.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/view_batch.o -MF bld/view_batch.d src/view_batch.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/view_batch.o src/view_batch.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/view_curses.o -MF bld/view_curses.d src/view_curses.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/view_curses.o src/view_curses.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/views.o -MF bld/views.d src/views.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/views.o src/views.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/vmstat.o -MF bld/vmstat.d src/vmstat.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/vmstat.o src/vmstat.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -MM -MT bld/xxxid_info.o -MF bld/xxxid_info.d src/xxxid_info.c
cc  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -Wall -Wextra -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 --std=gnu90 -fPIE -c -o bld/xxxid_info.o src/xxxid_info.c
cc -o iotop  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fPIE -pie bld/arr.o bld/checks.o bld/delayacct.o bld/ioprio.o bld/main.o bld/ucell.o bld/utils.o bld/view_batch.o bld/view_curses.o bld/views.o bld/vmstat.o bld/xxxid_info.o -lncursesw  
==> Entering fakeroot environment...
==> Starting package()...
STRIP iotop
INSTALL iotop
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "iotop-c"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: iotop-c 1.22-1 (Wed 26 Oct 2022 09:52:59 PM EEST)

$ tar ft iotop-c-1.22-1-any.pkg.tar.zst 
.BUILDINFO
.MTREE
.PKGINFO
usr/
usr/bin/
usr/bin/iotop
usr/share/
usr/share/man/
usr/share/man/man8/
usr/share/man/man8/iotop.8.gz
bokunodev commented 1 year ago

I got the same exact output, except the empty package. strangely no error no non-0 status code. the excutable is there, in src/ dir. what version of pacman do you use?

make[1]: Leaving directory '/home/boku/Public/AUR/iotop-c/src/iotop-1.22'
==> Entering fakeroot environment...
==> Starting package()...
make[1]: Entering directory '/home/boku/Public/AUR/iotop-c/src/iotop-1.22'
STRIP iotop
INSTALL iotop
make[1]: Leaving directory '/home/boku/Public/AUR/iotop-c/src/iotop-1.22'
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "iotop-c"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: iotop-c 1.22-1 (Thu 27 Oct 2022 04:34:17 AM WIB)
==> Cleaning up...
bbonev commented 1 year ago

Pacman v6.0.1 - libalpm v13.0.1; I do not think that is relevant - it always just worked.

Check the contents of your pkg directory, if the binary and man page are not there, this would mean that your install program is broken or some env var is making it behave in an unexpected way...

bokunodev commented 1 year ago

@bbonev i found the problem. its PREFIX env var. the makefile use prefix as target dir, but prefix is come from ourside and not makepkg which can be set to anything. instead, it should ignore it and use DESTDIR as target dir imo.

bokunodev commented 1 year ago

PREFIX?=$(DESTDIR)/usr this line is problematic. empty string as PREFIX value shoud be valid. but, if i set it to "" it failed, trying to access root dir.

install: cannot remove '/bin/iotop': Permission denied
make[1]: *** [Makefile:96: install] Error 1
make[1]: Leaving directory '/home/boku/Public/AUR/iotop-c-dbg/src/iotop-1.22'
==> ERROR: A failure occurred in package().
    Aborting...
make: *** [../makefile:6: all] Error 4