macports-base - revert to d82c8c930da6c2715e748f339d1f9b9bc6cb6460 (1/30/2025)
git reset --hard d82c8c930da6c2715e748f339d1f9b9bc6cb6460

#macports-ports - revert to f66ec504038a67dc1e0667fd2158114b36ef1a4d (1/24/2025)
#git reset --hard f66ec504038a67dc1e0667fd2158114b36ef1a4d

macports-infrastructure - revert to 300f8a312d3ffe7c161967afdfda053a38739927 (9/20/2024)
git reset --hard 300f8a312d3ffe7c161967afdfda053a38739927

macports-contrib - 47ba56927a5260660a9ccc47bf49ed5c995858a2 (12/6/2025)
git reset --hard 47ba56927a5260660a9ccc47bf49ed5c995858a2
----------------
rm config/dp_version

Leftover from darwinports. deleted because we dont support legacy stuff and our version number is much less then official MacPorts, making it confusing.
----------------
macports-base/config/macports_version
1.0.0

----------------

rm config/mp_version - leftover from darwinports. deleted because we dont support legacy stuff and our version number is much less then official macports, making it confusing.
1.0.0

----------------
config/RELEASE_URL
https://github.com/alex-free/tigerports-base/releases/tag/v1.0.0

Used by mprsyncup.
----------------
macports-base/doc/macports.conf.in
# URLs that MacPorts attempts to download to find out whether a new version was
# released. Multiple values, space-separated; only one of the URLs needs to be
# available. Downloads will be attempted in the specified order.
#release_version_urls https://raw.githubusercontent.com/macports/macports-base/master/config/RELEASE_URL \
#                     https://trac.macports.org/export/HEAD/macports-base/config/RELEASE_URL \
#                     https://distfiles.macports.org/MacPorts/RELEASE_URL
# SSL too old for github.
#release_version_urls https://raw.githubusercontent.com/alex-free/tigerports-base/master/config/RELEASE_URL
release_version_urls http://tigerports.com/macports/distfiles/MacPorts/RELEASE_URL

#release_urls https://github.com/macports/macports-base/releases/download/v{version}/MacPorts-{version}.tar.bz2
# SSL too old for github
#release_urls https://github.com/alex-free/tigerports-base/releases/download/v{version}/MacPorts-{version}.tar.bz2
release_urls http://tigerports.com/macports/distfiles/MacPorts/TigerPorts-{version}.tar.bz2


#rsync_server        	rsync.macports.org
rsync_server        	tigerports.com
----------------
doc/sources.conf
#rsync://rsync.macports.org/macports/release/tarballs/ports.tar.gz [default]
#rsync://tigerports.com/macports/release/tarballs/ports.tar.gz [default]
rsync://tigerports.com/macports/release/ports/ [default]

----------------
doc/pubkeys.conf.in
@prefix_expanded@/share/macports/tigerports-pubkey.pem

Need to use tigerports-pubkey.pem instead of macports-pubkey.pem. This is generated by tigerports-infrastrucure/setup as per spec.
----------------
portmgr/rsync.repos 

[macports]
    comment = TigerPorts Infrastructure Base Namespace
    path = /var/www/html/macports
    read only = yes
    list = yes

[release]
    comment = MacPorts rsync release repository, providing the current MacPorts "released" sources and the ports tree.
    path = /var/www/html/macports/release

[trunk]
    comment = MacPorts rsync "trunk" repository, providing experimental MacPorts sources in svn's trunk/base.
    path = /var/www/html/macports/trunk

Include in rsync.conf, had to edit for linux VPS as it includes this in rsync.conf.
----------------
Mk/macports.autoconf.mk.in

# Need Linux binaries to load after install from install location rather then build dir.
ifeq (@OS_PLATFORM@,darwin)
SQLITE3_LIBS		= @TCL_BIN_DIR@/pkgs/@SQLITE3_LIBNAME@/lib@SQLITE3_LIBNAME@$(SHLIB_SUFFIX)
else
SQLITE3_LIBS		= -L@TCL_BIN_DIR@/pkgs/@SQLITE3_LIBNAME@ -l@SQLITE3_LIBNAME@ -Wl,-rpath,'$$ORIGIN/../@SQLITE3_LIBNAME@'
endif

----------------
macports-infrastructure/jobs/mprsync up was basically rewritten for a linux server

cd keys/base && signify -G -p tigerports-base-2026.pub -s tigerports-base-2026.sec
rm keys/base/macports-base-2025.pub
rm macports-pubkey.pem
----------------
tigerports-ports/_resources/port1.0/fetch/mirror_sites.tcl - add tigerports.com for valid distfiles source. Macports decides on distfile server by fastest ping. So to verify this worked I had to:

1) Run sudo port fetch ncurses to generate /opt/local/var/macports/cache/pingtimes

2) Edit cp /opt/local/var/macports/cache/pingtimes, doctor the value to 1.000 to make it think I had fastest ping: tigerports.com {1.000 1784331894}

3) Run sudo port clean --dist ncurses to remove the ncurses previously downloaded.

4) sudo port -d fetch ncurses.

tigerports-ports/_resources/port1.0/fetch/archive_sites.tcl - remove everything BUT tigerports.com because no one is hosting our binaries but us.
----------------
RELEASE
----------------
sudo port install -N docbook2X docbook-xml docbook-xsl-ns autoconf automake asciidoc openssh

Dependencies to build.
----------------
open -e tigerports-changelog.md
open -e config/macports_version
open -e config/RELEASE_URL
./autogen.sh

./standard_configure.sh
make -C doc/ clean all \
	ASCIIDOC=/opt/local/bin/asciidoc \
	XSLTPROC=/opt/local/bin/xsltproc \
        DOCBOOK_XSL=/opt/local/share/xsl/docbook-xsl-nons/manpages/docbook.xsl


Sets release version number in files.
----------------
rm configure~
git add .
git commit -m "v1.1.8"
git push
git tag v1.1.8
git push origin v1.1.8

(TAG tigerports-ports at time of release like official macports with same version).

Makefile is in gitignore and we just updated manpages/docs/everything.
----------------
make -C vendor
make dist DISTVER=1.1.8 DISTKEY=~/dev/tigerports-keys/tigerports-base-2026.sec

----------------
TEST ON LINUX POSSIBLE HERE
----------------
This needs admin group, setup script in tigerports-infrastructure sets that up. This procedure below is for manual testing since setup script and mprsyncup goes after tags, which we don't have yet because we are testing.

Tarball it.
Copy it to VPS.
Set these required envars:

# Paths we'll work on:
ROOT=/var/tmp/macports
PREFIX=${ROOT}/opt/local
GITROOT=/var/tmp/macports
TBASE=${GITROOT}/trunk/base
RBASE=${GITROOT}/release/base
PORTS=${GITROOT}/release/ports
CONTRIB=${GITROOT}/release/contrib
# RSYNCROOT=/rsync/macports
RSYNCROOT=/var/www/html/macports
#MPTOOLSPREFIX=/opt/local
#MPBIN=${MPTOOLSPREFIX}/bin

# Commands we need. For options to be substituted correctly, these must
# not be substituted within double quotes. Thus, there must not be any
# globbing characters, and the command itself must not contain spaces.

# GIT="${MPBIN}/git"
GIT="/usr/bin/git"

# RSYNC="${MPBIN}/rsync -q"
RSYNC="/usr/bin/rsync -q"
RM="/bin/rm"
MKDIR="/bin/mkdir"
#MV="${MPBIN}/gmv"
MV="/bin/mv"
LN="/bin/ln"
TAR="/bin/tar"
OPENSSL="/usr/bin/openssl"
AWK="/usr/bin/awk"
#STAT="${MPBIN}/gstat"
STAT="/usr/bin/stat"
#GZIP="${MPBIN}/gzip"
GZIP="/bin/gzip"
BASENAME="/usr/bin/basename"
TCLSH="${PREFIX}/bin/port-tclsh"
PORTINDEX="${PREFIX}/bin/portindex"
PORTINDEX2JSON="${CONTRIB}/portindex2json/portindex2json.tcl"

make distclean
./autogen.sh
./configure \
            --prefix="${PREFIX}" \
            --with-install-group="$(id -gn)" \
            --with-install-user="$(id -un)"
make 
make install
