summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2020-12-21 07:27:50 (EST)
committer P. J. McDermott <pj@pehjota.net>2020-12-21 07:27:50 (EST)
commitc6e2efe57263fef42949fec42877ffca83c9f7c3 (patch)
treea2c7fa93139f065eb4f265c98178540bcda724da
Initial commit
-rw-r--r--.gitignore9
-rwxr-xr-xbuild1
-rw-r--r--changelog5
-rw-r--r--control3
-rw-r--r--copyright17
-rw-r--r--format1
-rw-r--r--malt-common.pkg/control8
-rw-r--r--malt-common.pkg/docs0
-rwxr-xr-xmkpkgs23
-rwxr-xr-xrelease14
-rw-r--r--substvars15
11 files changed, 96 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3019555
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+# Vim swap and other dot files
+.*
+!.gitignore
+
+# Generated packags
+lib*.pkg/
+
+# Work area
+tmp/
diff --git a/build b/build
new file mode 100755
index 0000000..b23e556
--- /dev/null
+++ b/build
@@ -0,0 +1 @@
+#!/bin/true
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..ce0e396
--- /dev/null
+++ b/changelog
@@ -0,0 +1,5 @@
+malt (1.0) trunk
+
+ * Initial release.
+
+ -- Patrick McDermott <patrick.mcdermott@libiquity.com> Mon, 21 Dec 2020 06:34:12 -0500
diff --git a/control b/control
new file mode 100644
index 0000000..ef3b219
--- /dev/null
+++ b/control
@@ -0,0 +1,3 @@
+Maintainer: Patrick McDermott <patrick.mcdermott@libiquity.com>
+Build-Depends: opkbuild (>= 4.2.0)
+Homepage: http://www.proteanos.com/dev/multiarch/
diff --git a/copyright b/copyright
new file mode 100644
index 0000000..445b3c0
--- /dev/null
+++ b/copyright
@@ -0,0 +1,17 @@
+Copyright (C) 2019, 2020 Patrick McDermott
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+On this system, a copy of the GNU General Public License may be found at
+<file:///usr/share/common-licenses/GPL-3>.
diff --git a/format b/format
new file mode 100644
index 0000000..cd5ac03
--- /dev/null
+++ b/format
@@ -0,0 +1 @@
+2.0
diff --git a/malt-common.pkg/control b/malt-common.pkg/control
new file mode 100644
index 0000000..ce6c9c9
--- /dev/null
+++ b/malt-common.pkg/control
@@ -0,0 +1,8 @@
+Architecture: all
+Platform: all
+Section: share
+Description: Multiarch library transitions - common files
+ ${Common-Description}
+ .
+ This package provides source package documentation for the multiarch library
+ transitional packages.
diff --git a/malt-common.pkg/docs b/malt-common.pkg/docs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/malt-common.pkg/docs
diff --git a/mkpkgs b/mkpkgs
new file mode 100755
index 0000000..34ef608
--- /dev/null
+++ b/mkpkgs
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -eu
+
+for pkg in libc.6; do
+ # These are installed into section "base" because these packages don't
+ # semantically belong anywhere else. They can't be installed into
+ # "lib", because opkbuild would append ":${Host-Arch}" to their names,
+ # which is exactly the problem we're trying to solve here.
+ mkdir -p "${pkg}.pkg"
+ cat 1>"${pkg}.pkg/control" 0<<-EOF
+ Architecture: any
+ Platform: all
+ Section: base
+ Depends:
+ ${pkg}:\${Host-Arch},
+ malt-common (= \${Source-Version}),
+ Description: Multiarch library transition for ${pkg}
+ \${Common-Description}
+ .
+ This is a transitional package for ${pkg}.
+ EOF
+done
diff --git a/release b/release
new file mode 100755
index 0000000..0b33aca
--- /dev/null
+++ b/release
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -eu
+
+read src ver <<-EOF
+ $(sed '1s/^\(.*\) (\(.*\)) .*$/\1 \2/; q;' changelog)
+ EOF
+
+sed '/^ -- .* /{ s/^\( -- .* \).*$/\1'"$(LC_ALL='POSIX' date \
+ '+%a, %d %b %Y %H:%M:%S %z')"'/; :l; n; b l; };' changelog >changelog~
+mv changelog~ changelog
+git commit -m "changelog: Release ${src} ${ver}" -- changelog
+ver="$(printf '%s' "${ver}" | tr '~' '.')"
+git tag "${src}/${ver}" HEAD
diff --git a/substvars b/substvars
new file mode 100644
index 0000000..56891ac
--- /dev/null
+++ b/substvars
@@ -0,0 +1,15 @@
+Common-Description:
+ ProteanOS library packages are having their host architectures appended to
+ their names, in order to allow coinstallation of different architecture builds
+ of each library for the purpose of cross-building dependent source packages.
+ For more information, see:
+ .
+ http://www.proteanos.com/dev/multiarch/
+ .
+ Renaming library packages would temporarily break the installation of all other
+ packages that depend on them, so temporary transitional packages are necessary.
+ The libraries' source packages can't build such transitional packages
+ themselves, because opkbuild automatically renames library packages and won't
+ allow two binary packages in one source package to share the same name (before
+ acrhictecture qualification). So the transitional packages are built by a
+ separate source package called "malt", or "multiarch library transitions".