pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: patch for current audio/rubberband



maybe packages should not create a LOCALBASE if it doesn't exist?
isn't that highly likely (guaranteed?) a mistake, if the dir is not created
by bootstrap? if LOCALBASE is not set, perhaps it could be determined:

$(which bmake | sed 's,/bin/bmake$,,')

else PKG_FAIL_REASON="cannot determine LOCALBASE, no bmake in PATH"

That would better interact with bootstrap --prefix; vs LOCALBASE/etc/mk.conf
being an example and requiring a /etc/mk.conf source of truth, depending on the
bootstrap --prefix?

/usr/pkg/etc/mk.conf as a config, unless it is an example, seems unnecessarily fragile.

On Sat, Mar 11, 2023 at 11:14 AM George Georgalis <george%galis.org@localhost> wrote:
On Thu, Mar 9, 2023 at 3:23 PM George Georgalis <george%galis.org@localhost> wrote:
On Tue, Mar 7, 2023 at 11:18 PM Alistair Crooks <agc%pkgsrc.org@localhost> wrote:
>
> pkgsrc/mk/plist/shlib-dylib.awk looks for shared objects in the PLIST that match the regexps
>
> /.*\/lib[^\/]+\.so(\.[0-9]+)+$/
> /.*\/lib[^\/]+\.so$/
>
> As neither ladspa-rubberband.so or vamp-rubberband.so starts with "lib" for the directory entry name, they don't get matched
>
> My first thought is to go for a specialised PLIST.Darwin, I think (see also pkgsrc/devel/valgrind/PLIST.Darwin), but there are probably much better ways to do it

What if the regex to rename .so to .dylib didn't require ^lib[^\/]+ in
the basename?


I decided to experiment with removing lib from the regex,
to identify consequences and/or remediation. First I edited
the shlib-dylib.awk file, but I got unexpected results when
installing pkgsrc in a new prefix, so I tried the patch in a
control environment, nb 9.3 amd64, same unexpected
problem, some files are going into a /pkg/ path that is
not part of the prefix. I tried again without the patch.

In a pristine nb 9.3, with current pkgsrc, and --prefix /usr/pkg_
bash dependencies are not detected in the bootstrap prefix,
and the build proceeds to reinstall them into /usr/pkg

I now have two pkgdb, that is a mistake, but I haven't
figured out where the /usr/pkg prefix is hard coded,
or why my bootstrap /usr/pkg_ prefix is not used.

minimal install
ftp https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz
ftp https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.3/amd64/binary/sets/comp.tar.xz
tar -C / -xzf comp.tar.xz
tar -C /usr -xzf pkgsrc.tar.xz

cd /usr/pkgsrc && cvs update -Pd
cd /usr/pkgsrc \
  && ./bootstrap/bootstrap --prefix /usr/pkg_ --prefer-pkgsrc yes \
    --make-jobs 6 --unprivileged
export PATH=$PATH:/usr/pkg_/bin
cd /usr/pkgsrc/shells/bash && make install
...manual break

ls /usr/pkg_/pkgdb/ /usr/pkg/pkgdb/
/usr/pkg/pkgdb/:
cwrappers-20220403  digest-20220214     mktools-20220614    pkgdb.byfile.db

/usr/pkg_/pkgdb/:
bmake-20200524nb1             cwrappers-20220403            pkg_install-20211115
bootstrap-mk-files-20230225   mktools-20220614              pkgdb.byfile.db


--
George Georgalis, (415) 894-2710, http://www.galis.org/



--
George Georgalis, (415) 894-2710, http://www.galis.org/



Home | Main Index | Thread Index | Old Index