From c6e2efe57263fef42949fec42877ffca83c9f7c3 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 21 Dec 2020 07:27:50 -0500 Subject: Initial commit --- 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 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 +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 . + +On this system, a copy of the GNU General Public License may be found at +. 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". -- cgit v0.9.1