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

archlinux PKGBUILD script generate empty package #45

Closed
bokunodev opened this issue Oct 26, 2022 · 7 comments
Closed

archlinux PKGBUILD script generate empty package #45

bokunodev opened this issue Oct 26, 2022 · 7 comments

Comments

@bokunodev
Copy link
Contributor

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

@bbonev
Copy link
Collaborator

bbonev commented Oct 26, 2022

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
Copy link
Contributor Author

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
Copy link
Collaborator

bbonev commented Oct 26, 2022

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
Copy link
Contributor Author

bokunodev commented Oct 26, 2022

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
Copy link
Collaborator

bbonev commented Oct 26, 2022

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
Copy link
Contributor Author

bokunodev commented Oct 26, 2022

@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
Copy link
Contributor Author

bokunodev commented Oct 26, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants