[prev in list] [next in list] [prev in thread] [next in thread]
List: macports-users
Subject: Re: Fixing source-code bugs using MacPorts facilities.
From: Ian Wadham <iandw.au () gmail ! com>
Date: 2020-07-27 5:30:51
Message-ID: 40617391-CA4C-45F9-9811-5A2196B2442B () gmail ! com
[Download RAW message or body]
Hi Ken and Ryan,
Thank you very much for your suggestions. I think I have got all of them working, \
including cycling repeatedly through editing the MacPorts version of source down in \
/opt/local/…, then cyling back through editing the state file, re-doing build and \
re-doing destroot.
There is just one fly in the ointment.
Ken's final step — sudo port -v -k install — does not work, or maybe works only \
on the first cycle. Looking in /Applications/MacPorts/KDE4/kpat.app/Contents/MacOS/, \
the new executable (file kpat) does not get staged in from the …/destroot/… \
directory structure.
This is the only runtime file that I am actually changing and KDE 4 does not care \
where its executable files come from.
So I would be happy to test by running the kpat executable that appears in the \
…/destroot/… structure, unless you guys have a better way.
Cheers,
Ian W.
> On 26 Jul 2020, at 5:37 pm, Ken Cunningham <ken.cunningham.webuse@gmail.com> wrote:
>
>
> On 2020-07-25, at 11:26 PM, Ryan Schmidt wrote:
>
> >
> >
> > On Jul 26, 2020, at 01:15, Ian Wadham wrote:
> >
> > > The above all worked very well, but only once… :-(
> > >
> > > If I test the app I have installed and find there is still some problem, I need \
> > > to edit the source and go back to the build step. But "build" just says "---> \
> > > Computing dependencies for kpat" and exits, even if I use "sudo port -f \
> > > build". It does not see that the source has changed.
> >
> > MacPorts keeps track of which phases have been completed. If you successfully \
> > build a port, for example, the build phase is marked completed and will not be \
> > attempted again until you clean and start over.
> > To bypass that behavior, you can edit the state file (a file in the work \
> > directory whose name is .macports.${subport}.state) and remove lines from the end \
> > of it for completed phases that you want to retry.
>
>
> Indeed as Ryan said.
>
> I wanted to let you see the basics, without overwhelming you.
>
> Once you can do that, as Ryan points out, you can delete the destroot and/or build \
> folders, edit the state file, and have MacPorts redo the steps you want it to do.
> You can also have macports just redo the destrooting without redoing the build, \
> editing the portfile, and passing "-o" to have it leave the build alone -- I do \
> this quite often for complex destrooting scenarios.
> It is incredibly powerful, but it does miss one feature that I would really like -- \
> to be able to do this using a stable git repo on my system as the source folder, \
> rather than a transient one created for each build.
> Ken
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic