Split remaining port1.0 targets

See 06ff92e
This commit is contained in:
Joshua Root
2026-06-29 14:33:40 +10:00
parent 05cc462c97
commit 113d9b4236
51 changed files with 2787 additions and 2725 deletions
+4 -1
View File
@@ -16,7 +16,10 @@ SRCS= port.tcl portchecksum.tcl portconfigure.tcl portextract.tcl \
portactivate_run.tcl portbuild_run.tcl portbump_run.tcl portchecksum_run.tcl \
portclean_run.tcl portconfigure_run.tcl portdeactivate_run.tcl \
portdestroot_run.tcl portdistcheck_run.tcl portdistfiles_run.tcl \
portfetch_run.tcl
portextract_run.tcl portfetch_run.tcl portinstall_run.tcl portlint_run.tcl \
portlivecheck_run.tcl portload_run.tcl portmirror_run.tcl \
portpatch_run.tcl portreload_run.tcl portstartupitem_run.tcl \
porttest_run.tcl portuninstall_run.tcl portunload_run.tcl
include $(srcdir)/../../Mk/macports.subdir.mk
-2
View File
@@ -79,7 +79,6 @@ package require portdeactivate 1.0
package require portclean 1.0
package require porttest 1.0
package require portlint 1.0
package require porttrace 1.0
package require portdistcheck 1.0
package require portlivecheck 1.0
package require portmirror 1.0
@@ -91,4 +90,3 @@ package require portunload 1.0
package require portreload 1.0
package require portdistfiles 1.0
package require portsandbox 1.0
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portactivate_run.tcl
# the 'activate' target is provided by this package
package provide portactivate 1.0
-1
View File
@@ -31,7 +31,6 @@
package provide portactivate_run 1.0
package require portstartupitem 1.0
package require portutil 1.0
namespace eval portactivate {
+1 -3
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# portbuild.tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
#
# Copyright (c) 2007 - 2013 The MacPorts Project
# Copyright (c) 2002 - 2004 Apple Inc.
@@ -28,7 +27,6 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
package provide portbuild 1.0
+4
View File
@@ -1,3 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portbuild.tcl
package provide portbuild_run 1.0
package require portutil 1.0
package require portprogress 1.0
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portbump_run.tcl
package provide portbump 1.0
set org.macports.bump [target_new org.macports.bump portbump::bump_main]
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portchecksum_run.tcl
package provide portchecksum 1.0
set org.macports.checksum [target_new org.macports.checksum portchecksum::checksum_main]
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portclean_run.tcl
# the 'clean' target is provided by this package
package provide portclean 1.0
+1 -2
View File
@@ -1,4 +1,4 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
#
# Copyright (c) 2007 - 2020 The MacPorts Project
# Copyright (c) 2007 Markus W. Weissmann <mww@macports.org>
@@ -28,7 +28,6 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
package provide portconfigure 1.0
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portconfigure.tcl
package provide portconfigure_run 1.0
package require portutil 1.0
package require portprogress 1.0
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portdeactivate_run.tcl
# the 'deactivate' target is provided by this package
package provide portdeactivate 1.0
+1 -1
View File
@@ -28,7 +28,7 @@
# POSSIBILITY OF SUCH DAMAGE.
package provide portdeactivate_run 1.0
package require portutil 1.0
package require portstartupitem_run 1.0
namespace eval portdeactivate {
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# License: see portdestroot_run.tcl
package provide portdestroot 1.0
set org.macports.destroot [target_new org.macports.destroot portdestroot::destroot_main]
+2 -4
View File
@@ -30,7 +30,8 @@
# POSSIBILITY OF SUCH DAMAGE.
package provide portdestroot_run 1.0
package require portutil 1.0
package require portprogress 1.0
package require portstartupitem_run 1.0
namespace eval portdestroot {
@@ -45,7 +46,6 @@ proc destroot_start {args} {
ui_notice "$UI_PREFIX [format [msgcat::mc "Staging %s into destroot"] ${subport}]"
# start gsoc08-privileges
if { [getuid] == 0 && [geteuid] != 0 } {
# if started with sudo but have dropped the privileges
ui_debug "Can't run destroot under sudo without elevated privileges (due to mtree)."
@@ -60,8 +60,6 @@ proc destroot_start {args} {
return -code error "You cannot run this port without root privileges. You need to re-run with 'sudo port'.";
}
# end gsoc08-privileges
set oldmask [umask ${destroot.umask}]
set mtree [findBinary mtree ${::portutil::autoconf::mtree_path}]
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portdistcheck_run.tcl
package provide portdistcheck 1.0
set org.macports.distcheck [target_new org.macports.distcheck portdistcheck::distcheck_main]
+2
View File
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portdistfiles_run.tcl
package provide portdistfiles 1.0
set org.macports.distfiles [target_new org.macports.distfiles portdistfiles::distfiles_main]
+3 -124
View File
@@ -1,5 +1,4 @@
# et:ts=4
# portextract.tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
#
# Copyright (c) 2005, 2007-2011, 2013-2014, 2016, 2018 The MacPorts Project
# Copyright (c) 2002 - 2003 Apple Inc.
@@ -29,16 +28,14 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
package provide portextract 1.0
package require portutil 1.0
package require port 1.0
set org.macports.extract [target_new org.macports.extract portextract::extract_main]
target_provides ${org.macports.extract} extract
target_requires ${org.macports.extract} main fetch checksum
target_prerun ${org.macports.extract} portextract::extract_start
target_runpkg ${org.macports.extract} portextract_run
namespace eval portextract {
variable all_use_options [list use_7z use_bzip2 use_dmg use_lzip use_lzma use_tar use_xz use_zip]
@@ -54,7 +51,6 @@ commands extract
# Set up defaults
default extract.asroot no
# XXX call out to code in portutil.tcl XXX
# This cleans the distfiles list of all site tags
default extract.only {[portextract::disttagclean $distfiles]}
@@ -73,8 +69,6 @@ foreach _extract_use_option ${portextract::all_use_options} {
}
unset _extract_use_option
set_ui_prefix
# Map a given file name to a canonical extract method name
proc portextract::method_for_suffix {filename} {
switch -glob -nocase -- $filename {
@@ -314,123 +308,8 @@ proc portextract::add_extract_deps {} {
}
port::register_callback portextract::add_extract_deps
# XXX
# Helper function for portextract.tcl that strips all tag names from a list
# Helper function that strips all tag names from a list
# Used to clean ${distfiles} for setting the ${extract.only} default
proc portextract::disttagclean {list} {
return [lmap fname $list {getdistname $fname}]
}
proc portextract::extract_start {args} {
global UI_PREFIX extract.dir extract.mkdir
ui_notice "$UI_PREFIX [format [msgcat::mc "Extracting %s"] [option subport]]"
# create any users and groups needed by the port
handle_add_users
# should the distfiles be extracted to worksrcpath instead?
if {[tbool extract.mkdir]} {
global worksrcpath
ui_debug "Extracting to subdirectory worksrcdir"
file mkdir ${worksrcpath}
set extract.dir ${worksrcpath}
}
variable methods_used
if {[dict exists $methods_used dmg]} {
variable dmg_mount [mkdtemp "/tmp/mports.XXXXXXXX"]
}
}
proc portextract::extract_main {args} {
global UI_PREFIX distpath filespath extract.dir extract.only extract.methods \
extract.cmd extract.pre_args extract.post_args extract.suffix
if {![exists distfiles] && ![exists extract.only]} {
# nothing to do
return 0
}
# extract.{cmd,pre_args,post_args} options are used for distfiles
# using the method matching extract.suffix. This keeps the
# behaviour the same as it used to be for the case where all
# distfiles in extract.only use that method, which was formerly the
# only supported case.
# For files with different methods, the args are set up as per the
# defaults for the method. If custom args are needed in this case,
# a custom method should be used.
set main_method [method_for_suffix ${extract.suffix}]
foreach distfile ${extract.only} {
ui_info "$UI_PREFIX [format [msgcat::mc "Extracting %s"] $distfile]"
if {[file exists $filespath/$distfile]} {
option extract.args "'$filespath/$distfile'"
} else {
option extract.args "'[file join $distpath $distfile]'"
}
if {[dict exists ${extract.methods} $distfile]} {
set method [dict get ${extract.methods} $distfile]
} else {
set method [method_for_suffix $distfile]
}
ui_debug "Using extract method: $method"
if {$method ne $main_method} {
if {![info exists saved_options]} {
set saved_options [list ${extract.cmd} ${extract.pre_args} ${extract.post_args}]
}
# set up the args for this method
set extract.cmd [get_extract_cmd $method]
set extract.pre_args [get_extract_pre_args $method]
set extract.post_args [get_extract_post_args $method]
}
# If the MacPorts user does not have the privileges to mount a
# DMG then hdiutil will fail with this error:
# hdiutil: attach failed - Device not configured
# So elevate back to root.
if {$method eq "dmg"} {
elevateToRoot {extract dmg}
}
if {${extract.cmd} ne {}} {
# built-in method
set code [catch {command_exec extract} result]
} else {
# custom method, call it as a command
set code [catch {$method [file join $distpath $distfile]} result]
}
if {$method eq "dmg"} {
dropPrivileges
}
if {$method ne $main_method} {
lassign $saved_options extract.cmd extract.pre_args extract.post_args
}
if {$code} {
return -code error "$result"
}
chownAsRoot ${extract.dir}
}
if {[option extract.rename] && ![file exists [option worksrcpath]]} {
global workpath distname
# rename whatever directory exists in $workpath to $distname
set worksubdirs [glob -nocomplain -types d -directory $workpath *]
if {[llength $worksubdirs] == 1} {
set origpath [lindex $worksubdirs 0]
set newpath [file join $workpath $distname]
if {$newpath ne $origpath} {
ui_debug [format [msgcat::mc "extract.rename: Renaming %s -> %s"] [file tail $origpath] $distname]
move $origpath $newpath
}
} elseif {[llength $worksubdirs] == 0} {
return -code error "extract.rename: no directories exist in $workpath"
} else {
return -code error "extract.rename: multiple directories exist in ${workpath}: $worksubdirs"
}
}
return 0
}
+123
View File
@@ -0,0 +1,123 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# License: see portextract.tcl
package provide portextract_run 1.0
namespace eval portextract {
proc extract_start {args} {
global UI_PREFIX extract.dir extract.mkdir
ui_notice "$UI_PREFIX [format [msgcat::mc "Extracting %s"] [option subport]]"
# create any users and groups needed by the port
handle_add_users
# should the distfiles be extracted to worksrcpath instead?
if {[tbool extract.mkdir]} {
global worksrcpath
ui_debug "Extracting to subdirectory worksrcdir"
file mkdir ${worksrcpath}
set extract.dir ${worksrcpath}
}
variable methods_used
if {[dict exists $methods_used dmg]} {
variable dmg_mount [mkdtemp "/tmp/mports.XXXXXXXX"]
}
}
proc extract_main {args} {
global UI_PREFIX distpath filespath extract.dir extract.only extract.methods \
extract.cmd extract.pre_args extract.post_args extract.suffix
if {![exists distfiles] && ![exists extract.only]} {
# nothing to do
return 0
}
# extract.{cmd,pre_args,post_args} options are used for distfiles
# using the method matching extract.suffix. This keeps the
# behaviour the same as it used to be for the case where all
# distfiles in extract.only use that method, which was formerly the
# only supported case.
# For files with different methods, the args are set up as per the
# defaults for the method. If custom args are needed in this case,
# a custom method should be used.
set main_method [method_for_suffix ${extract.suffix}]
foreach distfile ${extract.only} {
ui_info "$UI_PREFIX [format [msgcat::mc "Extracting %s"] $distfile]"
if {[file exists $filespath/$distfile]} {
option extract.args "'$filespath/$distfile'"
} else {
option extract.args "'[file join $distpath $distfile]'"
}
if {[dict exists ${extract.methods} $distfile]} {
set method [dict get ${extract.methods} $distfile]
} else {
set method [method_for_suffix $distfile]
}
ui_debug "Using extract method: $method"
if {$method ne $main_method} {
if {![info exists saved_options]} {
set saved_options [list ${extract.cmd} ${extract.pre_args} ${extract.post_args}]
}
# set up the args for this method
set extract.cmd [get_extract_cmd $method]
set extract.pre_args [get_extract_pre_args $method]
set extract.post_args [get_extract_post_args $method]
}
# If the MacPorts user does not have the privileges to mount a
# DMG then hdiutil will fail with this error:
# hdiutil: attach failed - Device not configured
# So elevate back to root.
if {$method eq "dmg"} {
elevateToRoot {extract dmg}
}
if {${extract.cmd} ne {}} {
# built-in method
set code [catch {command_exec extract} result]
} else {
# custom method, call it as a command
set code [catch {$method [file join $distpath $distfile]} result]
}
if {$method eq "dmg"} {
dropPrivileges
}
if {$method ne $main_method} {
lassign $saved_options extract.cmd extract.pre_args extract.post_args
}
if {$code} {
return -code error "$result"
}
chownAsRoot ${extract.dir}
}
if {[option extract.rename] && ![file exists [option worksrcpath]]} {
global workpath distname
# rename whatever directory exists in $workpath to $distname
set worksubdirs [glob -nocomplain -types d -directory $workpath *]
if {[llength $worksubdirs] == 1} {
set origpath [lindex $worksubdirs 0]
set newpath [file join $workpath $distname]
if {$newpath ne $origpath} {
ui_debug [format [msgcat::mc "extract.rename: Renaming %s -> %s"] [file tail $origpath] $distname]
move $origpath $newpath
}
} elseif {[llength $worksubdirs] == 0} {
return -code error "extract.rename: no directories exist in $workpath"
} else {
return -code error "extract.rename: multiple directories exist in ${workpath}: $worksubdirs"
}
}
return 0
}
}
+2 -29
View File
@@ -1,33 +1,6 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
#
# Copyright (c) 2004 - 2014, 2016-2018 The MacPorts Project
# Copyright (c) 2002 - 2003 Apple Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of Apple Inc. nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# License: see portfetch_run.tcl
package provide portfetch 1.0
package require portextract 1.0

Some files were not shown because too many files have changed in this diff Show More