Re: Error on mingw-pkg distribute
Keith Marshall <[email protected]>
| Newsgroups | gmane.comp.gnu.mingw.user |
|---|---|
| Organization | MinGW.org Project |
| Message-ID | <[email protected]> |
On 08/01/2020 22:37, Cesar Strauss wrote: > In ticket #39246 [1], Keith asks me to package a newer version of > awk for MSYS. I took the opportunity to try out his mingw-pkg tool > [2], but ran into trouble. Since, according to Keith, he supports his > tool on this mailing list, I am following-up here.> > My steps were: > > 1) Clone, build and install mingw-pkg [2]. > > 2) Read "mingw-pkg --help" > > 3) Inspect the source for a better understanding of each command. > > 4) Run an MSYS Developer Shell (the package is for MSYS). > > 5) Unpack the source for awk [3] and go into the top directory. > > 6) Run: mingw-pkg --arch=msys initialize So far, so good, but what SCM have you bound in this step? Please show the content of your $HOME/.mingw-pkgrc configuration file. > 7) Run: mingw-pkg --arch=msys mkspec > > 8) Edit the Package Spec file on arch/msys (attached, work in > progress) > > 9) Create an MSYS specific patch and put it into arch/msys (attached) > > 10) Run: mingw-pkg --arch=msys patch > > 11) Run: mingw-pkg --arch=msys compile > > Up to here, all seems to go well. > > 12) Run: mingw-pkg --arch=msys install > > This installs to /usr/local, where I was expecting some staging > directory. No. It will install into whatever path is assigned to $prefix, and I don't see anything in your pkgspec file to configure that, so it will assume the autoconf default. However... > 12) Run: mingw-pkg --arch=msys distribute ...this step, (if it were working correctly), *would* create a staged installation, independent of $prefix, except that... > This gives an error: > > >>> prepare source distribution > > mingw-pkg: *** FATAL *** no handler implemented for action > 'stage_srcdist' Without seeing your $HOME/.mingw-pkgrc, I can only speculate: the required handler is provided by either the "git" or the "hg" plugin; if you haven't loaded either of these, then you haven't initialized an SCM source, whence the source package content may be derived. > Note: I also tried the example pthreads-win32-2.10-pre.tar.xz in [2], > with the same error above on the distribute step. > > At this point, I suspected that mingw-pkg was incomplete, but Keith > assures me he is using it for some time already. I certainly have; my $HOME/.mingw-pkgrc (attached) includes the statement: load plugin hg which provides a suitable "stage_srcdist" handler; it derives the source package content from the local Mercurial repository, which this same plugin would have created during your step (6). I guess it is a fair comment that mingw-pkg is incomplete w.r.t. the "distribute" action, unless you load the "hg" plugin, (which I have tested comprehensively), or the "git" plugin, (which I have not). At some stage, we should probably develop a fall-back handler; also, some more comprehensive documentation, than the existing "mingw-pkg --help" output, would be useful. > [1] Ticket #39246 - Please update MSYS awk; current awk-3.1.7 > implementation is too old to remain viable > https://osdn.net/projects/mingw/ticket/39246 > > [2] MinGW Package Builder Tool > https://osdn.net/users/keith/pf/mingw.pkg/wiki/FrontPage > > [3] http://ftp.gnu.org/gnu/gawk/gawk-4.0.1.tar.xz -- Regards, Keith. Public key available from keys.gnupg.net Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F _______________________________________________ MinGW-Users mailing list [email protected] This list observes the Etiquette found at http://www.mingw.org/Mailing_Lists. We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. _______________________________________________ You may change your MinGW Account Options or unsubscribe at: https://lists.osdn.me/mailman/listinfo/mingw-users Also: mailto:[email protected]?subject=unsubscribe
.mingw-pkgrc
(text/plain, 3.3 KB)
# .mingw-pkgrc # # Local initialization preferences for the mingw-pkg tool. # # If you plan to publish any MinGW package, or mingw-port, then you # MUST stipulate your name, and e-mail address, so that such packages # may be appropriately attributed. # AUTHOR="Keith Marshall" AUTHOR_EMAIL="[email protected]" # For packages which support GNU configure semantics, setting host, # build, and initial configure_options here will cause mingw-pkg to # invoke cross compiler tools, as appropriate. # host=${host-"mingw32"} build=${build-"x86_64-pc-linux-gnu"} # When building packages for deployment on MinGW hosts, requiring the # use of cross compiler tools, then the host and build options must be # prefaced to the mingw-pkg configure options; however, to support use # of mingw-pkg for building the cross compiler tools themselves, defer # this assignment until the --xtool option has been evaluated, and all # other configure options have been assigned, by encapsulating these # prefaced assignments within the xhost_configure_options variable, as # a command which will be executed immediately prior to invocation of # the configure script itself, when --xtool mode has NOT been enabled. # xhost_configure_options='echo --build=$build --host=$host $configure_options' # When --xtool mode HAS been enabled, mingw-pkg needs to be informed # of the installation prefix for the cross compiler tools; this should # be specified in the xhost_prefix variable. # xhost_prefix=/home/keith/mingw32 # Some packages don't support GNU configure semantics, and may need some # help to specify a host prefix for cross compiler tools; host_prefix may # be interpreted within the package specification file, e.g. thus: # # option compile ${host_prefix:+HOST_PREFIX=`$host_prefix-`} # # Note that this requires $host_prefix to expand to a command, which will # write the requisite host prefix, excluding its normal '-' terminating # punctuation, to its standard output; here, we specify an architecture # dependent host prefix, which will be resolved only when the package # specification file is parsed. # host_prefix='eval echo $ARCH' # If you intend to publish MinGW packages, or any mingw-port, then you # MUST enable one of the supported source code management (SCM) systems; # currently, these are either Mercurial (hg), or git. Uncomment ONE of # the following two plugin loaders, according to your preference; note # that, if you choose hg, you must also enable its mq extension, while # if you choose git, you should install an mq-compatible patch queue # management suite; Git-MQ (https://osdn.net/users/keith/pf/git-mq) is # a suitable candidate. # # load plugin git # load plugin hg # load plugin hg # In the event that you do publish packages, or mingw-ports, you should # also consider providing detached GPG signatures, so that users will be # able to authenticate them. Uncomment the following plugin loader, to # activate the mingw-pkg package signing feature. # # load plugin auth gpg $AUTHOR_EMAIL # load plugin auth gpg $AUTHOR_EMAIL # The following setting allows all option parsing to be performed # as if by GNU getopt_long_only(), (but without argument reordering); # without this, GNU getopt_long() semantics will prevail. # # optchk_getopt_long_only=true # optchk_getopt_long_only=true # .mingw-pkgrc: end of file
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEwZ7AGBVH3lDh1I9TwK02xjR+Wj8FAl4WbZQACgkQwK02xjR+ Wj9lUA/7BfI4/OjaZNQjEjIUpLfIwve7b/Olb651xJPlgv+q3q+hqjjctIakw0LE J7FGXPdDiCrOdV84Odqn6CicnOJ63SE97Lbgd5xleZf3UzBvoheKl5e83TenWgq8 i8NoUTVjHm1QeFqIeTBD66ev4/GHtS+f+dTO9TpwvpmYWvu/PoKRFrDOoW8e4MOg 7LcH88Wh6Q5F+EFADTCN0Qeu3MNoEyq7KTBQLMoIqSJLB3XD6lKskCtfSDeEeWA2 zP5uXUxH82PTJgxhy7EOYhOdKk6IkCmoPHpzF27/CFOEQW5OFuDc6/JCWTgG0sFB aVwKBygs7wgXvZZRgl+PlJDGR2clxXzI/e0gEGiuxWDC7h/0B5U9+/3VYQQtWHRB fZ7njg2OW3R7eYMuSONWG2E1zvbnUkvrTeMfkvhgJMLiJS9pbW5xjE+g0qoFP8Uu 4NcuYvnPdRQ0dZ7tab7S3k9GmoguqY9RDJwtrs1ba46eC8YKBrXC3zug6aRAIFP1 a080ZPpqw3f47MOUVq3reMuNHlrxtmsy9LfzRhnDGq4L4yri9uT9XE0CqzZfnhbv t56Buvb0DnCilGF/IzSq09TR5hxRZT1N7mqSqElxB5bfwQYMtCH6WUIVx+wqzyLB 6EjttkM5msM1jXf05yrEWsR8b2D1tcmCX1nVxN0soC23Xw81Gy4= =nn6n -----END PGP SIGNATURE-----