|
OpenBSD Installation and Upgrading Installing and upgrading OpenBSD. |
|
Thread Tools | Display Modes |
|
|||
tracking -stable compiling only updates
Hello,
I was wondering if one can avoid the make clean and rm -rf /usr/obj/* while upgrading from cvs. Couldn't we reuse the objects wich received no updates and only build the necessary target? From my experience (personnals projects), make and makefile take care of what needs to be build and what doesn't. Is there a reason for using "make clean" on kernel updates and rm -rf /usr/obj/* for the userland? |
|
|||
Hello jggimi
In fact, I was wondering about having to build all the userland instead of just the updated parts. For example, foo.c receive a patch therefore some binaries (depending on foo.c) need to be rebuild. Why do I need to wipe everything with "make clean". Couldn't we just let "make" choose what needs to be built and keep everything else "as is"? I have been using M:Tiers since then. It is much more convenient for me than the cvs process (I haven't try to patch from the erratas) since I rarely have full time internet access. Bye. |
|
||||
Welcome back. Yes, you can individually build components.
Kernels If you have previously built kernels, their previously built object files will be in /usr/src/sys/arch/<arch>/compile/<kernel>, and when you rebuild the kernel with make(1) in those directories, only out-of-date object files will be built, and then a new kernel will be linked, replacing "bsd" in each of those kernel build directories. Userland You can build individual modules. You can change your working directory to the individual source code module and run a series of make(1) commands. The exact tooling and targets may vary, depending on the source. In particular, Gnu source code requires wrapper makefiles -- but in general the targets are obj, depend, build (the default when no target is named), and install. All of the errata patches include the specific instructions you would need for those patches. So you could update sources with CVS, and then manually build those particular modules. Or, download the errata patch tarball, and then build, without using CVS. There are some -stable commits which do not rate errata publication, such as described in my first reply above. To build those manually would require similar steps, but you would be on your own regarding make targets and any wrapper makefiles needed, since manual building of an of these is unsupported. Doable? Sure. But you'd be on your own for support of the build process. Xenocara Instructions for individual modules are available to you in /usr/xenocara/README, because all modules follow the same build process. Last edited by jggimi; 17th January 2016 at 03:20 AM. Reason: typos, clarity |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
stable branch - ports security updates II | albator | OpenBSD Packages and Ports | 2 | 11th April 2012 04:46 PM |
tracking vulnerabilities | albator | NetBSD Security | 4 | 22nd September 2011 07:33 PM |
stable branch - ports security updates | albator | OpenBSD Packages and Ports | 22 | 5th September 2011 01:58 AM |
PF and Stateful Tracking Options | mfaridi | OpenBSD Security | 9 | 15th April 2010 09:05 AM |
Tracking OpenBSD snapshots with some simple sh scripts | J65nko | Guides | 3 | 2nd December 2009 04:55 AM |