source: contrib/jhalfs-paco.patch@ 4da2512

2.3 2.3.x 2.4 ablfs ablfs-more legacy new_features trunk
Last change on this file since 4da2512 was 7bf2fdd, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

PACO patch updates from upstream plus menuconfig support.

  • Property mode set to 100644
File size: 34.9 KB
RevLine 
[059822c]1Index: LFS/master.sh
2===================================================================
[7bf2fdd]3--- LFS/master.sh (revision 3007)
[059822c]4+++ LFS/master.sh (working copy)
[7bf2fdd]5@@ -172,6 +172,11 @@
[8230977]6 # Keep the script file name
7 this_script=`basename $file`
8
9+ # If $this_script corresponds to a paco script, then skip it
10+ case "${this_script}" in
11+ *paco) continue ;;
12+ esac
13+
14 # We'll run the chroot commands differently than the others, so skip them in the
15 # dependencies and target creation.
16 case "${this_script}" in
[7bf2fdd]17@@ -179,6 +184,18 @@
18 *stripping*) [[ "${STRIP}" = "n" ]] && continue ;;
[6821737]19 esac
20
[4795dfb]21+ # Install paco as the first package in ch6, before installing
22+ # linux-libc-headers, except in iterartive builds
23+ if [[ -z "$N" ]]; then
24+ case $this_script in
25+ *linux-libc-headers)
[799b0d1]26+ TMP_SCRIPT="$this_script"
27+ this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'`
28+ wrt_paco_inst "$this_script"
29+ this_script="$TMP_SCRIPT" ;;
[4795dfb]30+ esac
31+ fi
[6821737]32+
[4795dfb]33 # Grab the name of the target
34 name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'`
35
[7bf2fdd]36@@ -231,7 +248,9 @@
[059822c]37 # and not to use chroot.
38 case "${this_script}" in
[daa9b6c]39 *kernfs) wrt_RunAsRoot "${this_script}" "$file" ;;
[059822c]40- *) wrt_run_as_chroot1 "${this_script}" "$file" ;;
41+ *) wrt_paco_prep
42+ wrt_run_as_chroot1 "${this_script}" "$file"
[2b88404]43+ wrt_paco_log "$pkg_tarball" ;;
[059822c]44 esac
45
46 # Remove the build directory(ies) except if the package build fails.
[7bf2fdd]47@@ -251,6 +270,16 @@
[4795dfb]48 PREV=${this_script}${N}
49 # Set system_build envar for iteration targets
50 system_build=$chapter6
[059822c]51+
[6821737]52+ # Reinstalling paco after readsjusting the toolchain.
[059822c]53+ case "${this_script}" in
[6821737]54+ *readjusting)
[799b0d1]55+ TMP_SCRIPT="$this_script"
56+ this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'`
57+ wrt_paco_inst "$this_script"
58+ this_script="$TMP_SCRIPT" ;;
[059822c]59+ esac
60+
61 done # end for file in chapter06/*
62 }
63
[7bf2fdd]64@@ -311,8 +340,15 @@
[b9ec725]65 else
[059822c]66 wrt_run_as_chroot2 "$this_script" "$file"
67 fi
[b9ec725]68+ wrt_paco_log "lfs-sysconf"
[059822c]69 ;;
[8b7357b]70+ *kernel | *bootscripts )
71+ wrt_paco_prep
72+ wrt_run_as_chroot2 "$this_script" "$file"
73+ wrt_paco_log "$pkg_tarball"
[059822c]74+ ;;
75 *) wrt_run_as_chroot2 "$this_script" "$file"
[b9ec725]76+ wrt_paco_log "lfs-sysconf"
[059822c]77 ;;
78 esac
[b9ec725]79
[059822c]80Index: LFS/lfs.xsl
81===================================================================
[7bf2fdd]82--- LFS/lfs.xsl (revision 3007)
[059822c]83+++ LFS/lfs.xsl (working copy)
[963fdae]84@@ -39,6 +39,9 @@
[059822c]85 <!-- Locale settings -->
[c665386]86 <xsl:param name="lang" select="C"/>
[059822c]87
88+ <!-- Use paco? -->
[7bf2fdd]89+ <xsl:param name="use_paco" select="y"/>
[059822c]90+
91 <xsl:template match="/">
92 <xsl:apply-templates select="//sect1"/>
93 </xsl:template>
[7bf2fdd]94@@ -251,6 +254,33 @@
[059822c]95 <xsl:apply-templates/>
96 <xsl:text> || true&#xA;</xsl:text>
97 </xsl:when>
98+ <!-- paco begin -->
99+ <!-- General rule -->
[7bf2fdd]100+ <xsl:when test="$use_paco != 'n' and
[059822c]101+ ancestor::chapter[@id != 'chapter-temporary-tools'] and
102+ contains(string(),'make') and
103+ contains(string(),'install')">
104+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
105+ <xsl:apply-templates/>
106+ <xsl:text>&#xA;</xsl:text>
107+ </xsl:when>
108+ <!-- Linux-libc-headers -->
[7bf2fdd]109+ <xsl:when test="$use_paco != 'n' and
[059822c]110+ ancestor::sect1[@id='ch-system-linux-libc-headers'] and
111+ contains(string(),'install ')">
112+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
113+ <xsl:apply-templates/>
114+ <xsl:text>&#xA;</xsl:text>
115+ </xsl:when>
116+ <!-- Unset LD_PRELOAD before second make in Zlib -->
[7bf2fdd]117+ <xsl:when test="$use_paco != 'n' and
[059822c]118+ ancestor::sect1[@id='ch-system-zlib'] and
119+ contains(string(),'make clean')">
120+ <xsl:text>unset LD_PRELOAD&#xA;</xsl:text>
121+ <xsl:apply-templates/>
122+ <xsl:text>&#xA;</xsl:text>
123+ </xsl:when>
124+ <!-- paco end -->
125 <!-- The rest of commands -->
126 <xsl:otherwise>
127 <xsl:apply-templates/>
[8b7357b]128Index: CLFS/master.sh
129===================================================================
[7bf2fdd]130--- CLFS/master.sh (revision 3007)
[8b7357b]131+++ CLFS/master.sh (working copy)
[7bf2fdd]132@@ -494,6 +494,11 @@
[8b7357b]133 # Keep the script file name
134 this_script=`basename $file`
135
136+ # If $this_script corresponds to a paco script, then skip it
137+ case "${this_script}" in
138+ *paco) continue ;;
139+ esac
140+
141 # Test if the stripping phase must be skipped.
142 # Skip alsp temp-perl for iterative runs
143 case $this_script in
[7bf2fdd]144@@ -501,6 +506,18 @@
[8b7357b]145 *temp-perl*) [[ -n "$N" ]] && continue ;;
146 esac
147
148+ # Install paco as the first package in ch6, before installing
149+ # linux-libc-headers, except in iterartive builds
150+ if [[ -z "$N" ]]; then
151+ case $this_script in
152+ *linux-headers)
153+ TMP_SCRIPT="$this_script"
154+ this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'`
155+ wrt_paco_inst "$this_script"
156+ this_script="$TMP_SCRIPT" ;;
157+ esac
158+ fi
159+
160 # Grab the name of the target, strip id number, XXX-script
161 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
162 -e 's@temp-@@' \
[7bf2fdd]163@@ -553,7 +570,9 @@
[8b7357b]164 [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
165 fi
166 #
167+ wrt_paco_prep
168 wrt_run_as_chroot1 "${this_script}" "${file}"
169+ wrt_paco_log "$pkg_tarball"
170 #
171 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}"
172 #
[7bf2fdd]173@@ -568,6 +587,16 @@
[8b7357b]174 PREV=${this_script}${N}
175 # Set system_build envar for iteration targets
176 system_build=$basicsystem
177+
178+ # Reinstalling paco after readsjusting the toolchain.
179+ case "${this_script}" in
180+ *adjusting)
181+ TMP_SCRIPT="$this_script"
182+ this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'`
183+ wrt_paco_inst "$this_script"
184+ this_script="$TMP_SCRIPT" ;;
185+ esac
186+
187 done # for file in final-system/* ...
188 }
189
[7bf2fdd]190@@ -604,6 +633,11 @@
[8b7357b]191 # Keep the script file name
192 this_script=`basename $file`
193
194+ # If $this_script corresponds to a paco script, then skip it
195+ case "${this_script}" in
196+ *paco) continue ;;
197+ esac
198+
199 # Test if the stripping phase must be skipped
200 # Skip alsp temp-perl for iterative runs
201 case $this_script in
[7bf2fdd]202@@ -611,6 +645,18 @@
[8b7357b]203 *temp-perl*) [[ -n "$N" ]] && continue ;;
204 esac
205
206+ # Install paco as the first package in ch6, before installing
207+ # linux-libc-headers, except in iterartive builds
208+ if [[ -z "$N" ]]; then
209+ case $this_script in
210+ *linux-headers)
211+ TMP_SCRIPT="$this_script"
212+ this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'`
213+ wrt_paco_inst "$this_script"
214+ this_script="$TMP_SCRIPT" ;;
215+ esac
216+ fi
217+
218 # Grab the name of the target, strip id number, XXX-script
219 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
220 -e 's@temp-@@' \
[7bf2fdd]221@@ -665,7 +711,9 @@
[8b7357b]222 [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
223 fi
224 #
225+ wrt_paco_prep
226 wrt_run_as_root2 "${this_script}" "${file}"
227+ wrt_paco_log "$pkg_tarball"
228 #
229 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}"
230 #
[7bf2fdd]231@@ -680,6 +728,16 @@
[8b7357b]232 PREV=${this_script}${N}
233 # Set system_build envar for iteration targets
234 system_build=$basicsystem
235+
236+ # Reinstalling paco after readsjusting the toolchain.
237+ case "${this_script}" in
238+ *adjusting)
239+ TMP_SCRIPT="$this_script"
240+ this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'`
241+ wrt_paco_inst "$this_script"
242+ this_script="$TMP_SCRIPT" ;;
243+ esac
244+
245 done # for file in final-system/* ...
246 }
247
[7bf2fdd]248@@ -728,7 +786,17 @@
[8b7357b]249 #
250 [[ "$pkg_tarball" != "" ]] && wrt_unpack2 "$pkg_tarball"
251 #
252+ case $this_script in
253+ *bootscripts* | *udev-rules )
254+ wrt_paco_prep ;;
255+ esac
256 wrt_run_as_chroot1 "${this_script}" "${file}"
257+ case $this_script in
258+ *bootscripts* | *udev-rules )
259+ wrt_paco_log "$pkg_tarball" ;;
260+ *)
261+ wrt_paco_log "clfs-sysconf" ;;
262+ esac
263 #
264 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}"
265 #
[7bf2fdd]266@@ -790,7 +858,17 @@
[8b7357b]267 #
268 [[ "$pkg_tarball" != "" ]] && wrt_unpack3 "$pkg_tarball"
269 #
270+ case $this_script in
271+ *bootscripts* | *udev-rules )
272+ wrt_paco_prep ;;
273+ esac
274 wrt_run_as_root2 "${this_script}" "${file}"
275+ case $this_script in
276+ *bootscripts* | *udev-rules )
277+ wrt_paco_log "$pkg_tarball" ;;
278+ *)
279+ wrt_paco_log "clfs-sysconf" ;;
280+ esac
281 #
282 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}"
283 #
[7bf2fdd]284@@ -862,8 +940,13 @@
[8b7357b]285 else
286 wrt_run_as_chroot1 "${this_script}" "${file}"
287 fi
288+ wrt_paco_log "clfs-sysconf"
289 ;;
290- *) wrt_run_as_chroot1 "${this_script}" "${file}" ;;
291+ *kernel) wrt_paco_prep
292+ wrt_run_as_chroot1 "${this_script}" "${file}"
293+ wrt_paco_log "$pkg_tarball" ;;
294+ *) wrt_run_as_chroot1 "${this_script}" "${file}"
295+ wrt_paco_log "clfs-sysconf" ;;
296 esac
297 #
298 # Housekeeping...remove any build directory(ies) except if the package build fails.
[7bf2fdd]299@@ -941,8 +1024,13 @@
[8b7357b]300 else
301 wrt_run_as_root2 "${this_script}" "${file}"
302 fi
303+ wrt_paco_log "clfs-sysconf"
304 ;;
305- *) wrt_run_as_root2 "${this_script}" "${file}" ;;
306+ *kernel) wrt_paco_prep
307+ wrt_run_as_root2 "${this_script}" "${file}"
308+ wrt_paco_log "$pkg_tarball" ;;
309+ *) wrt_run_as_root2 "${this_script}" "${file}"
310+ wrt_paco_log "clfs-sysconf" ;;
311 esac
312 #
313 # Housekeeping...remove any build directory(ies) except if the package build fails.
314Index: CLFS/clfs.xsl
315===================================================================
[7bf2fdd]316--- CLFS/clfs.xsl (revision 3007)
[8b7357b]317+++ CLFS/clfs.xsl (working copy)
[963fdae]318@@ -45,6 +45,9 @@
[8b7357b]319 <!-- Locale settings -->
320 <xsl:param name="lang" select="C"/>
321
322+ <!-- Use paco? -->
[7bf2fdd]323+ <xsl:param name="use_paco" select="y"/>
[8b7357b]324+
325 <xsl:template match="/">
326 <xsl:apply-templates select="//sect1"/>
327 </xsl:template>
[963fdae]328@@ -106,6 +109,25 @@
[8b7357b]329 <xsl:text>tar -xvf ../vim-&vim-version;-lang.* --strip-components=1&#xA;</xsl:text>
330 </xsl:if>
331 </xsl:if>
332+ <!-- paco begin -->
333+ <!-- General rule -->
[7bf2fdd]334+ <xsl:if test="$use_paco != 'n' and
[8b7357b]335+ @id='ch-scripts-bootscripts' or
336+ @id='ch-scripts-udev-rules' or
337+ @id='ch-bootable-kernel' or
338+ (../@id='chapter-building-system' and
339+ @id!='ch-system-temp-perl' and
340+ contains(string(),'make') and
341+ contains(string(),'install'))">
342+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
343+ </xsl:if>
344+ <!-- Linux headers -->
[7bf2fdd]345+ <xsl:if test="$use_paco != 'n' and
[8b7357b]346+ @id='ch-system-linux-headers' and
347+ contains(string(),'install')">
348+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
349+ </xsl:if>
350+ <!-- paco end -->
351 <xsl:apply-templates select=".//para/userinput | .//screen"/>
352 <xsl:text>exit</xsl:text>
353 </exsl:document>
[799b0d1]354Index: common/paco-build-hlfs.sh
355===================================================================
356--- common/paco-build-hlfs.sh (revision 0)
357+++ common/paco-build-hlfs.sh (revision 0)
[b9ec725]358@@ -0,0 +1,12 @@
[799b0d1]359+#!/bin/sh
360+set -e
361+
362+cd $PKGDIR
[b9ec725]363+./configure --sysconfdir=/etc \
364+ --enable-scripts \
[799b0d1]365+ --disable-gpaco \
[b9ec725]366+ --disable-static \
367+ --with-pic &&
[799b0d1]368+make &&
369+make install &&
370+make logme
[059822c]371Index: common/config
372===================================================================
[7bf2fdd]373--- common/config (revision 3007)
[059822c]374+++ common/config (working copy)
[963fdae]375@@ -91,6 +91,23 @@
[7bf2fdd]376 #--- Run farce testing n(no)/y(yes)
377 RUN_FARCE=n
[d748b31]378
[059822c]379+#==== PACO VARIABLES ====
[7bf2fdd]380+#--- Use paco? n(no)/y(yes)
381+USE_PACO=y
[9b09518]382+PACO_VERSION=1.10.10
[059822c]383+
384+#--- Name of the Paco source package
[8715be1]385+PACO_FILE=paco-$PACO_VERSION.tar.bz2 # (use .tar.gz if preferred)
386+
387+#--- Sourceforge mirror to use for Paco source download
388+# Europe: heanet, belnet, puzzle, surfnet, switch, kent
389+# North America: superb-east, superb-west, umn, easynews
390+# South America: ufpr
391+# Asia: nchc, jaist
392+# Australia: optusnet
393+PACO_MIRROR1=heanet
394+PACO_MIRROR2=kent
[059822c]395+
[4795dfb]396 #==== INTERNAL VARIABLES ====
397 # Don't edit it unless you know what you are doing
398
[963fdae]399@@ -108,3 +125,9 @@
[4795dfb]400
401 #--- farce report log directory
402 FARCELOGDIR=$LOGDIR/farce
403+
404+#--- Variables needed by paco
[059822c]405+PACO_INCLUDE=/
[41dfd7c]406+PACO_EXCLUDE=/${SCRIPT_ROOT}
[059822c]407+PACO_TMPFILE=/tmp/paco.tmp
408+LD_PRELOAD=/usr/lib/libpaco-log.so
409Index: common/func_validate_configs.sh
410===================================================================
[7bf2fdd]411--- common/func_validate_configs.sh (revision 3007)
[059822c]412+++ common/func_validate_configs.sh (working copy)
[7bf2fdd]413@@ -88,10 +88,10 @@
[059822c]414 inline_doc
415
416 # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
[daa9b6c]417- local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL LUSER LGROUP"
418- local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG LUSER LGROUP"
419+ local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL LUSER LGROUP"
420+ local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD ARCH TARGET TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG LUSER LGROUP"
[7bf2fdd]421 local -r clfs2_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE ARCH TARGET OPTIMIZE REPORT STRIP FSTAB CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG LUSER LGROUP"
422- local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP"
[daa9b6c]423+ local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP"
[7bf2fdd]424 local -r blfs_PARAM_LIST="BRANCH_ID BLFS_ROOT BLFS_XML"
[059822c]425
426 local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
[7bf2fdd]427@@ -182,6 +182,7 @@
428 [[ "$GETPKG" = "y" ]] && validate_against_str "xnx xyx"
[f358747]429 fi ;;
[7bf2fdd]430 RUNMAKE) validate_against_str "xnx xyx" ;;
431+ USE_PACO) validate_against_str "xnx xyx" ;;
432 REPORT) validate_against_str "xnx xyx"
433 if [[ "${!config_param}" = "y" ]]; then
[4795dfb]434 if [[ `type -p bc` ]]; then
[059822c]435Index: common/paco-functions
436===================================================================
437--- common/paco-functions (revision 0)
438+++ common/paco-functions (revision 0)
[7bf2fdd]439@@ -0,0 +1,328 @@
[059822c]440+#!/bin/bash
441+
442+#----------------------------#
443+wrt_paco_inst() { #
444+#----------------------------#
[d748b31]445+
[8b7357b]446+local paco_script="$1"
447+
448+check_build_model
[d748b31]449+
[7bf2fdd]450+if [ $USE_PACO = "y" ]; then
451+ case $PROGNAME in
[8b7357b]452+ clfs )
453+ paco_file="final-system/$paco_script"
454+ basicsystem="$basicsystem $paco_script" ;;
455+ * )
456+ paco_file="chapter06/$paco_script"
457+ chapter6="$chapter6 $paco_script" ;;
458+ esac
[6821737]459+
460+ # Copy the paco build script to the correct directory and make it executable
[799b0d1]461+ cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file &&
[6821737]462+ chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file
[059822c]463+
464+ # Write target, dependency and unpack
[8b7357b]465+ if [ $CLFS_BOOT = 1 ]; then
466+ wrt_target_boot "$paco_script" "$PREV"
467+ wrt_unpack3 "$PACO_FILE"
468+ wrt_run_as_root2 "${paco_script}" "${paco_file}"
469+ wrt_remove_build_dirs2 "paco"
[7bf2fdd]470+ else
[8b7357b]471+ wrt_target "$paco_script" "$PREV"
472+ wrt_unpack2 "$PACO_FILE"
473+ wrt_run_as_chroot1 "${paco_script}" "${paco_file}"
474+ wrt_remove_build_dirs "paco"
475+ fi
[059822c]476+
[2b88404]477+ wrt_touch
[059822c]478+
479+ # Override the PREV variable
[6821737]480+ PREV="$paco_script"
[059822c]481+fi
482+}
483+
484+
485+#----------------------------------#
486+wrt_paco_prep() { # Export Paco variables
487+#----------------------------------# and remove tmpfile
[d748b31]488+
[8b7357b]489+local TMPFILEPATH
490+
491+check_build_model
[d748b31]492+
[b9ec725]493+check_log_package
494+
[7bf2fdd]495+if [ $USE_PACO = "y" ] && [ $LOG_PACKAGE != 0 ]; then
[8b7357b]496+ if [ $CLFS_BOOT = 1 ]; then
497+ TMPFILEPATH="$PACO_TMPFILE"
498+ else
499+ TMPFILEPATH="\$(MOUNT_PT)$PACO_TMPFILE"
500+ fi
[059822c]501+(
502+cat << EOF
503+ @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\
[b9ec725]504+ echo "export PACO_EXCLUDE=\$(SRC):$PACO_EXCLUDE" >> envars && \\
[059822c]505+ echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\
[8b7357b]506+ rm -f $TMPFILEPATH
[059822c]507+EOF
508+) >> $MKFILE.tmp
509+fi
510+}
511+
512+
513+#----------------------------------#
514+wrt_paco_log() { # If the tmpfile exist, then log the current package
515+#----------------------------------# and remove tempfile
[d748b31]516+local PACKAGE
517+
[8b7357b]518+# Extract package name and version from the tarball name
[2b88404]519+PACKAGE=`echo $1 | sed -e 's/.tar.*//'`
[059822c]520+
[8b7357b]521+check_build_model
[059822c]522+
[8b7357b]523+# Check if the package should be logged
[b9ec725]524+check_log_package
525+
[8b7357b]526+
[7bf2fdd]527+if [ $USE_PACO = "y" ]; then
[b9ec725]528+ if [ $LOG_PACKAGE != 0 ]; then
[8b7357b]529+ # Only use this if doing CLFS boot build
530+ if [ $CLFS_BOOT = 1 ]; then
531+(
532+cat << EOF
533+ @if [ -e $PACO_TMPFILE ]; then \\
534+ paco -lp+ $PACKAGE < $PACO_TMPFILE && \\
535+ rm -f $PACO_TMPFILE; \\
536+ fi;
537+EOF
538+) >> $MKFILE.tmp
539+ # All else should use these commands
540+ else
[059822c]541+(
542+cat << EOF
543+ @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\
[4795dfb]544+ \$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\
[059822c]545+ rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\
546+ fi;
547+EOF
548+) >> $MKFILE.tmp
[8b7357b]549+ fi
[b9ec725]550+ fi
[8b7357b]551+ # Add missing files to the logs if needed
[b9ec725]552+ wrt_paco_add_log
[059822c]553+fi
[b9ec725]554+}
[059822c]555+
[b9ec725]556+
557+#----------------------------------#
[8b7357b]558+fnc_add_log() { #
559+#----------------------------------#
560+
561+MISSING_FILE=$1
562+
563+if [ $CLFS_BOOT = 1 ]; then
564+ echo -e "\t@$MISSING_FILE | paco -lp+ $PACKAGE" >> $MKFILE.tmp
565+else
566+ echo -e "\t@\$(CHROOT1) '$MISSING_FILE | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
567+fi
568+}
569+
570+
571+#----------------------------------#
[b9ec725]572+wrt_paco_add_log() { #
573+#----------------------------------#
574+# Some packages create files using bash redirection, which the LD_PRELOAD lib don't notice
575+# These rules will add the missing files to the proper logs.
576+# Most of these is not needed for HLFS, but they do no harm.
[7bf2fdd]577+if [ $USE_PACO = "y" ]; then
[8b7357b]578+ case $this_script in
[7bf2fdd]579+ *e2fsprogs)
580+ fnc_add_log "echo /etc/mke2fs.conf"
581+ ;;
582+ *bootscripts)
583+ fnc_add_log "echo /etc/sysconfig/rc"
584+ fnc_add_log "echo /etc/sysconfig/createfiles"
585+ ;;
[b9ec725]586+ *glibc)
[8b7357b]587+ fnc_add_log "find /lib -type l"
[7bf2fdd]588+ fnc_add_log "echo /etc/{nsswitch.conf,ld.so.conf}"
[b9ec725]589+ ;;
590+ *ncurses)
[7bf2fdd]591+ fnc_add_log "echo /usr/lib/{libcurses.so,libncurses.so{,.5},libform.so,libpanel.so,libmenu.so}"
[b9ec725]592+ ;;
593+ *bash)
[8b7357b]594+ fnc_add_log "echo /bin/sh"
[b9ec725]595+ ;;
596+ *flex)
[8b7357b]597+ fnc_add_log "echo /usr/bin/lex"
[b9ec725]598+ ;;
599+ *shadow)
[8b7357b]600+ fnc_add_log "echo /etc/login.defs"
[7bf2fdd]601+ fnc_add_log "echo /etc/group"
[b9ec725]602+ ;;
603+ *hotplug)
[8b7357b]604+ fnc_add_log "echo /var/log/hotplug"
605+ fnc_add_log "echo /var/run/usb"
[b9ec725]606+ ;;
607+ *sysklogd)
[8b7357b]608+ fnc_add_log "echo /etc/syslog.conf"
[b9ec725]609+ ;;
610+ *sysvinit)
[8b7357b]611+ fnc_add_log "echo /etc/inittab"
[7bf2fdd]612+ fnc_add_log "echo /usr/bin/lastb"
613+ ;;
614+ *texinfo)
615+ fnc_add_log "echo /usr/share/info/dir"
[b9ec725]616+ ;;
617+ *udev)
[8b7357b]618+ fnc_add_log "find /lib/udev/devices"
619+ fnc_add_log "echo /lib/firmware"
620+ fnc_add_log "find /etc/udev/rules.d -type f"
[7bf2fdd]621+ fnc_add_log "echo /etc/udev/udev.conf"
622+ ;;
623+ *udev-rules)
624+ fnc_add_log "echo /lib/udev/devices/{null,console}"
[b9ec725]625+ ;;
626+ *util-linux)
[8b7357b]627+ fnc_add_log "echo /var/lib/hwclock"
628+ fnc_add_log "echo /etc/nologin.txt"
[b9ec725]629+ ;;
630+ *vim)
[8b7357b]631+ fnc_add_log "echo /etc/vimrc"
[b9ec725]632+ ;;
[8b7357b]633+ # Rules below here will log configuration files created in {C,H}LFS
634+ # They will end up in a log named {c,h}lfs-sysconf
[b9ec725]635+ *setclock)
[8b7357b]636+ fnc_add_log "echo /etc/sysconfig/clock"
[b9ec725]637+ ;;
638+ *inputrc)
[8b7357b]639+ fnc_add_log "echo /etc/inputrc"
[b9ec725]640+ ;;
641+ *profile)
[8b7357b]642+ fnc_add_log "echo /etc/profile"
[b9ec725]643+ ;;
644+ *hostname)
[8b7357b]645+ fnc_add_log "echo /etc/sysconfig/network"
[b9ec725]646+ ;;
647+ *localnet)
[8b7357b]648+ fnc_add_log "echo /etc/sysconfig/network"
[b9ec725]649+ ;;
650+ *hosts)
[8b7357b]651+ fnc_add_log "echo /etc/hosts"
[b9ec725]652+ ;;
653+ *network)
[8b7357b]654+ fnc_add_log "echo /etc/sysconfig/network-devices/ifconfig.eth0/ipv4"
655+ fnc_add_log "echo /etc/resolv.conf"
[b9ec725]656+ ;;
657+ *fstab)
[8b7357b]658+ fnc_add_log "echo /etc/fstab"
[b9ec725]659+ ;;
[7bf2fdd]660+ *theend | *finished)
[8b7357b]661+ fnc_add_log "echo /etc/$PROGNAME-release"
[7bf2fdd]662+ fnc_add_log "echo /var/run/utmp"
663+ fnc_add_log "echo /var/log/btmp"
664+ fnc_add_log "echo /var/log/wtmp"
665+ fnc_add_log "echo /var/log/lastlog"
[b9ec725]666+ ;;
667+ esac
[059822c]668+fi
669+}
[b9ec725]670+
671+
672+#----------------------------------#
673+check_log_package() { #
674+#----------------------------------#
675+# Maybe don't need this function, but it will avoid writing some
676+# unnecessary paco commands in the Makefile.
677+
678+case $this_script in
[2b88404]679+ *changingowner) LOG_PACKAGE=0 ;;
[b9ec725]680+ *creatingdirs) LOG_PACKAGE=0 ;;
681+ *createfiles) LOG_PACKAGE=0 ;;
[2b88404]682+ *pwdgroup) LOG_PACKAGE=0 ;;
683+ *devices) LOG_PACKAGE=0 ;;
[8b7357b]684+ *stripping) LOG_PACKAGE=0 ;;
[b9ec725]685+ *strippingagain) LOG_PACKAGE=0 ;;
[8b7357b]686+ *adjusting) LOG_PACKAGE=0 ;;
687+ *temp-perl) LOG_PACKAGE=0 ;;
[b9ec725]688+ *readjusting) LOG_PACKAGE=0 ;;
689+ *setclock) LOG_PACKAGE=0 ;;
690+ *inputrc) LOG_PACKAGE=0 ;;
691+ *profile) LOG_PACKAGE=0 ;;
692+ *hostname) LOG_PACKAGE=0 ;;
693+ *localnet) LOG_PACKAGE=0 ;;
694+ *hosts) LOG_PACKAGE=0 ;;
695+ *network) LOG_PACKAGE=0 ;;
696+ *fstab) LOG_PACKAGE=0 ;;
697+ *theend) LOG_PACKAGE=0 ;;
698+ *finished) LOG_PACKAGE=0 ;;
699+ *) LOG_PACKAGE=1 ;;
700+esac
701+}
[8715be1]702+
703+#----------------------------------#
704+get_paco_src() { #
705+#----------------------------------#
706+# Download the paco sources
707+# We don't do any MD5SUM checking as of yet
708+# http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.10.10.tar.bz2
709+
710+local PACO_URL1="http://$PACO_MIRROR1.dl.sourceforge.net/sourceforge/paco/$PACO_FILE"
711+local PACO_URL2="http://$PACO_MIRROR2.dl.sourceforge.net/sourceforge/paco/$PACO_FILE"
712+
713+# Test if paco is to be used
[7bf2fdd]714+[[ ! "$USE_PACO" = "y" ]] && return
[8715be1]715+
716+# If the file exists in the archive copy it to the $BUILDDIR/sources dir.
717+if [ ! -z ${SRC_ARCHIVE} ] &&
718+ [ -d ${SRC_ARCHIVE} ] &&
719+ [ -f ${SRC_ARCHIVE}/$PACO_FILE ]; then
720+ cp ${SRC_ARCHIVE}/$PACO_FILE .
721+ echo "$PACO_FILE: -- copied from $SRC_ARCHIVE"
722+ fromARCHIVE=1
723+else
724+ echo "${BOLD}${YELLOW}$PACO_FILE: not found in ${SRC_ARCHIVE}${OFF}"
725+ fromARCHIVE=0
726+ # If the file does not exist yet in /sources download a fresh one
727+ if [ ! -f $PACO_FILE ] ; then
728+ if ! wget $PACO_URL1 && ! wget $PACO_URL2 ; then
729+ gs_wrt_message "$PACO_FILE not found in the SRC_ARCHIVE or on any server..SKIPPING"
730+ continue
731+ fi
732+ fi
733+fi
734+
735+# Copy the freshly downloaded file to the source archive.
736+if [ ! -z ${SRC_ARCHIVE} ] &&
737+ [ -d ${SRC_ARCHIVE} ] &&
738+ [ -w ${SRC_ARCHIVE} ] &&
739+ [ "$fromARCHIVE" = "0" ] ; then
740+ echo "Storing file:<$PACO_FILE> in the package archive"
741+ cp -f $PACO_FILE ${SRC_ARCHIVE}
742+fi
743+}
[8b7357b]744+
745+
746+#----------------------------------#
747+check_build_model() { #
748+#----------------------------------#
749+# Check what script we're running, and set some switches accordingly
750+
751+CLFS_BOOT=0
752+
753+case $PROGNAME in
754+ hlfs)
755+ # Not using Paco with uClibc, even if requested
756+ if [ "$MODEL" = "uclibc" ]; then
[7bf2fdd]757+ USE_PACO=n
[8b7357b]758+ fi
759+ ;;
760+ clfs)
761+ # CLFS boot method require it's own commands
762+ if [ "$METHOD" = "boot" ]; then
763+ CLFS_BOOT=1
764+ fi
765+ ;;
766+esac
767+}
[799b0d1]768Index: common/paco-build-lfs.sh
[6821737]769===================================================================
[799b0d1]770--- common/paco-build-lfs.sh (revision 0)
771+++ common/paco-build-lfs.sh (revision 0)
[b9ec725]772@@ -0,0 +1,10 @@
[6821737]773+#!/bin/sh
774+set -e
775+
776+cd $PKGDIR
[b9ec725]777+./configure --sysconfdir=/etc \
778+ --enable-scripts \
779+ --disable-gpaco &&
[6821737]780+make &&
781+make install &&
782+make logme
[8b7357b]783Index: common/paco-build-clfs.sh
784===================================================================
785--- common/paco-build-clfs.sh (revision 0)
786+++ common/paco-build-clfs.sh (revision 0)
787@@ -0,0 +1,10 @@
788+#!/bin/sh
789+set -e
790+
791+cd $PKGDIR
792+./configure --sysconfdir=/etc \
793+ --enable-scripts \
794+ --disable-gpaco &&
795+make &&
796+make install &&
797+make logme
[059822c]798Index: common/common-functions
799===================================================================
[7bf2fdd]800--- common/common-functions (revision 3007)
[059822c]801+++ common/common-functions (working copy)
[a708b15]802@@ -69,6 +69,9 @@
[059822c]803 in the configuration file has the proper packages and patches for the
804 book version being processed.
805
806+${BOLD} --no-paco${OFF}
807+ dissables paco logging feature.
808+
[f3ae556]809 ${BOLD} -O, --optimize${OFF}
810 Optimize [0-2]
811 0 = no optimization
[7bf2fdd]812@@ -706,6 +709,7 @@
[8b7357b]813 --stringparam page $PAGE \
814 --stringparam lang $LANG \
[7bf2fdd]815 --stringparam keymap $KEYMAP \
[8b7357b]816+ --stringparam use_paco $USE_PACO \
817 -o ./${PROGNAME}-commands/ $XSL $BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
818 ;;
819
[7bf2fdd]820@@ -733,6 +737,7 @@
[059822c]821 --stringparam lc_all $LC_ALL \
[7bf2fdd]822 --stringparam keymap $KEYMAP \
[059822c]823 --stringparam grsecurity_host $GRSECURITY_HOST \
824+ --stringparam use_paco $USE_PACO \
825 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
826 ;;
827 lfs)
[7bf2fdd]828@@ -745,6 +750,7 @@
[059822c]829 --stringparam timezone $TIMEZONE \
830 --stringparam page $PAGE \
831 --stringparam lang $LANG \
832+ --stringparam use_paco $USE_PACO \
833 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
834 ;;
[8230977]835 *) exit 1 ;;
[7bf2fdd]836@@ -811,6 +817,9 @@
[8715be1]837 # Generate URLs file
838 create_urls
839
840+ # If Paco is to be used, then download the sources
841+ get_paco_src
842+
843 IFS=$'\x0A' # Modify the 'internal field separator' to break on 'LF' only
844 for line in `cat urls.lst`; do
845 IFS=$saveIFS # Restore the system defaults
[059822c]846Index: HLFS/hlfs.xsl
847===================================================================
[7bf2fdd]848--- HLFS/hlfs.xsl (revision 3007)
[059822c]849+++ HLFS/hlfs.xsl (working copy)
[963fdae]850@@ -46,6 +46,9 @@
[c665386]851 <xsl:param name="lang" select="C"/>
852 <xsl:param name="lc_all" select="C"/>
[059822c]853
854+ <!-- Use paco? -->
[7bf2fdd]855+ <xsl:param name="use_paco" select="y"/>
[059822c]856+
857 <xsl:template match="/">
858 <xsl:apply-templates select="//sect1"/>
859 </xsl:template>
[7bf2fdd]860@@ -196,6 +199,10 @@
[059822c]861 <!-- Fixing bootscripts installation -->
862 <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
863 string() = 'make install'">
864+ <!-- inserting LD_PRELOAD before installing bootscripts -->
[7bf2fdd]865+ <xsl:if test="$use_paco != 'n' and $model != 'uclibc'">
[059822c]866+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
867+ </xsl:if>
868 <xsl:text>make install&#xA;</xsl:text>
869 <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;&#xA;</xsl:text>
870 </xsl:when>
[7bf2fdd]871@@ -296,6 +303,25 @@
[059822c]872 <xsl:apply-templates/>
873 <xsl:text> || true&#xA;</xsl:text>
874 </xsl:when>
875+ <!-- paco begin -->
876+ <!-- General rule -->
[7bf2fdd]877+ <xsl:when test="$use_paco != 'n' and $model != 'uclibc' and
[059822c]878+ ancestor::chapter[@id != 'chapter-temporary-tools'] and
879+ contains(string(),'make') and
880+ contains(string(),'install')">
881+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
[7bf2fdd]882+ <xsl:apply-templates/>
[059822c]883+ <xsl:text>&#xA;</xsl:text>
884+ </xsl:when>
885+ <!-- Linux-libc-headers -->
[7bf2fdd]886+ <xsl:when test="$use_paco != 'n' and $model != 'uclibc' and
[9b09518]887+ ancestor::sect1[@id='ch-system-linux-headers'] and
[059822c]888+ contains(string(),'install ')">
889+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
[7bf2fdd]890+ <xsl:apply-templates/>
[059822c]891+ <xsl:text>&#xA;</xsl:text>
892+ </xsl:when>
893+ <!-- paco end -->
894 <!-- The rest of commands -->
895 <xsl:otherwise>
896 <xsl:apply-templates/>
897Index: HLFS/master.sh
898===================================================================
[7bf2fdd]899--- HLFS/master.sh (revision 3007)
[059822c]900+++ HLFS/master.sh (working copy)
[7bf2fdd]901@@ -47,7 +47,9 @@
[9b09518]902 EOF
903 ) >> $MKFILE.tmp
[963fdae]904 [[ "$TEST" != "0" ]] && wrt_test_log2 "${this_script}"
[9b09518]905+ wrt_paco_prep
906 wrt_run_as_chroot1 "$toolchain" "$this_script"
907+ wrt_paco_log "`echo $toolchain | sed -e 's@[0-9]\{3\}-@@'`"
908 ;;
909
910 *)
[7bf2fdd]911@@ -281,6 +283,11 @@
[8230977]912 # Keep the script file name
913 this_script=`basename $file`
914
915+ # If this script is *-paco, then skip it
916+ case $this_script in
917+ *paco ) continue ;;
918+ esac
919+
920 # Skip this script depending on jhalfs.conf flags set.
921 case $this_script in
922 # We'll run the chroot commands differently than the others, so skip them in the
[7bf2fdd]923@@ -290,6 +297,18 @@
924 *-stripping* ) [[ "$STRIP" = "n" ]] && continue ;;
[6821737]925 esac
926
[4795dfb]927+ # Install paco as the first package in ch6, before installing
928+ # linux-libc-headers, except in iterartive builds
929+ if [[ -z "$N" ]]; then
930+ case $this_script in
[9b09518]931+ *linux-headers)
[799b0d1]932+ TMP_SCRIPT="$this_script"
[9b09518]933+ this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'`
[799b0d1]934+ wrt_paco_inst "$this_script"
935+ this_script="$TMP_SCRIPT" ;;
[4795dfb]936+ esac
937+ fi
[6821737]938+
[4795dfb]939 # Grab the name of the target
940 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
941
[7bf2fdd]942@@ -355,7 +374,9 @@
[daa9b6c]943 wrt_RunAsRoot "${this_script}" "${file}"
[059822c]944 ;;
945 *) # The rest of Chapter06
946+ wrt_paco_prep
947 wrt_run_as_chroot1 "${this_script}" "${file}"
[2b88404]948+ wrt_paco_log "$pkg_tarball"
[059822c]949 ;;
950 esac
951 #
[7bf2fdd]952@@ -375,6 +396,16 @@
[4795dfb]953 PREV=${this_script}${N}
954 # Set system_build envar for iteration targets
955 system_build=$chapter6
[059822c]956+
[6821737]957+ # Reinstall paco after the toolchain has been readjusted.
[059822c]958+ case "${this_script}" in
[6821737]959+ *readjusting)
[799b0d1]960+ TMP_SCRIPT="$this_script"
961+ this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'`
962+ wrt_paco_inst "$this_script"
963+ this_script="$TMP_SCRIPT" ;;
[059822c]964+ esac
965+
966 done # end for file in chapter06/*
967
968 }
[7bf2fdd]969@@ -433,9 +464,19 @@
[b9ec725]970 else # Initialize the log and run the script
[059822c]971 wrt_run_as_chroot2 "${this_script}" "${file}"
972 fi
[b9ec725]973+ wrt_paco_log "hlfs-sysconf"
[059822c]974 ;;
975+ *kernel) wrt_paco_prep
976+ wrt_run_as_chroot2 "$this_script" "$file"
[2b88404]977+ wrt_paco_log "$(get_package_tarball_name "linux")"
[059822c]978+ ;;
979+ *bootscripts) wrt_paco_prep
980+ wrt_run_as_chroot2 "$this_script" "$file"
[2b88404]981+ wrt_paco_log "$(get_package_tarball_name "lfs-bootscripts")"
[059822c]982+ ;;
983 *) # All other scripts
984 wrt_run_as_chroot2 "${this_script}" "${file}"
[b9ec725]985+ wrt_paco_log "hlfs-sysconf"
[059822c]986 ;;
[b9ec725]987 esac
988
[d748b31]989Index: master.sh
990===================================================================
[7bf2fdd]991--- master.sh (revision 3007)
[d748b31]992+++ master.sh (working copy)
[7bf2fdd]993@@ -71,6 +71,11 @@
994 FARCELOGDIR=$LOGDIR/farce
995 XSL=$PROGNAME.xsl
996 PKG_LST=unpacked
997+ #--- PACO variables
998+ PACO_INCLUDE=/
999+ PACO_EXCLUDE=/${SCRIPT_ROOT}
1000+ PACO_TMPFILE=/tmp/paco.tmp
1001+ LD_PRELOAD=/usr/lib/libpaco-log.so
1002
1003 case $PROGNAME in
1004 clfs2) LFSVRS=development; TREE=branches/clfs-2.0/BOOK ;;
1005@@ -122,6 +127,7 @@
1006 VIMLANG=${VIMLANG:-n}
1007 KEYMAP=${KEYMAP:=none}
1008 GRSECURITY_HOST=${GRSECURITY_HOST:-n}
1009+ USE_PACO=${USE_PACO:-n}
1010
1011 else
1012 #
1013@@ -230,6 +236,8 @@
[d748b31]1014
1015 --help | -h ) usage | more && exit ;;
1016
[7bf2fdd]1017+ --no-paco ) USE_PACO=n ;;
[d748b31]1018+
[f3ae556]1019 --optimize | -O )
[d748b31]1020 test $# = 1 && eval "$exit_missing_arg"
1021 shift
[7bf2fdd]1022@@ -468,6 +476,14 @@
[d29584b]1023 [[ $VERBOSITY > 0 ]] && echo "OK"
1024 fi
[f3ae556]1025 #
[d29584b]1026+# paco module
[7bf2fdd]1027+if [[ "$USE_PACO" = "y" ]]; then
[d29584b]1028+ [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..."
1029+ source $COMMON_DIR/paco-functions
1030+ [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2
1031+ [[ $VERBOSITY > 0 ]] && echo "OK"
1032+fi
1033+#
[f3ae556]1034 # optimize module
1035 if [[ "$OPTIMIZE" != "0" ]]; then
1036 [[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..."
[7bf2fdd]1037@@ -514,6 +530,8 @@
[d748b31]1038 if [[ "$PWD" != "$JHALFSDIR" ]]; then
[b9ec725]1039 cp $COMMON_DIR/{makefile-functions,progress_bar.sh} $JHALFSDIR/
[c665386]1040 #
[7bf2fdd]1041+ [[ $USE_PACO != "n" ]] && cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/
[8230977]1042+ #
[f3ae556]1043 [[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/
[c665386]1044 #
[7bf2fdd]1045 if [[ "$COMPARE" = "y" ]]; then
1046Index: Config.in
1047===================================================================
1048--- Config.in (revision 3007)
1049+++ Config.in (working copy)
1050@@ -655,6 +655,52 @@
1051 #--- End Advanced Features
1052 endmenu
1053
1054+#--- PACO
1055+config USE_PACO
1056+ bool "Use PACO"
1057+ default n
1058+ depends on !BOOK_BLFS && !BOOK_CLFS2 && !LIB_UCLIBC
1059+
1060+ config PACO_VERSION
1061+ string "PACO package version"
1062+ default "1.10.10"
1063+ depends USE_PACO
1064+
1065+ config PACO_FILE
1066+ string "PACO package full name"
1067+ default "paco-$PACO_VERSION.tar.bz2"
1068+ depends USE_PACO
1069+ help
1070+ #-- You can use .tar.gz if preferred
1071+
1072+ config PACO_MIRROR1
1073+ string "Sourceforge mirror 1"
1074+ default "heanet"
1075+ depends USE_PACO
1076+ help
1077+ #-- Sourceforge mirror to use for Paco source download
1078+ #
1079+ # Europe: heanet, belnet, puzzle, surfnet, switch, kent
1080+ # North America: superb-east, superb-west, umn, easynews
1081+ # South America: ufpr
1082+ # Asia: nchc, jaist
1083+ # Australia: optusnet
1084+
1085+ config PACO_MIRROR2
1086+ string "Sourceforge mirror 2"
1087+ default "kent"
1088+ depends USE_PACO
1089+ help
1090+ #-- Sourceforge mirror to use for Paco source download
1091+ #
1092+ # Europe: heanet, belnet, puzzle, surfnet, switch, kent
1093+ # North America: superb-east, superb-west, umn, easynews
1094+ # South America: ufpr
1095+ # Asia: nchc, jaist
1096+ # Australia: optusnet
1097+#--- End PACO
1098+
1099+
1100 # config CONFIG_BLFS_CMDS
1101 # bool "Add BLFS packages to current build"
1102 # default n
Note: See TracBrowser for help on using the repository browser.