mirror of
https://codeberg.org/Toasterson/ips.git
synced 2026-04-10 13:20:42 +00:00
Cleanup repo
This commit is contained in:
parent
bf5c8253a8
commit
2fd593ff41
80 changed files with 730 additions and 31237 deletions
1
.vscode/configurationCache.log
vendored
Normal file
1
.vscode/configurationCache.log
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"buildTargets":["all","clean","publish-all","release","test"],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}}
|
||||
9
.vscode/dryrun.log
vendored
Normal file
9
.vscode/dryrun.log
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
make --dry-run --always-make --keep-going --print-directory
|
||||
make: Entering directory '/home/toast/workspace/illumos/aurora/ips'
|
||||
rm -rf target artifacts
|
||||
|
||||
cargo build --release
|
||||
mkdir -p artifacts
|
||||
cp target/release/pkg6dev artifacts/
|
||||
make: Leaving directory '/home/toast/workspace/illumos/aurora/ips'
|
||||
|
||||
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"makefile.extensionOutputFolder": "./.vscode"
|
||||
}
|
||||
334
.vscode/targets.log
vendored
Normal file
334
.vscode/targets.log
vendored
Normal file
|
|
@ -0,0 +1,334 @@
|
|||
make all --print-data-base --no-builtin-variables --no-builtin-rules --question
|
||||
# GNU Make 4.3
|
||||
# Built for x86_64-pc-linux-gnu
|
||||
# Copyright (C) 1988-2020 Free Software Foundation, Inc.
|
||||
# License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||
# This is free software: you are free to change and redistribute it.
|
||||
# There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
|
||||
# Make data base, printed on Thu Sep 1 15:11:07 2022
|
||||
|
||||
# Variables
|
||||
|
||||
# environment
|
||||
GO111MODULE = on
|
||||
# environment
|
||||
LC_ALL = C
|
||||
# environment
|
||||
LC_NAME = de_CH.UTF-8
|
||||
# environment
|
||||
LC_NUMERIC = de_CH.UTF-8
|
||||
# environment
|
||||
VSCODE_CWD = /home/toast
|
||||
# environment
|
||||
LC_ADDRESS = de_CH.UTF-8
|
||||
# default
|
||||
MAKE_COMMAND := make
|
||||
# environment
|
||||
VSCODE_HANDLES_SIGPIPE = true
|
||||
# environment
|
||||
GOPATH = /home/toast/workspace/go
|
||||
# automatic
|
||||
@D = $(patsubst %/,%,$(dir $@))
|
||||
# environment
|
||||
VSCODE_HANDLES_UNCAUGHT_ERRORS = true
|
||||
# default
|
||||
.VARIABLES :=
|
||||
# environment
|
||||
PWD = /home/toast/workspace/illumos/aurora/ips
|
||||
# automatic
|
||||
%D = $(patsubst %/,%,$(dir $%))
|
||||
# environment
|
||||
LSCOLORS = Gxfxcxdxbxegedabagacad
|
||||
# environment
|
||||
OLDPWD = /home/toast
|
||||
# automatic
|
||||
^D = $(patsubst %/,%,$(dir $^))
|
||||
# automatic
|
||||
%F = $(notdir $%)
|
||||
# environment
|
||||
LANG = C
|
||||
# default
|
||||
.LOADED :=
|
||||
# default
|
||||
.INCLUDE_DIRS = /usr/local/include /usr/include /usr/include
|
||||
# makefile
|
||||
MAKEFLAGS = pqrR
|
||||
# makefile
|
||||
CURDIR := /home/toast/workspace/illumos/aurora/ips
|
||||
# environment
|
||||
APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = true
|
||||
# automatic
|
||||
*D = $(patsubst %/,%,$(dir $*))
|
||||
# environment
|
||||
MFLAGS = -pqrR
|
||||
# environment
|
||||
SSH_AUTH_SOCK = /run/user/1000/vscode-ssh-auth-sock-316701701
|
||||
# default
|
||||
.SHELLFLAGS := -c
|
||||
# automatic
|
||||
+D = $(patsubst %/,%,$(dir $+))
|
||||
# makefile (from 'Makefile', line 1)
|
||||
MAKEFILE_LIST := Makefile
|
||||
# automatic
|
||||
@F = $(notdir $@)
|
||||
# environment
|
||||
ZSH = /home/toast/.oh-my-zsh
|
||||
# environment
|
||||
XDG_SESSION_TYPE = tty
|
||||
# automatic
|
||||
?D = $(patsubst %/,%,$(dir $?))
|
||||
# automatic
|
||||
*F = $(notdir $*)
|
||||
# environment
|
||||
DBUS_SESSION_BUS_ADDRESS = unix:path=/run/user/1000/bus
|
||||
# automatic
|
||||
<D = $(patsubst %/,%,$(dir $<))
|
||||
# environment
|
||||
VSCODE_NLS_CONFIG = {"locale":"en","availableLanguages":{}}
|
||||
# environment
|
||||
ANDROID_SDK_ROOT = /home/toast/Android/Sdk
|
||||
# default
|
||||
MAKE_HOST := x86_64-pc-linux-gnu
|
||||
# environment
|
||||
ANDROID_HOME = /home/toast/Android/Sdk
|
||||
# makefile
|
||||
SHELL = /bin/sh
|
||||
# default
|
||||
MAKECMDGOALS := all
|
||||
# environment
|
||||
QT_QPA_PLATFORM = xcb
|
||||
# environment
|
||||
SHLVL = 1
|
||||
# environment
|
||||
MAKELEVEL := 0
|
||||
# default
|
||||
MAKE = $(MAKE_COMMAND)
|
||||
# environment
|
||||
PATH = /home/toast/.vscode-server/bin/e4503b30fc78200f846c62cf8091b76ff5547662/bin/remote-cli:/home/toast/.krew/bin:/home/toast/bin:/home/toast/workspace/go/bin:/home/toast/.cargo/bin:/home/toast/.vim/bin:/home/toast/bin:/home/toast/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/toast/Android/Sdk/emulator:/home/toast/Android/Sdk/tools:/home/toast/Android/Sdk/tools/bin:/home/toast/Android/Sdk/platform-tools:/home/toast/.arkade/bin/:/home/toast/.emacs.d/bin
|
||||
# default
|
||||
MAKEFILES :=
|
||||
# environment
|
||||
MOTD_SHOWN = pam
|
||||
# environment
|
||||
LC_MONETARY = de_CH.UTF-8
|
||||
# automatic
|
||||
^F = $(notdir $^)
|
||||
# environment
|
||||
LC_TIME = de_CH.UTF-8
|
||||
# environment
|
||||
GOBIN = /home/toast/workspace/go/bin
|
||||
# environment
|
||||
SSH_CLIENT = 100.85.127.110 58934 22
|
||||
# environment
|
||||
LC_TELEPHONE = de_CH.UTF-8
|
||||
# automatic
|
||||
?F = $(notdir $?)
|
||||
# environment
|
||||
LS_COLORS =
|
||||
# automatic
|
||||
+F = $(notdir $+)
|
||||
# environment
|
||||
LESS = -R
|
||||
# 'override' directive
|
||||
GNUMAKEFLAGS :=
|
||||
# environment
|
||||
BROWSER = /home/toast/.vscode-server/bin/e4503b30fc78200f846c62cf8091b76ff5547662/bin/helpers/browser.sh
|
||||
# environment
|
||||
SSH_KEY_PATH = ~/.ssh/id_rsa
|
||||
# environment
|
||||
LOGNAME = toast
|
||||
# makefile
|
||||
.DEFAULT_GOAL := all
|
||||
# environment
|
||||
EDITOR = vim
|
||||
# environment
|
||||
USER = toast
|
||||
# default
|
||||
MAKE_VERSION := 4.3
|
||||
# environment
|
||||
LC_MEASUREMENT = de_CH.UTF-8
|
||||
# environment
|
||||
SSH_AGENT_PID = 4552
|
||||
# environment
|
||||
PAGER = less
|
||||
# environment
|
||||
VSCODE_AGENT_FOLDER = /home/toast/.vscode-server
|
||||
# environment
|
||||
_ = /home/toast/.vscode-server/bin/e4503b30fc78200f846c62cf8091b76ff5547662/node
|
||||
# environment
|
||||
LC_PAPER = de_CH.UTF-8
|
||||
# environment
|
||||
XDG_RUNTIME_DIR = /run/user/1000
|
||||
# environment
|
||||
VSCODE_IPC_HOOK_CLI = /run/user/1000/vscode-ipc-ee029a89-cf7d-4f9c-850d-175e32feba2a.sock
|
||||
# environment
|
||||
XDG_SESSION_CLASS = user
|
||||
# environment
|
||||
VSCODE_AMD_ENTRYPOINT = vs/workbench/api/node/extensionHostProcess
|
||||
# environment
|
||||
HOME = /home/toast
|
||||
# environment
|
||||
ELECTRON_RUN_AS_NODE = 1
|
||||
# environment
|
||||
XDG_SESSION_ID = 536
|
||||
# default
|
||||
.RECIPEPREFIX :=
|
||||
# automatic
|
||||
<F = $(notdir $<)
|
||||
# default
|
||||
SUFFIXES :=
|
||||
# default
|
||||
.FEATURES := target-specific order-only second-expansion else-if shortest-stem undefine oneshell nocomment grouped-target extra-prereqs archives jobserver output-sync check-symlink load
|
||||
# environment
|
||||
LC_IDENTIFICATION = de_CH.UTF-8
|
||||
# environment
|
||||
SSH_CONNECTION = 100.85.127.110 58934 100.74.144.68 22
|
||||
# variable set hash-table stats:
|
||||
# Load=87/1024=8%, Rehash=0, Collisions=5/121=4%
|
||||
|
||||
# Pattern-specific Variable Values
|
||||
|
||||
publish.% :
|
||||
# makefile (from 'Makefile', line 19)
|
||||
# CRATE := $$*
|
||||
|
||||
# 1 pattern-specific variable values
|
||||
# Directories
|
||||
|
||||
# . (device 64769, inode 132376): 23 files, no impossibilities.
|
||||
|
||||
# 23 files, no impossibilities in 1 directories.
|
||||
|
||||
# Implicit Rules
|
||||
|
||||
publish.%:
|
||||
# recipe to execute (from 'Makefile', line 21):
|
||||
cd $(CRATE); cargo publish
|
||||
|
||||
# 1 implicit rules, 0 (0.0%) terminal.
|
||||
# Files
|
||||
|
||||
# Not a target:
|
||||
publish.userland:
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
# Not a target:
|
||||
Makefile:
|
||||
# Implicit rule search has been done.
|
||||
# Last modified 2021-05-01 16:21:48.234604484
|
||||
# File has been updated.
|
||||
# Successfully updated.
|
||||
|
||||
clean:
|
||||
# Phony target (prerequisite of .PHONY).
|
||||
# Implicit rule search has not been done.
|
||||
# Implicit/static pattern stem: ''
|
||||
# File does not exist.
|
||||
# File has been updated.
|
||||
# Needs to be updated (-q is set).
|
||||
# automatic
|
||||
# @ := clean
|
||||
# automatic
|
||||
# * :=
|
||||
# automatic
|
||||
# < :=
|
||||
# automatic
|
||||
# + :=
|
||||
# automatic
|
||||
# % :=
|
||||
# automatic
|
||||
# ^ :=
|
||||
# automatic
|
||||
# ? :=
|
||||
# automatic
|
||||
# | :=
|
||||
# variable set hash-table stats:
|
||||
# Load=8/32=25%, Rehash=0, Collisions=1/11=9%
|
||||
# recipe to execute (from 'Makefile', line 10):
|
||||
rm -rf target artifacts
|
||||
|
||||
# Not a target:
|
||||
publish.pkg6dev:
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
# Not a target:
|
||||
.DEFAULT:
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
all: clean release
|
||||
# Phony target (prerequisite of .PHONY).
|
||||
# Command line target.
|
||||
# Implicit rule search has not been done.
|
||||
# File does not exist.
|
||||
# File has been updated.
|
||||
# Needs to be updated (-q is set).
|
||||
# variable set hash-table stats:
|
||||
# Load=0/32=0%, Rehash=0, Collisions=0/3=0%
|
||||
|
||||
# Not a target:
|
||||
publish.libips:
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
test:
|
||||
# Phony target (prerequisite of .PHONY).
|
||||
|
||||
# Implicit rule search has not been done.
|
||||
# File does not exist.
|
||||
# File has not been updated.
|
||||
# recipe to execute (from 'Makefile', line 7):
|
||||
cargo test
|
||||
|
||||
publish-all: publish.libips publish.userland publish.pkg6dev
|
||||
# Phony target (prerequisite of .PHONY).
|
||||
# Implicit rule search has not been done.
|
||||
# File does not exist.
|
||||
# File has not been updated.
|
||||
|
||||
release:
|
||||
# Phony target (prerequisite of .PHONY).
|
||||
# Implicit rule search has not been done.
|
||||
# File does not exist.
|
||||
# File has not been updated.
|
||||
# recipe to execute (from 'Makefile', line 13):
|
||||
cargo build --release
|
||||
mkdir -p artifacts
|
||||
cp target/release/pkg6dev artifacts/
|
||||
|
||||
# Not a target:
|
||||
.SUFFIXES:
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
.PHONY: all release test clean publish-all
|
||||
# Implicit rule search has not been done.
|
||||
# Modification time never checked.
|
||||
# File has not been updated.
|
||||
|
||||
# files hash-table stats:
|
||||
# Load=12/1024=1%, Rehash=0, Collisions=0/38=0%
|
||||
# VPATH Search Paths
|
||||
|
||||
# No 'vpath' search paths.
|
||||
|
||||
# No general ('VPATH' variable) search path.
|
||||
|
||||
# strcache buffers: 1 (0) / strings = 37 / storage = 350 B / avg = 9 B
|
||||
# current buf: size = 8162 B / used = 350 B / count = 37 / avg = 9 B
|
||||
|
||||
# strcache performance: lookups = 57 / hit rate = 35%
|
||||
# hash-table stats:
|
||||
# Load=37/8192=0%, Rehash=0, Collisions=0/57=0%
|
||||
# Finished Make data base on Thu Sep 1 15:11:07 2022
|
||||
|
||||
|
||||
67
Cargo.lock
generated
67
Cargo.lock
generated
|
|
@ -19,9 +19,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.56"
|
||||
version = "1.0.63"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
|
||||
checksum = "a26fa4d7e3f2eebadf743988fc8aec9fa9a9e82611acafd77c1462ed6262440a"
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
|
|
@ -127,16 +127,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "3.1.6"
|
||||
version = "3.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123"
|
||||
checksum = "a3dbbb6653e7c55cc8595ad3e1f7be8f32aba4eb7ff7f0fd1163d4f3d137c0a9"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"bitflags",
|
||||
"clap_derive",
|
||||
"clap_lex",
|
||||
"indexmap",
|
||||
"lazy_static",
|
||||
"os_str_bytes",
|
||||
"once_cell",
|
||||
"strsim",
|
||||
"termcolor",
|
||||
"textwrap",
|
||||
|
|
@ -144,9 +144,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "3.1.4"
|
||||
version = "3.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16"
|
||||
checksum = "9ba52acd3b0a5c33aeada5cdaa3267cdc7c594a98731d4268cdc1532f4264cb4"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro-error",
|
||||
|
|
@ -155,6 +155,15 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
|
||||
dependencies = [
|
||||
"os_str_bytes",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation"
|
||||
version = "0.9.1"
|
||||
|
|
@ -682,9 +691,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.7.2"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
|
||||
checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
|
||||
|
||||
[[package]]
|
||||
name = "opaque-debug"
|
||||
|
|
@ -718,6 +727,15 @@ version = "0.1.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-src"
|
||||
version = "111.22.0+1.1.1q"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.61"
|
||||
|
|
@ -727,6 +745,7 @@ dependencies = [
|
|||
"autocfg",
|
||||
"cc",
|
||||
"libc",
|
||||
"openssl-src",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
|
@ -736,9 +755,6 @@ name = "os_str_bytes"
|
|||
version = "6.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
|
|
@ -1078,21 +1094,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "0.11.0"
|
||||
version = "1.0.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
|
||||
dependencies = [
|
||||
"semver-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver-parser"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
|
||||
dependencies = [
|
||||
"pest",
|
||||
]
|
||||
checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
|
|
@ -1415,14 +1419,15 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
|
|||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.2.1"
|
||||
version = "2.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
|
||||
checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"idna",
|
||||
"matches",
|
||||
"percent-encoding",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1431,7 +1436,8 @@ version = "0.1.1"
|
|||
dependencies = [
|
||||
"anyhow",
|
||||
"lazy_static",
|
||||
"maplit 0.1.6",
|
||||
"maplit 1.0.2",
|
||||
"openssl",
|
||||
"pest",
|
||||
"pest_derive",
|
||||
"regex",
|
||||
|
|
@ -1440,6 +1446,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
8
missing.p5m
Normal file
8
missing.p5m
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
file path=usr/gcc/11/bin/gcc-ar
|
||||
file path=usr/gcc/11/bin/$(GNU_TRIPLET)-c++
|
||||
file path=usr/gcc/11/bin/$(GNU_TRIPLET)-gcc-$(COMPONENT_VERSION)
|
||||
file path=usr/gcc/11/bin/$(GNU_TRIPLET)-gcc-nm
|
||||
file path=usr/gcc/11/bin/$(GNU_TRIPLET)-gcc-ranlib
|
||||
file path=usr/gcc/11/bin/$(GNU_TRIPLET)-gfortran
|
||||
file path=usr/gcc/11/lib/gcc/$(GNU_TRIPLET)/$(COMPONENT_VERSION)/include/mwaitintrin.h
|
||||
file path=usr/gcc/11/share/info/dir
|
||||
|
|
@ -14,5 +14,5 @@ keywords = ["packaging", "illumos"]
|
|||
[dependencies]
|
||||
libips = {path = "../libips", version = "0.1.1"}
|
||||
userland = {path = "../userland", version = "0.1.1"}
|
||||
anyhow = "1.0.56"
|
||||
clap = {version = "3.1.6", features = [ "derive" ] }
|
||||
anyhow = "1.0.59"
|
||||
clap = {version = "3.2.16", features = [ "derive" ] }
|
||||
|
|
@ -1,27 +1,34 @@
|
|||
use clap::{Parser, Subcommand};
|
||||
use libips::actions::{File, Manifest};
|
||||
|
||||
use anyhow::Result;
|
||||
use anyhow::{Result};
|
||||
use std::collections::HashMap;
|
||||
use std::fs::{read_dir};
|
||||
use std::path::Path;
|
||||
use userland::Makefile;
|
||||
use userland::repology::{find_newest_version};
|
||||
use std::fs::{read_dir, OpenOptions};
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use userland::repology::find_newest_version;
|
||||
use userland::{Makefile, Component};
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[clap(author, version, about, long_about = None)]
|
||||
#[clap(propagate_version = true)]
|
||||
struct App {
|
||||
#[clap(subcommand)]
|
||||
command: Commands
|
||||
command: Commands,
|
||||
}
|
||||
|
||||
#[derive(Subcommand, Debug)]
|
||||
enum Commands {
|
||||
DiffComponent{
|
||||
DiffComponent {
|
||||
component: String,
|
||||
#[clap(short)]
|
||||
replacements: Option<Vec<String>>,
|
||||
|
||||
/// Place the file actions missing in the manifests but present in sample-manifest into this file
|
||||
#[clap(short = 'm')]
|
||||
output_manifest: Option<PathBuf>,
|
||||
},
|
||||
ShowComponent{
|
||||
ShowComponent {
|
||||
component: String,
|
||||
},
|
||||
}
|
||||
|
|
@ -30,43 +37,101 @@ fn main() -> Result<()> {
|
|||
let cli = App::parse();
|
||||
|
||||
match &cli.command {
|
||||
Commands::ShowComponent{ component } => {
|
||||
show_component_info(component)
|
||||
}
|
||||
Commands::DiffComponent{component} => {
|
||||
diff_component(component)
|
||||
}
|
||||
Commands::ShowComponent { component } => show_component_info(component),
|
||||
Commands::DiffComponent {
|
||||
component,
|
||||
replacements,
|
||||
output_manifest,
|
||||
} => diff_component(component, replacements, output_manifest),
|
||||
}
|
||||
}
|
||||
|
||||
fn diff_component(component_path: impl AsRef<Path>) -> Result<()> {
|
||||
fn parse_tripplet_replacements(replacements: &Vec<String>) -> HashMap<String, String> {
|
||||
let mut map = HashMap::new();
|
||||
for pair in replacements
|
||||
.into_iter()
|
||||
.map(|str| {
|
||||
str.split_once(":")
|
||||
.map(|s| (s.0.to_owned(), s.1.to_owned()))
|
||||
.unwrap_or((String::new(), String::new()))
|
||||
})
|
||||
.collect::<Vec<(String, String)>>()
|
||||
{
|
||||
map.insert(pair.0, pair.1);
|
||||
}
|
||||
|
||||
map
|
||||
}
|
||||
|
||||
fn diff_component(
|
||||
component_path: impl AsRef<Path>,
|
||||
replacements: &Option<Vec<String>>,
|
||||
output_manifest: &Option<PathBuf>,
|
||||
) -> Result<()> {
|
||||
let replacements = if let Some(replacements) = replacements {
|
||||
let map = parse_tripplet_replacements(replacements);
|
||||
Some(map)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let files = read_dir(&component_path)?;
|
||||
|
||||
let manifest_files: Vec<String> = files
|
||||
.filter_map(std::result::Result::ok)
|
||||
.filter(|d| if let Some(e) = d.path().extension() { e == "p5m" } else {false})
|
||||
.map(|e| e.path().into_os_string().into_string().unwrap()).collect();
|
||||
.filter(|d| {
|
||||
if let Some(e) = d.path().extension() {
|
||||
e == "p5m"
|
||||
} else {
|
||||
false
|
||||
}
|
||||
})
|
||||
.map(|e| e.path().into_os_string().into_string().unwrap())
|
||||
.collect();
|
||||
|
||||
let sample_manifest_file = &component_path.as_ref().join("/manifests/sample-manifest.p5m");
|
||||
let sample_manifest_file = &component_path
|
||||
.as_ref()
|
||||
.join("manifests/sample-manifest.p5m");
|
||||
|
||||
let manifests_res: Result<Vec<Manifest>> = manifest_files.iter().map(|f|{
|
||||
Manifest::parse_file(f.to_string())
|
||||
}).collect();
|
||||
let manifests_res: Result<Vec<Manifest>> = manifest_files
|
||||
.iter()
|
||||
.map(|f| Manifest::parse_file(f.to_string()))
|
||||
.collect();
|
||||
|
||||
let sample_manifest = Manifest::parse_file(sample_manifest_file)?;
|
||||
|
||||
let manifests: Vec<Manifest> = manifests_res.unwrap();
|
||||
|
||||
let missing_files = find_files_missing_in_manifests(&sample_manifest, manifests.clone())?;
|
||||
let missing_files =
|
||||
find_files_missing_in_manifests(&sample_manifest, manifests.clone(), &replacements)?;
|
||||
|
||||
for f in missing_files {
|
||||
for f in missing_files.clone() {
|
||||
println!("file {} is missing in the manifests", f.path);
|
||||
}
|
||||
|
||||
let removed_files = find_removed_files(&sample_manifest, manifests.clone(), &component_path)?;
|
||||
let removed_files = find_removed_files(
|
||||
&sample_manifest,
|
||||
manifests.clone(),
|
||||
&component_path,
|
||||
&replacements,
|
||||
)?;
|
||||
|
||||
for f in removed_files {
|
||||
println!("file path={} has been removed from the sample-manifest", f.path);
|
||||
println!(
|
||||
"file path={} has been removed from the sample-manifest",
|
||||
f.path
|
||||
);
|
||||
}
|
||||
|
||||
if let Some(output_manifest) = output_manifest {
|
||||
let mut f = OpenOptions::new()
|
||||
.write(true)
|
||||
.truncate(true)
|
||||
.create(true)
|
||||
.open(output_manifest)?;
|
||||
for action in missing_files {
|
||||
writeln!(&mut f, "file path={}", action.path)?;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
|
@ -80,9 +145,12 @@ fn show_component_info<P: AsRef<Path>>(component_path: P) -> Result<()> {
|
|||
|
||||
let mut name = String::new();
|
||||
|
||||
let component = Component::new_from_makefile(&makefile)?;
|
||||
|
||||
if let Some(var) = makefile.get("COMPONENT_NAME") {
|
||||
println!("Name: {}", var.replace("\n", "\n\t"));
|
||||
if let Some(component_name) = makefile.get_first_value_of_variable_by_name("COMPONENT_NAME") {
|
||||
if let Some(component_name) = makefile.get_first_value_of_variable_by_name("COMPONENT_NAME")
|
||||
{
|
||||
name = component_name.clone();
|
||||
}
|
||||
}
|
||||
|
|
@ -93,7 +161,10 @@ fn show_component_info<P: AsRef<Path>>(component_path: P) -> Result<()> {
|
|||
if latest_version.is_ok() {
|
||||
println!("Latest Version: {}", latest_version?);
|
||||
} else {
|
||||
println!("Error: Could not get latest version info: {:?}", latest_version.unwrap_err())
|
||||
println!(
|
||||
"Error: Could not get latest version info: {:?}",
|
||||
latest_version.unwrap_err()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -117,14 +188,6 @@ fn show_component_info<P: AsRef<Path>>(component_path: P) -> Result<()> {
|
|||
println!("Source Archive File Hash: {}", var.replace("\n", "\n\t"));
|
||||
}
|
||||
|
||||
if let Some(var) = makefile.get("CONFIGURE_ENV") {
|
||||
println!("Configure Environment: {}", var.replace("\n", "\n\t"));
|
||||
}
|
||||
|
||||
if let Some(var) = makefile.get("CONFIGURE_OPTIONS") {
|
||||
println!("./configure {}", var.replace("\n", "\n\t"));
|
||||
}
|
||||
|
||||
if let Some(var) = makefile.get("REQUIRED_PACKAGES") {
|
||||
println!("Dependencies:\n\t{}", var.replace("\n", "\n\t"));
|
||||
}
|
||||
|
|
@ -133,27 +196,38 @@ fn show_component_info<P: AsRef<Path>>(component_path: P) -> Result<()> {
|
|||
println!("Install Action:\n\t{}", var);
|
||||
}
|
||||
|
||||
println!("Component: {:?}", component);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// Show all files that have been removed in the sample-manifest
|
||||
fn find_removed_files<P: AsRef<Path>>(sample_manifest: &Manifest, manifests: Vec<Manifest>, component_path: P) -> Result<Vec<File>> {
|
||||
fn find_removed_files<P: AsRef<Path>>(
|
||||
sample_manifest: &Manifest,
|
||||
manifests: Vec<Manifest>,
|
||||
component_path: P,
|
||||
replacements: &Option<HashMap<String, String>>,
|
||||
) -> Result<Vec<File>> {
|
||||
let f_map = make_file_map(sample_manifest.files.clone());
|
||||
let all_files: Vec<File> = manifests.iter().map(|m| m.files.clone()).flatten().collect();
|
||||
let all_files: Vec<File> = manifests
|
||||
.iter()
|
||||
.map(|m| m.files.clone())
|
||||
.flatten()
|
||||
.collect();
|
||||
|
||||
let mut removed_files: Vec<File> = Vec::new();
|
||||
|
||||
for f in all_files {
|
||||
match f.get_original_path() {
|
||||
Some(path) => {
|
||||
if !f_map.contains_key(path.as_str()) {
|
||||
if !f_map.contains_key(replace_func(path.clone(), replacements).as_str()) {
|
||||
if !component_path.as_ref().join(path).exists() {
|
||||
removed_files.push(f)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
None => {
|
||||
if !f_map.contains_key(f.path.as_str()) {
|
||||
if !f_map.contains_key(replace_func(f.path.clone(), replacements).as_str()) {
|
||||
removed_files.push(f)
|
||||
}
|
||||
}
|
||||
|
|
@ -164,8 +238,16 @@ fn find_removed_files<P: AsRef<Path>>(sample_manifest: &Manifest, manifests: Vec
|
|||
}
|
||||
|
||||
// Show all files missing in the manifests that are in sample_manifest
|
||||
fn find_files_missing_in_manifests(sample_manifest: &Manifest, manifests: Vec<Manifest>) -> Result<Vec<File>> {
|
||||
let all_files: Vec<File> = manifests.iter().map(|m| m.files.clone()).flatten().collect();
|
||||
fn find_files_missing_in_manifests(
|
||||
sample_manifest: &Manifest,
|
||||
manifests: Vec<Manifest>,
|
||||
replacements: &Option<HashMap<String, String>>,
|
||||
) -> Result<Vec<File>> {
|
||||
let all_files: Vec<File> = manifests
|
||||
.iter()
|
||||
.map(|m| m.files.clone())
|
||||
.flatten()
|
||||
.collect();
|
||||
let f_map = make_file_map(all_files);
|
||||
|
||||
let mut missing_files: Vec<File> = Vec::new();
|
||||
|
|
@ -173,12 +255,12 @@ fn find_files_missing_in_manifests(sample_manifest: &Manifest, manifests: Vec<Ma
|
|||
for f in sample_manifest.files.clone() {
|
||||
match f.get_original_path() {
|
||||
Some(path) => {
|
||||
if !f_map.contains_key(path.as_str()) {
|
||||
if !f_map.contains_key(replace_func(path, replacements).as_str()) {
|
||||
missing_files.push(f)
|
||||
}
|
||||
},
|
||||
}
|
||||
None => {
|
||||
if !f_map.contains_key(f.path.as_str()) {
|
||||
if !f_map.contains_key(replace_func(f.path.clone(), replacements).as_str()) {
|
||||
missing_files.push(f)
|
||||
}
|
||||
}
|
||||
|
|
@ -188,12 +270,32 @@ fn find_files_missing_in_manifests(sample_manifest: &Manifest, manifests: Vec<Ma
|
|||
Ok(missing_files)
|
||||
}
|
||||
|
||||
fn make_file_map(files: Vec<File>) -> HashMap<String, File> {
|
||||
files.iter().map(|f| {
|
||||
let orig_path_opt = f.get_original_path();
|
||||
if orig_path_opt == None {
|
||||
return (f.path.clone(), f.clone());
|
||||
fn replace_func(orig: String, replacements: &Option<HashMap<String, String>>) -> String {
|
||||
if let Some(replacements) = replacements {
|
||||
let mut replacement = orig.clone();
|
||||
for (i, (from, to)) in replacements.into_iter().enumerate() {
|
||||
let from: &str = &format!("$({})", from);
|
||||
if i == 0 {
|
||||
replacement = orig.replace(from, to);
|
||||
} else {
|
||||
replacement = replacement.replace(from, to);
|
||||
}
|
||||
}
|
||||
(orig_path_opt.unwrap(), f.clone())
|
||||
}).collect()
|
||||
replacement
|
||||
} else {
|
||||
orig
|
||||
}
|
||||
}
|
||||
|
||||
fn make_file_map(files: Vec<File>) -> HashMap<String, File> {
|
||||
files
|
||||
.iter()
|
||||
.map(|f| {
|
||||
let orig_path_opt = f.get_original_path();
|
||||
if orig_path_opt == None {
|
||||
return (f.path.clone(), f.clone());
|
||||
}
|
||||
(orig_path_opt.unwrap(), f.clone())
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,121 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2021 Till Wegmueller
|
||||
#
|
||||
|
||||
include ../../../make-rules/shared-macros.mk
|
||||
|
||||
PATCH_EACH_ARCHIVE= 1
|
||||
|
||||
COMPONENT_NAME= golang
|
||||
COMPONENT_MAJOR_VERSION= 1.16
|
||||
COMPONENT_VERSION= $(COMPONENT_MAJOR_VERSION).3
|
||||
COMPONENT_FMRI= developer/golang
|
||||
COMPONENT_CLASSIFICATION= Development/Other Languages
|
||||
COMPONENT_SUMMARY= The Go Programming Language
|
||||
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
||||
COMPONENT_PROJECT_URL= https://golang.org/
|
||||
COMPONENT_ARCHIVE= go$(COMPONENT_VERSION).src.tar.gz
|
||||
COMPONENT_ARCHIVE_URL= https://storage.googleapis.com/golang/$(COMPONENT_ARCHIVE)
|
||||
COMPONENT_ARCHIVE_HASH= sha256:b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25
|
||||
COMPONENT_LICENSE= BSD-style, Patent Grant
|
||||
COMPONENT_LICENSE_FILE= $(COMPONENT_NAME).license
|
||||
MEDIATEDUSRSHAREMAN1DIR= $(PROTO_DIR)/usr/share/golang/$(COMPONENT_MAJOR_VERSION)/man/man1
|
||||
|
||||
# Go has a number of supplementary tools and packages that are located in
|
||||
# separate archives or source repositories. Because Go currently forces a
|
||||
# recompile of all packages whenever the compiler changes, building and
|
||||
# delivering them within the same build component build process is the best
|
||||
# option for now.
|
||||
|
||||
# Bake in where Go package will be installed.
|
||||
GOROOT_FINAL= /usr/lib/golang/$(COMPONENT_MAJOR_VERSION)
|
||||
# Enable easier stack unwinding for debugging.
|
||||
GOEXPERIMENT=
|
||||
COMPONENT_BUILD_ENV += GOROOT_FINAL="$(GOROOT_FINAL)"
|
||||
COMPONENT_BUILD_ENV += GOEXPERIMENT="$(GOEXPERIMENT)"
|
||||
COMPONENT_BUILD_ENV += GOOS="illumos"
|
||||
COMPONENT_BUILD_ENV += GOCACHE="$(SOURCE_DIR)/gocache"
|
||||
COMPONENT_BUILD_ENV += GOPATH="$(SOURCE_DIR)/gopath"
|
||||
COMPONENT_BUILD_ENV += \
|
||||
GOROOT_BOOTSTRAP="/usr/lib/golang/$(COMPONENT_MAJOR_VERSION)"
|
||||
|
||||
# For convenience during installation of supplementary packages.
|
||||
COMPONENT_INSTALL_ENV += PATH="$(PROTO_DIR)$(GOROOT_FINAL)/bin:$(PATH)"
|
||||
COMPONENT_INSTALL_ENV += GOROOT="$(PROTO_DIR)$(GOROOT_FINAL)"
|
||||
COMPONENT_INSTALL_ENV += GOCACHE="$(SOURCE_DIR)/gocache"
|
||||
COMPONENT_INSTALL_ENV += GOPATH="$(SOURCE_DIR)/gopath"
|
||||
|
||||
BUILD_BITS= 64
|
||||
BUILD_STYLE= justmake
|
||||
|
||||
include $(WS_MAKE_RULES)/common.mk
|
||||
|
||||
# We have to fiddle with the package archives to get them into the same source
|
||||
# directory so that we can use the standard build targets. We're effectively
|
||||
# building multiple components using a single target.
|
||||
COMPONENT_POST_UNPACK_ACTION= \
|
||||
$(MV) go $(COMPONENT_SRC)
|
||||
|
||||
# Go doesn't have a standard Makefile-based build process, so override the
|
||||
# default.
|
||||
COMPONENT_BUILD_ACTION= \
|
||||
cd $(@D)/src; $(ENV) $(COMPONENT_BUILD_ENV) ./make.bash
|
||||
|
||||
COMPONENT_TARGET_DIR= \
|
||||
$(PROTOUSRLIBDIR)/$(COMPONENT_NAME)/$(COMPONENT_MAJOR_VERSION)
|
||||
|
||||
# We can't do any ASLR'ing as the Go 6l linker has no understanding of the
|
||||
# -z aslr=... option. So just override where needed in the .p5m files.
|
||||
ASLR_MODE = $(ASLR_DISABLE)
|
||||
|
||||
COMPONENT_TEST_ENV += PATH="$(@D)/bin:$(PATH)"
|
||||
COMPONENT_TEST_ENV += GOROOT="$(@D)"
|
||||
COMPONENT_TEST_DIR= $(@D)/src
|
||||
COMPONENT_TEST_CMD= ./run.bash
|
||||
COMPONENT_TEST_TARGETS=
|
||||
|
||||
# Use this Command to copy the Go Source tree into the proto area. In order to deliver the Go SDK under GOROOT
|
||||
# Additionally nuke all the funky binary files used for test suites. They keep bothering the packaging tools
|
||||
define COMPONENT_INSTALL_ACTION=
|
||||
($(MKDIR) $(COMPONENT_TARGET_DIR)/src); \
|
||||
(cd $(SOURCE_DIR) && \
|
||||
/usr/gnu/bin/find . -maxdepth 1 -path "./$(COMPONENT_SRC_NAME)" \
|
||||
-prune -o \( ! -iname ".*" \) -print \
|
||||
-exec /usr/gnu/bin/cp -r \
|
||||
--parents {} $(COMPONENT_TARGET_DIR) \;); \
|
||||
(cd $(BUILD_DIR_64) && \
|
||||
/usr/gnu/bin/find src -type f \
|
||||
-exec /usr/gnu/bin/cp --parents {} $(COMPONENT_TARGET_DIR) \;); \
|
||||
(cd $(BUILD_DIR_64) && $(CP) -r bin $(COMPONENT_TARGET_DIR)/); \
|
||||
(cd $(BUILD_DIR_64) && $(CP) -r pkg $(COMPONENT_TARGET_DIR)/); \
|
||||
(rm -r $(COMPONENT_TARGET_DIR)/pkg/obj); \
|
||||
($(MKDIR) -p $(MEDIATEDUSRSHAREMAN1DIR)); \
|
||||
/usr/gnu/bin/find $(COMPONENT_TARGET_DIR)/src -type f \
|
||||
| egrep -v '\.go|\.s|\.bash|\.txt|\.c|\.tmpl|\.h|\.pl|\.md|\.S|\.py|\.dist|\.rc|\.bat|README|Makefile|\.awk|\.rules|\.mod|\.json|LICENSE|PATENTS'\
|
||||
| xargs rm;
|
||||
endef
|
||||
|
||||
REQUIRED_PACKAGES += developer/golang-115
|
||||
# Auto-generated dependencies
|
||||
REQUIRED_PACKAGES += system/library
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,27 +0,0 @@
|
|||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* 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.
|
||||
* Neither the name of Google 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.
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2021 Till Wegmueller
|
||||
#
|
||||
|
||||
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
|
||||
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
|
||||
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
|
||||
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
|
||||
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
|
||||
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
|
||||
|
||||
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
|
||||
|
||||
depend type=require fmri=developer/golang-116
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +0,0 @@
|
|||
diff -ruN golang-1.9.orig/src/runtime/runtime-gdb_test.go golang-1.9/src/runtime/runtime-gdb_test.go
|
||||
--- golang-1.9.orig/src/runtime/runtime-gdb_test.go 2017-08-24 14:50:31.000000000 -0700
|
||||
+++ golang-1.9/src/runtime/runtime-gdb_test.go 2017-08-27 08:46:28.054298530 -0700
|
||||
@@ -60,7 +60,7 @@
|
||||
t.Skip("skipping gdb python tests on solaris; see golang.org/issue/20821")
|
||||
}
|
||||
|
||||
- cmd := exec.Command("gdb", "-nx", "-q", "--batch", "-iex", "python import sys; print('go gdb python support')")
|
||||
+ cmd := exec.Command("gdb", "-nx", "-q", "--batch", "-iex", "/usr/bin/amd64/python import sys; print('go gdb python support')")
|
||||
out, err := cmd.CombinedOutput()
|
||||
|
||||
if err != nil {
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
--- golang-1.10/src/syscall/zsyscall_solaris_amd64.go 2018-02-16 09:12:19.000000000 +0000
|
||||
+++ golang-1.10/src/syscall/zsyscall_solaris_amd64.go.1 2018-05-01 03:21:18.224140250 +0000
|
||||
@@ -21,6 +21,7 @@
|
||||
//go:cgo_import_dynamic libc_Chroot chroot "libc.so"
|
||||
//go:cgo_import_dynamic libc_Close close "libc.so"
|
||||
//go:cgo_import_dynamic libc_Dup dup "libc.so"
|
||||
+//go:cgo_import_dynamic libc_Dup2 dup2 "libc.so"
|
||||
//go:cgo_import_dynamic libc_Fchdir fchdir "libc.so"
|
||||
//go:cgo_import_dynamic libc_Fchmod fchmod "libc.so"
|
||||
//go:cgo_import_dynamic libc_Fchown fchown "libc.so"
|
||||
@@ -105,6 +106,7 @@
|
||||
//go:linkname libc_Chroot libc_Chroot
|
||||
//go:linkname libc_Close libc_Close
|
||||
//go:linkname libc_Dup libc_Dup
|
||||
+//go:linkname libc_Dup2 libc_Dup2
|
||||
//go:linkname libc_Fchdir libc_Fchdir
|
||||
//go:linkname libc_Fchmod libc_Fchmod
|
||||
//go:linkname libc_Fchown libc_Fchown
|
||||
@@ -192,6 +194,7 @@
|
||||
libc_Chroot,
|
||||
libc_Close,
|
||||
libc_Dup,
|
||||
+ libc_Dup2,
|
||||
libc_Fchdir,
|
||||
libc_Fchmod,
|
||||
libc_Fchown,
|
||||
@@ -410,6 +413,14 @@
|
||||
return
|
||||
}
|
||||
|
||||
+func Dup2(oldfd int, newfd int) (err error) {
|
||||
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&libc_Dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)
|
||||
+ if e1 != 0 {
|
||||
+ err = errnoErr(e1)
|
||||
+ }
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
func Fchdir(fd int) (err error) {
|
||||
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&libc_Fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
|
|
@ -1,284 +0,0 @@
|
|||
Generated by the following ruby script
|
||||
|
||||
puts(<<HEADER)
|
||||
// +build amd64,solaris
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
HEADER
|
||||
|
||||
syscall_h = File.readlines('/usr/include/sys/syscall.h')
|
||||
calls = {}
|
||||
syscall_h.each do |line|
|
||||
m = line.match(/#define\s(SYS_[^\s]*)\s+(\d+)/)
|
||||
if m
|
||||
calls[m[1].upcase] = m[2]
|
||||
end
|
||||
end
|
||||
width = calls.keys.max_by { |x| x.length }.length + 1
|
||||
calls.each do |call, num|
|
||||
printf("\t%-#{width}s = %d\n", call, num)
|
||||
end
|
||||
puts ")"
|
||||
|
||||
--- golang-1.6.2/src/syscall/zsysnum_solaris_amd64.go.orig 2016-04-27 22:29:15.592868144 +0300
|
||||
+++ golang-1.6.2/src/syscall/zsysnum_solaris_amd64.go 2016-04-27 22:29:34.483620796 +0300
|
||||
@@ -1,13 +1,250 @@
|
||||
-// Copyright 2014 The Go Authors. All rights reserved.
|
||||
-// Use of this source code is governed by a BSD-style
|
||||
-// license that can be found in the LICENSE file.
|
||||
-
|
||||
// +build amd64,solaris
|
||||
|
||||
package syscall
|
||||
|
||||
-// TODO(aram): remove these before Go 1.3.
|
||||
const (
|
||||
- SYS_EXECVE = 59
|
||||
- SYS_FCNTL = 62
|
||||
+ SYS_SYSCALL = 0
|
||||
+ SYS_EXIT = 1
|
||||
+ SYS_READ = 3
|
||||
+ SYS_WRITE = 4
|
||||
+ SYS_OPEN = 5
|
||||
+ SYS_CLOSE = 6
|
||||
+ SYS_LINKAT = 7
|
||||
+ SYS_LINK = 9
|
||||
+ SYS_UNLINK = 10
|
||||
+ SYS_SYMLINKAT = 11
|
||||
+ SYS_CHDIR = 12
|
||||
+ SYS_TIME = 13
|
||||
+ SYS_MKNOD = 14
|
||||
+ SYS_CHMOD = 15
|
||||
+ SYS_CHOWN = 16
|
||||
+ SYS_BRK = 17
|
||||
+ SYS_STAT = 18
|
||||
+ SYS_LSEEK = 19
|
||||
+ SYS_GETPID = 20
|
||||
+ SYS_MOUNT = 21
|
||||
+ SYS_READLINKAT = 22
|
||||
+ SYS_SETUID = 23
|
||||
+ SYS_GETUID = 24
|
||||
+ SYS_STIME = 25
|
||||
+ SYS_PCSAMPLE = 26
|
||||
+ SYS_ALARM = 27
|
||||
+ SYS_FSTAT = 28
|
||||
+ SYS_PAUSE = 29
|
||||
+ SYS_STTY = 31
|
||||
+ SYS_GTTY = 32
|
||||
+ SYS_ACCESS = 33
|
||||
+ SYS_NICE = 34
|
||||
+ SYS_STATFS = 35
|
||||
+ SYS_SYNC = 36
|
||||
+ SYS_KILL = 37
|
||||
+ SYS_FSTATFS = 38
|
||||
+ SYS_PGRPSYS = 39
|
||||
+ SYS_UUCOPYSTR = 40
|
||||
+ SYS_PIPE = 42
|
||||
+ SYS_TIMES = 43
|
||||
+ SYS_PROFIL = 44
|
||||
+ SYS_FACCESSAT = 45
|
||||
+ SYS_SETGID = 46
|
||||
+ SYS_GETGID = 47
|
||||
+ SYS_MKNODAT = 48
|
||||
+ SYS_MSGSYS = 49
|
||||
+ SYS_SYSI86 = 50
|
||||
+ SYS_ACCT = 51
|
||||
+ SYS_SHMSYS = 52
|
||||
+ SYS_SEMSYS = 53
|
||||
+ SYS_IOCTL = 54
|
||||
+ SYS_UADMIN = 55
|
||||
+ SYS_FCHOWNAT = 56
|
||||
+ SYS_UTSSYS = 57
|
||||
+ SYS_FDSYNC = 58
|
||||
+ SYS_EXECVE = 59
|
||||
+ SYS_UMASK = 60
|
||||
+ SYS_CHROOT = 61
|
||||
+ SYS_FCNTL = 62
|
||||
+ SYS_ULIMIT = 63
|
||||
+ SYS_RENAMEAT = 64
|
||||
+ SYS_UNLINKAT = 65
|
||||
+ SYS_FSTATAT = 66
|
||||
+ SYS_FSTATAT64 = 67
|
||||
+ SYS_OPENAT = 68
|
||||
+ SYS_OPENAT64 = 69
|
||||
+ SYS_TASKSYS = 70
|
||||
+ SYS_ACCTCTL = 71
|
||||
+ SYS_EXACCTSYS = 72
|
||||
+ SYS_GETPAGESIZES = 73
|
||||
+ SYS_RCTLSYS = 74
|
||||
+ SYS_SIDSYS = 75
|
||||
+ SYS_LWP_PARK = 77
|
||||
+ SYS_SENDFILEV = 78
|
||||
+ SYS_RMDIR = 79
|
||||
+ SYS_MKDIR = 80
|
||||
+ SYS_GETDENTS = 81
|
||||
+ SYS_PRIVSYS = 82
|
||||
+ SYS_UCREDSYS = 83
|
||||
+ SYS_SYSFS = 84
|
||||
+ SYS_GETMSG = 85
|
||||
+ SYS_PUTMSG = 86
|
||||
+ SYS_LSTAT = 88
|
||||
+ SYS_SYMLINK = 89
|
||||
+ SYS_READLINK = 90
|
||||
+ SYS_SETGROUPS = 91
|
||||
+ SYS_GETGROUPS = 92
|
||||
+ SYS_FCHMOD = 93
|
||||
+ SYS_FCHOWN = 94
|
||||
+ SYS_SIGPROCMASK = 95
|
||||
+ SYS_SIGSUSPEND = 96
|
||||
+ SYS_SIGALTSTACK = 97
|
||||
+ SYS_SIGACTION = 98
|
||||
+ SYS_SIGPENDING = 99
|
||||
+ SYS_CONTEXT = 100
|
||||
+ SYS_FCHMODAT = 101
|
||||
+ SYS_MKDIRAT = 102
|
||||
+ SYS_STATVFS = 103
|
||||
+ SYS_FSTATVFS = 104
|
||||
+ SYS_GETLOADAVG = 105
|
||||
+ SYS_NFSSYS = 106
|
||||
+ SYS_WAITID = 107
|
||||
+ SYS_SIGSENDSYS = 108
|
||||
+ SYS_HRTSYS = 109
|
||||
+ SYS_UTIMESYS = 110
|
||||
+ SYS_SIGRESEND = 111
|
||||
+ SYS_PRIOCNTLSYS = 112
|
||||
+ SYS_PATHCONF = 113
|
||||
+ SYS_MINCORE = 114
|
||||
+ SYS_MMAP = 115
|
||||
+ SYS_MPROTECT = 116
|
||||
+ SYS_MUNMAP = 117
|
||||
+ SYS_FPATHCONF = 118
|
||||
+ SYS_VFORK = 119
|
||||
+ SYS_FCHDIR = 120
|
||||
+ SYS_READV = 121
|
||||
+ SYS_WRITEV = 122
|
||||
+ SYS_PREADV = 123
|
||||
+ SYS_PWRITEV = 124
|
||||
+ SYS_GETRANDOM = 126
|
||||
+ SYS_MMAPOBJ = 127
|
||||
+ SYS_SETRLIMIT = 128
|
||||
+ SYS_GETRLIMIT = 129
|
||||
+ SYS_LCHOWN = 130
|
||||
+ SYS_MEMCNTL = 131
|
||||
+ SYS_GETPMSG = 132
|
||||
+ SYS_PUTPMSG = 133
|
||||
+ SYS_RENAME = 134
|
||||
+ SYS_UNAME = 135
|
||||
+ SYS_SETEGID = 136
|
||||
+ SYS_SYSCONFIG = 137
|
||||
+ SYS_ADJTIME = 138
|
||||
+ SYS_SYSTEMINFO = 139
|
||||
+ SYS_SHAREFS = 140
|
||||
+ SYS_SETEUID = 141
|
||||
+ SYS_FORKSYS = 142
|
||||
+ SYS_SIGTIMEDWAIT = 144
|
||||
+ SYS_LWP_INFO = 145
|
||||
+ SYS_YIELD = 146
|
||||
+ SYS_LWP_SEMA_POST = 148
|
||||
+ SYS_LWP_SEMA_TRYWAIT = 149
|
||||
+ SYS_LWP_DETACH = 150
|
||||
+ SYS_CORECTL = 151
|
||||
+ SYS_MODCTL = 152
|
||||
+ SYS_FCHROOT = 153
|
||||
+ SYS_VHANGUP = 155
|
||||
+ SYS_GETTIMEOFDAY = 156
|
||||
+ SYS_GETITIMER = 157
|
||||
+ SYS_SETITIMER = 158
|
||||
+ SYS_LWP_CREATE = 159
|
||||
+ SYS_LWP_EXIT = 160
|
||||
+ SYS_LWP_SUSPEND = 161
|
||||
+ SYS_LWP_CONTINUE = 162
|
||||
+ SYS_LWP_KILL = 163
|
||||
+ SYS_LWP_SELF = 164
|
||||
+ SYS_LWP_SIGMASK = 165
|
||||
+ SYS_LWP_PRIVATE = 166
|
||||
+ SYS_LWP_WAIT = 167
|
||||
+ SYS_LWP_MUTEX_WAKEUP = 168
|
||||
+ SYS_LWP_COND_WAIT = 170
|
||||
+ SYS_LWP_COND_SIGNAL = 171
|
||||
+ SYS_LWP_COND_BROADCAST = 172
|
||||
+ SYS_PREAD = 173
|
||||
+ SYS_PWRITE = 174
|
||||
+ SYS_LLSEEK = 175
|
||||
+ SYS_INST_SYNC = 176
|
||||
+ SYS_BRAND = 177
|
||||
+ SYS_KAIO = 178
|
||||
+ SYS_CPC = 179
|
||||
+ SYS_LGRPSYS = 180
|
||||
+ SYS_RUSAGESYS = 181
|
||||
+ SYS_PORT = 182
|
||||
+ SYS_POLLSYS = 183
|
||||
+ SYS_LABELSYS = 184
|
||||
+ SYS_ACL = 185
|
||||
+ SYS_AUDITSYS = 186
|
||||
+ SYS_PROCESSOR_BIND = 187
|
||||
+ SYS_PROCESSOR_INFO = 188
|
||||
+ SYS_P_ONLINE = 189
|
||||
+ SYS_SIGQUEUE = 190
|
||||
+ SYS_CLOCK_GETTIME = 191
|
||||
+ SYS_CLOCK_SETTIME = 192
|
||||
+ SYS_CLOCK_GETRES = 193
|
||||
+ SYS_TIMER_CREATE = 194
|
||||
+ SYS_TIMER_DELETE = 195
|
||||
+ SYS_TIMER_SETTIME = 196
|
||||
+ SYS_TIMER_GETTIME = 197
|
||||
+ SYS_TIMER_GETOVERRUN = 198
|
||||
+ SYS_NANOSLEEP = 199
|
||||
+ SYS_FACL = 200
|
||||
+ SYS_DOOR = 201
|
||||
+ SYS_SETREUID = 202
|
||||
+ SYS_SETREGID = 203
|
||||
+ SYS_INSTALL_UTRAP = 204
|
||||
+ SYS_SIGNOTIFY = 205
|
||||
+ SYS_SCHEDCTL = 206
|
||||
+ SYS_PSET = 207
|
||||
+ SYS_SPARC_UTRAP_INSTALL = 208
|
||||
+ SYS_RESOLVEPATH = 209
|
||||
+ SYS_LWP_MUTEX_TIMEDLOCK = 210
|
||||
+ SYS_LWP_SEMA_TIMEDWAIT = 211
|
||||
+ SYS_LWP_RWLOCK_SYS = 212
|
||||
+ SYS_GETDENTS64 = 213
|
||||
+ SYS_MMAP64 = 214
|
||||
+ SYS_STAT64 = 215
|
||||
+ SYS_LSTAT64 = 216
|
||||
+ SYS_FSTAT64 = 217
|
||||
+ SYS_STATVFS64 = 218
|
||||
+ SYS_FSTATVFS64 = 219
|
||||
+ SYS_SETRLIMIT64 = 220
|
||||
+ SYS_GETRLIMIT64 = 221
|
||||
+ SYS_PREAD64 = 222
|
||||
+ SYS_PWRITE64 = 223
|
||||
+ SYS_OPEN64 = 225
|
||||
+ SYS_RPCSYS = 226
|
||||
+ SYS_ZONE = 227
|
||||
+ SYS_AUTOFSSYS = 228
|
||||
+ SYS_GETCWD = 229
|
||||
+ SYS_SO_SOCKET = 230
|
||||
+ SYS_SO_SOCKETPAIR = 231
|
||||
+ SYS_BIND = 232
|
||||
+ SYS_LISTEN = 233
|
||||
+ SYS_ACCEPT = 234
|
||||
+ SYS_CONNECT = 235
|
||||
+ SYS_SHUTDOWN = 236
|
||||
+ SYS_RECV = 237
|
||||
+ SYS_RECVFROM = 238
|
||||
+ SYS_RECVMSG = 239
|
||||
+ SYS_SEND = 240
|
||||
+ SYS_SENDMSG = 241
|
||||
+ SYS_SENDTO = 242
|
||||
+ SYS_GETPEERNAME = 243
|
||||
+ SYS_GETSOCKNAME = 244
|
||||
+ SYS_GETSOCKOPT = 245
|
||||
+ SYS_SETSOCKOPT = 246
|
||||
+ SYS_SOCKCONFIG = 247
|
||||
+ SYS_NTP_GETTIME = 248
|
||||
+ SYS_NTP_ADJTIME = 249
|
||||
+ SYS_LWP_MUTEX_UNLOCK = 250
|
||||
+ SYS_LWP_MUTEX_TRYLOCK = 251
|
||||
+ SYS_LWP_MUTEX_REGISTER = 252
|
||||
+ SYS_CLADM = 253
|
||||
+ SYS_UUCOPY = 254
|
||||
+ SYS_UMOUNT2 = 255
|
||||
)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"dependencies": [
|
||||
"SUNWcs",
|
||||
"developer/golang-115",
|
||||
"system/library"
|
||||
],
|
||||
"fmris": [
|
||||
"developer/golang",
|
||||
"developer/golang-116"
|
||||
],
|
||||
"name": "golang"
|
||||
}
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
BUILD_BITS= 64_and_32
|
||||
PREFERRED_BITS= 64
|
||||
include ../../../make-rules/shared-macros.mk
|
||||
|
||||
COMPONENT_NAME= cups
|
||||
COMPONENT_VERSION= 2.3.3
|
||||
COMPONENT_REVISION= 1
|
||||
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
||||
COMPONENT_PROJECT_URL= http://www.cups.org/
|
||||
COMPONENT_ARCHIVE= $(COMPONENT_SRC)-source.tar.gz
|
||||
COMPONENT_ARCHIVE_HASH= sha256:261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee
|
||||
COMPONENT_ARCHIVE_URL= https://github.com/apple/cups/releases/download/v$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
|
||||
COMPONENT_BUGDB= utility/cups
|
||||
|
||||
include $(WS_MAKE_RULES)/common.mk
|
||||
|
||||
# don't use LD_Z_IGNORE: causes linker problems
|
||||
LD_Z_IGNORE=
|
||||
|
||||
LDFLAGS += -lsocket
|
||||
|
||||
CONFIGURE_ENV += DSOFLAGS="$(LDFLAGS)"
|
||||
CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
|
||||
COMPONENT_BUILD_ENV += LDFLAGS="$(LDFLAGS)"
|
||||
|
||||
CONFIGURE_OPTIONS += --prefix=/usr
|
||||
CONFIGURE_OPTIONS += --mandir=/usr/share/man
|
||||
CONFIGURE_OPTIONS += --localedir=$(USRSHARELOCALEDIR)
|
||||
CONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)
|
||||
CONFIGURE_OPTIONS += --localstatedir=/var
|
||||
CONFIGURE_OPTIONS += --with-fontpath=/usr/openwin/lib
|
||||
CONFIGURE_OPTIONS += --with-logdir=/var/log/cups
|
||||
CONFIGURE_OPTIONS += --with-domainsocket=/var/run/cups-socket
|
||||
CONFIGURE_OPTIONS += --with-smfmanifestdir=/lib/svc/manifest/application
|
||||
CONFIGURE_OPTIONS += --with-printcap=/etc/printers.conf
|
||||
CONFIGURE_OPTIONS += --with-cups-user=lp
|
||||
CONFIGURE_OPTIONS += --with-cups-group=lp
|
||||
CONFIGURE_OPTIONS += --disable-systemd
|
||||
CONFIGURE_OPTIONS += --disable-static
|
||||
CONFIGURE_OPTIONS += --enable-dbus
|
||||
CONFIGURE_OPTIONS += --enable-threads
|
||||
CONFIGURE_OPTIONS += --with-archflags="$(CC_BITS)"
|
||||
|
||||
#$(BUILD_DIR)/%/.installed: ENV += DSTROOT="$(PROTO_DIR)"
|
||||
|
||||
#COMPONENT_PRE_CONFIGURE_ACTION = \
|
||||
# $(CLONEY) $(SOURCE_DIR) $(@D) ; \
|
||||
# find $(@D) -name '*.in' | sed -e 's/.in$$//' | xargs $(RM) ; \
|
||||
# ( cd $(SOURCE_DIR) ; autoconf -f )
|
||||
|
||||
# Build dependencies
|
||||
REQUIRED_PACKAGES += image/library/libpng16
|
||||
REQUIRED_PACKAGES += image/library/libtiff
|
||||
REQUIRED_PACKAGES += service/network/dns/mdns
|
||||
REQUIRED_PACKAGES += service/network/slp
|
||||
|
||||
# Auto-generated dependencies
|
||||
REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
|
||||
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
|
||||
REQUIRED_PACKAGES += SUNWcs
|
||||
REQUIRED_PACKAGES += library/gnutls-3
|
||||
REQUIRED_PACKAGES += library/libusb-1
|
||||
#REQUIRED_PACKAGES += library/print/cups-libs
|
||||
REQUIRED_PACKAGES += library/zlib
|
||||
REQUIRED_PACKAGES += runtime/perl-522
|
||||
REQUIRED_PACKAGES += service/security/kerberos-5
|
||||
REQUIRED_PACKAGES += shell/ksh93
|
||||
REQUIRED_PACKAGES += system/library
|
||||
REQUIRED_PACKAGES += system/library/libdbus
|
||||
REQUIRED_PACKAGES += system/library/math
|
||||
REQUIRED_PACKAGES += system/library/security/gss
|
||||
REQUIRED_PACKAGES += system/network/avahi
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<!--
|
||||
Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
-->
|
||||
<!--
|
||||
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"
|
||||
-->
|
||||
<!--
|
||||
META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (X11; U; SunOS 5.6 sun4u) [Netscape]"
|
||||
-->
|
||||
</HEAD>
|
||||
<BODY>
|
||||
When the Manage CUPS Authorization is in the Authorizations Included column, it
|
||||
grants permission to enable, disable or restart the CUPS Printing Services.
|
||||
<p>
|
||||
If the Manage CUPS Authorization is grayed, then you are not entitled to Add or Remove this authorization.
|
||||
<BR>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
|
@ -1 +0,0 @@
|
|||
solaris.smf.manage.cups:::Manage CUPS service states::help=ManageCUPS.html
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
#! /usr/bin/sh
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# For the time being, this will launch a browser pointing to the
|
||||
# CUPS Web interface.
|
||||
exec /usr/bin/system-config-printer
|
||||
exec gnome-open http://localhost:631/admin/
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#! /usr/bin/sh
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# There is no applet to start at this time, exit gracefully
|
||||
exec /usr/lib/system-config-printer/system-config-printer-applet
|
||||
exit 0
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
#!/bin/ksh
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
#
|
||||
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
# Use is subject to license terms.
|
||||
#
|
||||
#ident "@(#)print-service-selector 1.1 09/10/23 SMI"
|
||||
|
||||
. /lib/svc/share/smf_include.sh
|
||||
|
||||
CUPS_SVC='cups/scheduler'
|
||||
CUPS_BIN='/usr/lib/cups/bin/lp'
|
||||
LP_BIN='/usr/lib/lp/bin/lp'
|
||||
ACTIVE_SVC_PROP='general/active'
|
||||
|
||||
is_cups_active()
|
||||
{
|
||||
ACTIVE=$( /usr/bin/svcprop -C -p "$ACTIVE_SVC_PROP" "${CUPS_SVC}:default" \
|
||||
2>/dev/null )
|
||||
[[ "$ACTIVE" == 'true' ]]
|
||||
}
|
||||
|
||||
is_lp_installed()
|
||||
{
|
||||
[[ -f "$LP_BIN" ]]
|
||||
}
|
||||
|
||||
is_cups_installed()
|
||||
{
|
||||
[[ -f "$CUPS_BIN" ]]
|
||||
}
|
||||
|
||||
set_cups_active()
|
||||
{
|
||||
if ! /usr/sbin/print-service -s cups
|
||||
then
|
||||
echo "ERROR: Unable to set CUPS as the default print service" >&2
|
||||
exit $SMF_EXIT_ERR_FATAL
|
||||
fi
|
||||
}
|
||||
|
||||
if is_lp_installed
|
||||
then
|
||||
# Do nothing. They either upgraded, installed LP only, or both.
|
||||
# In any of these cases, we either want the default or the previously
|
||||
# selected behaviour.
|
||||
true
|
||||
elif is_cups_installed
|
||||
then
|
||||
# LP is not installed -- make CUPS the default if it is not already
|
||||
is_cups_active || set_cups_active
|
||||
else
|
||||
echo "ERROR: Neither CUPS nor LP packages installed" >&2
|
||||
exit $SMF_EXIT_ERR_FATAL
|
||||
fi
|
||||
|
||||
exit $SMF_EXIT_OK
|
||||
|
|
@ -1 +0,0 @@
|
|||
CUPS Administration:RO:::auths=solaris.smf.manage.cups
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
|
||||
<!--
|
||||
Copyright 2010 Sun Microsystems, Inc. All rights reserved.
|
||||
Use is subject to license terms.
|
||||
|
||||
CDDL HEADER START
|
||||
|
||||
The contents of this file are subject to the terms of the
|
||||
Common Development and Distribution License (the "License").
|
||||
You may not use this file except in compliance with the License.
|
||||
|
||||
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
or http://www.opensolaris.org/os/licensing.
|
||||
See the License for the specific language governing permissions
|
||||
and limitations under the License.
|
||||
|
||||
When distributing Covered Code, include this CDDL HEADER in each
|
||||
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
If applicable, add the following below this CDDL HEADER, with the
|
||||
fields enclosed by brackets "[]" replaced with your own identifying
|
||||
information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
CDDL HEADER END
|
||||
|
||||
ident "@(#)service-selector.xml 1.2 10/01/04 SMI"
|
||||
|
||||
NOTE: This service manifest is not editable; its contents will
|
||||
be overwritten by package or patch operations, including
|
||||
operating system upgrade. Make customizations in a different
|
||||
file.
|
||||
|
||||
Service to set the default print service.
|
||||
-->
|
||||
|
||||
<service_bundle type='manifest' name='SUNWpcu:print-service-selector'>
|
||||
|
||||
<service
|
||||
name='application/print/service-selector'
|
||||
type='service'
|
||||
version='1'>
|
||||
|
||||
<create_default_instance enabled='true' />
|
||||
|
||||
<single_instance />
|
||||
|
||||
<!--
|
||||
This service sets the default print service depending on the
|
||||
services available.
|
||||
-->
|
||||
|
||||
<dependency
|
||||
name='usr'
|
||||
type='service'
|
||||
grouping='require_all'
|
||||
restart_on='none'>
|
||||
<service_fmri value='svc:/system/filesystem/minimal' />
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
This dependency is required to ensure that the cups manifest has
|
||||
been imported prior to selecting a default print service.
|
||||
-->
|
||||
|
||||
<dependency
|
||||
name='cups-manifest-import'
|
||||
type='service'
|
||||
grouping='optional_all'
|
||||
restart_on='none'>
|
||||
<service_fmri value='svc:/system/manifest-import' />
|
||||
</dependency>
|
||||
|
||||
<exec_method
|
||||
type='method'
|
||||
name='start'
|
||||
exec='/lib/svc/method/print-service-selector'
|
||||
timeout_seconds='0' />
|
||||
|
||||
<exec_method
|
||||
type='method'
|
||||
name='stop'
|
||||
exec=':true'
|
||||
timeout_seconds='0' />
|
||||
|
||||
<property_group name='startd' type='framework'>
|
||||
<propval name='duration' type='astring' value='transient' />
|
||||
</property_group>
|
||||
|
||||
<stability value='Unstable' />
|
||||
|
||||
<template>
|
||||
<common_name>
|
||||
<loctext xml:lang='C'>
|
||||
print service selector
|
||||
</loctext>
|
||||
</common_name>
|
||||
</template>
|
||||
</service>
|
||||
|
||||
</service_bundle>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# a simple shell script for SMB printing that can either use SAMBA's smbspool(1)
|
||||
# or a native smb print client should it materialize in the future.
|
||||
#
|
||||
(-f '/etc/samba/smb.conf') && exec('/usr/bin/smbspool', @ARGV);
|
||||
exit(1);
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#!/usr/bin/ksh
|
||||
#
|
||||
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# Standard prolog
|
||||
#
|
||||
. /lib/svc/share/smf_include.sh
|
||||
|
||||
if [ -z "$SMF_FMRI" ] ; then
|
||||
echo "SMF framework variables are not initialized."
|
||||
exit $SMF_EXIT_ERR_NOSMF
|
||||
fi
|
||||
|
||||
# directory where to look for startup scripts
|
||||
STARTUP=/usr/lib/cups/startup
|
||||
|
||||
# for all startup scripts found in the directory
|
||||
for SCRIPT in $STARTUP/* ; do
|
||||
# verify the script is executable
|
||||
[ -x "$SCRIPT" ] || continue
|
||||
# execute the script
|
||||
if ! "$SCRIPT" "$SMF_FMRI" "startup/${SCRIPT##*/}" ; then
|
||||
echo "Warning: startup script $SCRIPT failed."
|
||||
fi
|
||||
done
|
||||
|
||||
# execute the CUPS daemon
|
||||
exec /usr/sbin/cupsd
|
||||
|
||||
# fatal error, failed to execute CUPS daemon
|
||||
exit $SMF_EXIT_ERR_FATAL
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
%
|
||||
% Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
%
|
||||
% works in conjunction with tsol_separator.ps to do a banner page
|
||||
%
|
||||
|
||||
SeparatorPagesDict /Banner get exec
|
||||
|
|
@ -1,619 +0,0 @@
|
|||
%%
|
||||
%% Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
%%
|
||||
|
||||
%%
|
||||
%% This PostScript file is used as input to tsol_labeled_banner,
|
||||
%% which will prepend code to set the values of a number of
|
||||
%% variables.
|
||||
|
||||
%% This PostScript file may be modified for local customizations or
|
||||
%% internationalization. Comments marked "INTERNATIONALIZE:" show
|
||||
%% places where changes may be made for internationalization. Comments
|
||||
%% marked "CUSTOMIZE:" show places where some typical customization
|
||||
%% changes may be made.
|
||||
|
||||
|
||||
%% The following comments describe variables set by tsol_labeled_banner
|
||||
|
||||
%% These variables are from the print job information that can be
|
||||
%% displayed with lpstat or lpq.
|
||||
%%
|
||||
%% /Job_Classification The classification (from the sensitivity label) to
|
||||
%% be displayed at the top and bottom of the banner
|
||||
%% /Job_Printer Printer Name
|
||||
%% /Job_Host Host job was submitted from
|
||||
%% /Job_User User who submitted the job
|
||||
%% /Job_JobID Job number
|
||||
%% /Job_Title Job title
|
||||
%%
|
||||
%% Job Page labels are added in pstops filter, so page labels should not be
|
||||
%% added here.
|
||||
%%
|
||||
%% /Job_DoPageLabels Print page labels NO.
|
||||
%%
|
||||
%% These variables are generated from the system clock value.
|
||||
%%
|
||||
%% /Job_Date Date and time the job is being printed, in the
|
||||
%% locale's default format
|
||||
%% /Job_Hash A randomly generatred identifying number for
|
||||
%% matching up the banner and trailer pages of the job
|
||||
%%
|
||||
%%
|
||||
%% The following variables are the job's labels
|
||||
%% as interpreted by the bcltobanner(3TSOL) library routine.
|
||||
%%
|
||||
%% /Job_Classification The classification (from the sensitivity label) to be
|
||||
%% displayed at the top and bottom of the banner page.
|
||||
%% /Job_Protect The sensitivity label to be displayed in the protect-as
|
||||
%% field.
|
||||
%% /Job_Caveats The caveats from the sesitivity label.
|
||||
%% /Job_Channels The channels from the sesitivity label.
|
||||
%%
|
||||
%%
|
||||
%% The following variables are the job's Sensitivity Label and
|
||||
%% Information Label as interpreted by the bsltos and biltos library
|
||||
%% routines.
|
||||
%%
|
||||
%% /Job_SL_Internal The sensitivity label in internal view format.
|
||||
%% /Job_SL_External The sensitivity label in external view format.
|
||||
|
||||
/SeparatorPagesDict 100 dict def
|
||||
userdict /JobDict known not {
|
||||
userdict /JobDict 100 dict put
|
||||
} if
|
||||
|
||||
SeparatorPagesDict
|
||||
begin
|
||||
|
||||
%% CUSTOMIZE: To print header page label left-justified, set this to false
|
||||
/center_label true def
|
||||
|
||||
/center_show where {
|
||||
pop
|
||||
} {
|
||||
userdict /center_show
|
||||
{
|
||||
dup stringwidth exch
|
||||
2 div neg exch rmoveto show
|
||||
} put
|
||||
} ifelse
|
||||
|
||||
/append where
|
||||
{ pop }
|
||||
{
|
||||
/append
|
||||
{
|
||||
1 index length 1 index length add
|
||||
1 index dup type /dicttype eq
|
||||
{
|
||||
pop dict
|
||||
begin
|
||||
exch { def } forall
|
||||
{ def } forall
|
||||
currentdict
|
||||
end
|
||||
}
|
||||
{
|
||||
/arraytype eq { array } { string } ifelse
|
||||
dup 4 -1 roll 1 index copy length 4 -1 roll putinterval
|
||||
}
|
||||
ifelse
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/fontheight
|
||||
systemdict /fontheight known
|
||||
{ systemdict /fontheight get }
|
||||
{
|
||||
{
|
||||
gsave
|
||||
setfont (qf) true charpath flattenpath pathbbox
|
||||
4 -1 roll pop exch pop exch sub
|
||||
grestore
|
||||
}
|
||||
} ifelse
|
||||
def
|
||||
|
||||
/m { moveto } def
|
||||
/r { rmoveto } def
|
||||
/rl { rlineto } def
|
||||
|
||||
/NewLine {
|
||||
currentpoint exch pop
|
||||
currentfont fontheight sub errorx0 exch moveto
|
||||
} def
|
||||
|
||||
/clipSL {
|
||||
/MaxWidth exch def
|
||||
dup stringwidth pop MaxWidth gt {
|
||||
{
|
||||
dup stringwidth pop (<-) stringwidth pop add MaxWidth le {exit} if
|
||||
dup 0 exch length 1 sub getinterval
|
||||
} loop
|
||||
(<-)
|
||||
%% Concatenate strings
|
||||
dup length 2 index length add 1 index pop string
|
||||
dup 0 4 index putinterval
|
||||
dup 4 -1 roll length 4 -1 roll putinterval
|
||||
} if
|
||||
} def
|
||||
|
||||
/BreakWithBlanks {
|
||||
|
||||
{restoftext ( ) search
|
||||
{
|
||||
/blank_nextword exch def pop
|
||||
/blank_restoftext exch def
|
||||
/blank_wordwidth blank_nextword stringwidth pop def
|
||||
|
||||
restoftext (/) search
|
||||
{
|
||||
/slash_nextword exch def pop
|
||||
/slash_restoftext exch def
|
||||
/slash_wordwidth slash_nextword stringwidth pop def
|
||||
|
||||
blank_wordwidth slash_wordwidth lt
|
||||
{
|
||||
/nextword blank_nextword def
|
||||
/restoftext blank_restoftext def
|
||||
/wordwidth blank_wordwidth def
|
||||
/breakwidth ( ) stringwidth pop def
|
||||
}
|
||||
{
|
||||
/nextword slash_nextword def
|
||||
/restoftext slash_restoftext def
|
||||
/wordwidth slash_wordwidth def
|
||||
/breakwidth (/) stringwidth pop def
|
||||
}ifelse
|
||||
}
|
||||
{
|
||||
pop
|
||||
/nextword blank_nextword def
|
||||
/restoftext blank_restoftext def
|
||||
/wordwidth blank_wordwidth def
|
||||
/breakwidth ( ) stringwidth pop def
|
||||
}ifelse
|
||||
|
||||
curwidth wordwidth add linewidth gt
|
||||
{textstring startchar
|
||||
lastwordbreak startchar sub
|
||||
getinterval proc
|
||||
/startchar lastwordbreak def
|
||||
/curwidth wordwidth breakwidth add def }
|
||||
|
||||
{/curwidth curwidth wordwidth add
|
||||
breakwidth add def
|
||||
} ifelse
|
||||
/lastwordbreak lastwordbreak
|
||||
nextword length add 1 add def
|
||||
}
|
||||
{pop BreakWithSlashes exit}
|
||||
ifelse
|
||||
}loop
|
||||
}def
|
||||
|
||||
/BreakWithSlashes
|
||||
{
|
||||
/breakchar (/) def
|
||||
/breakwidth breakchar stringwidth pop def
|
||||
{restoftext breakchar search
|
||||
{/nextword exch def pop
|
||||
/restoftext exch def
|
||||
/wordwidth nextword stringwidth pop def
|
||||
|
||||
curwidth wordwidth add linewidth gt
|
||||
{textstring startchar
|
||||
lastwordbreak startchar sub
|
||||
getinterval proc
|
||||
/startchar lastwordbreak def
|
||||
/curwidth wordwidth breakwidth add def }
|
||||
|
||||
{/curwidth curwidth wordwidth add
|
||||
breakwidth add def
|
||||
} ifelse
|
||||
/lastwordbreak lastwordbreak
|
||||
nextword length add 1 add def
|
||||
}
|
||||
{pop exit}
|
||||
ifelse
|
||||
}loop
|
||||
}def
|
||||
|
||||
/BreakIntoLines
|
||||
{/proc exch def
|
||||
/linewidth exch 40 sub def
|
||||
/textstring exch def
|
||||
|
||||
/curwidth 0 def
|
||||
/lastwordbreak 0 def
|
||||
/startchar 0 def
|
||||
/restoftext textstring def
|
||||
|
||||
% begin scale the font if necessary
|
||||
|
||||
/allowedarea linewidth fbh 10 div mul def
|
||||
/currentarea currentfont fontheight textstring stringwidth pop mul def
|
||||
|
||||
currentarea allowedarea gt
|
||||
{
|
||||
currentfont allowedarea currentarea div scalefont setfont
|
||||
}if
|
||||
|
||||
% end scale the font if necessary
|
||||
|
||||
BreakWithBlanks
|
||||
/lastchar textstring length def
|
||||
textstring startchar lastchar startchar sub
|
||||
getinterval proc
|
||||
}def
|
||||
|
||||
|
||||
/ShowBanner {
|
||||
JobDict /Job_Proclam? get {
|
||||
systemdict /showpage get cvx exec
|
||||
} if
|
||||
} def
|
||||
|
||||
/Init {
|
||||
|
||||
initgraphics
|
||||
/#copies 1 def
|
||||
initmatrix
|
||||
erasepage
|
||||
|
||||
clippath pathbbox /fbh exch def
|
||||
/fbw exch def
|
||||
pop pop newpath
|
||||
0 0 moveto
|
||||
0 fbh translate
|
||||
0 0 moveto
|
||||
|
||||
/margin fbh 20 div def
|
||||
/imargin margin 1.1 mul def
|
||||
/errorx0 imargin def
|
||||
/errorx1 fbw imargin sub def
|
||||
/errory1 imargin def
|
||||
|
||||
gsave
|
||||
} def
|
||||
|
||||
% this stuff is lpd dependant.
|
||||
|
||||
/lpdglue {
|
||||
userdict
|
||||
begin
|
||||
JobDict
|
||||
begin
|
||||
% If Job_Printer is defined, assume the others are too,
|
||||
/Job_Printer where
|
||||
{
|
||||
pop
|
||||
/Job_Proclam? true def
|
||||
/Job_Endclam? true def
|
||||
|
||||
/Printer Job_Printer def
|
||||
/Host Job_Host def
|
||||
/User Job_User def
|
||||
/Title Job_Title def
|
||||
/JobID Job_JobID def
|
||||
/Date Job_Date def
|
||||
|
||||
%% CUSTOMIZE: To use a different string at the top and
|
||||
%% bottom of each page, change the following line. For
|
||||
%% instance, to use the sensitivity label in external view
|
||||
%% format, change the line to: /PageLabel Job_SL_External def
|
||||
%% To eliminate page labels completely, change this line to
|
||||
%% set the page label to an empty string: /PageLabel () def
|
||||
/PageLabel Job_SL_Internal def
|
||||
Job_Protect () eq
|
||||
{
|
||||
%% Job_Protect is empty because SLs are turned
|
||||
%% off in secconf. (Turning off SLs is actually not yet
|
||||
%% supported by the system.)
|
||||
/Protect () def
|
||||
/Protect_Text1 () def
|
||||
/Protect_Text2 () def
|
||||
}
|
||||
{
|
||||
%% INTERNATIONALIZE/CUSTOMIZE: Replace the text between
|
||||
%% parentheses with the appropriate text to display
|
||||
%% above and below the SL.
|
||||
/Protect Job_Protect def
|
||||
/Protect_Text1 (This output must be protected as:) def
|
||||
/Protect_Text2 (unless manually reviewed and downgraded.) def
|
||||
}
|
||||
ifelse
|
||||
|
||||
%% CUSTOMIZE: To not print the caveats, change
|
||||
%% this line to /Caveats () def
|
||||
/Caveats Job_Caveats def
|
||||
%% CUSTOMIZE: To not print the channels, change
|
||||
%% this line to /Channels () def
|
||||
/Channels Job_Channels def
|
||||
|
||||
%% CUSTOMIZE: To not print the hash number, change
|
||||
%% this line to /Hash () def
|
||||
/Hash Job_Hash def
|
||||
|
||||
%% CUSTOMIZE: To not print the head label, change
|
||||
%% this line to /HeadLabel () def
|
||||
%% You may also substitute another string. For example, to use
|
||||
%% the SL in internal view format: /HeadLabel Job_SL_Internal def
|
||||
/HeadLabel Job_Classification def
|
||||
} {
|
||||
/Job_Proclam? false def
|
||||
/Job_Endclam? false def
|
||||
} ifelse
|
||||
end
|
||||
end
|
||||
} def
|
||||
|
||||
/border {
|
||||
gsave
|
||||
setlinewidth
|
||||
setgray
|
||||
30 -20 moveto
|
||||
0 60 fbh sub rlineto
|
||||
fbw 60 sub 0 rlineto
|
||||
0 fbh 60 sub rlineto
|
||||
60 currentlinewidth 2 div sub fbw sub 0 rlineto
|
||||
stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/TSOLJobInfo {
|
||||
gsave
|
||||
|
||||
/fontscale fbh 50 div def
|
||||
/Courier-Bold findfont fontscale scalefont setfont
|
||||
/ClippedLabel
|
||||
JobDict /HeadLabel get
|
||||
SeparatorPagesDict /fbw get 90 sub
|
||||
SeparatorPagesDict /clipSL get exec
|
||||
def
|
||||
|
||||
/head_len {
|
||||
ClippedLabel stringwidth pop 5 add
|
||||
HeadLabel () eq { pop 0 } if
|
||||
} def
|
||||
15 setlinewidth
|
||||
fbw 2 div head_len 2 div sub -20 moveto
|
||||
head_len 0 rlineto stroke
|
||||
1 setgray
|
||||
fbw 10 div -25 m gsave ClippedLabel
|
||||
currentpoint exch pop fbw 2 div exch moveto
|
||||
center_show NewLine grestore
|
||||
|
||||
0 setgray
|
||||
/fontscale fbh 70 div def
|
||||
|
||||
/Helvetica findfont fontscale scalefont setfont
|
||||
0 fbh 8 div neg r Protect_Text1
|
||||
currentpoint exch pop
|
||||
center_label {
|
||||
fbw 2 div exch moveto center_show
|
||||
}
|
||||
{
|
||||
fbw 10 div exch moveto show
|
||||
}
|
||||
ifelse
|
||||
/fontscale fbh 60 div def
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
|
||||
0 fbh 150 div neg r
|
||||
Protect
|
||||
fbw errorx0 3 mul sub % width minus margins
|
||||
|
||||
center_label {
|
||||
{NewLine currentpoint exch pop fbw 2 div exch moveto center_show}
|
||||
BreakIntoLines
|
||||
}
|
||||
{
|
||||
{NewLine currentpoint exch pop fbw 10 div exch moveto show}
|
||||
BreakIntoLines
|
||||
}
|
||||
ifelse
|
||||
|
||||
/fontscale fbh 70 div def
|
||||
/Helvetica findfont fontscale scalefont setfont
|
||||
0 fbh 50 div neg r Protect_Text2
|
||||
currentpoint exch pop
|
||||
center_label {
|
||||
fbw 2 div exch moveto center_show
|
||||
}
|
||||
{
|
||||
fbw 10 div exch moveto show
|
||||
}
|
||||
ifelse
|
||||
|
||||
/fontscale fbh 60 div def
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
0 fbh 200 div neg r
|
||||
|
||||
0 fbh 10 div neg r
|
||||
|
||||
/fontscale fbh 40 div def
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
|
||||
0 fbh 30 div neg r gsave
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
(User: ) User (@) Host append append append
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
0 fbh 30 div neg r gsave
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
(Job: ) JobID append
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
0 fbh 30 div neg r gsave
|
||||
Title
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
/fontscale fbh 70 div def
|
||||
/Helvetica findfont fontscale scalefont setfont
|
||||
0 fbh 30 div neg r gsave
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
(Printed at: ) Date append
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
0 fbh 30 div neg r gsave
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
(Printer queue: ) Printer append
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
0 fbh 20 div neg r
|
||||
Caveats
|
||||
fbw errorx0 3 mul sub % width minus margins
|
||||
{NewLine currentpoint exch pop fbw 2 div exch moveto center_show}
|
||||
BreakIntoLines
|
||||
|
||||
0 fbh 30 div neg r
|
||||
Channels
|
||||
fbw errorx0 3 mul sub % width minus margins
|
||||
{NewLine currentpoint exch pop fbw 2 div exch moveto center_show}
|
||||
BreakIntoLines
|
||||
|
||||
/fontscale fbh 50 div def
|
||||
/Courier-Bold findfont fontscale scalefont setfont
|
||||
15 setlinewidth
|
||||
fbw 2 div head_len 2 div sub 40 fbh sub moveto
|
||||
head_len 0 rlineto stroke
|
||||
1 setgray
|
||||
fbw 10 div 35 fbh sub m gsave ClippedLabel
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
NewLine grestore
|
||||
|
||||
grestore
|
||||
} def
|
||||
|
||||
/JobHashInfo {
|
||||
gsave
|
||||
0 setgray
|
||||
/fontscale fbh 50 div def
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
|
||||
%% Upper left corner
|
||||
Hash
|
||||
fbw 12 div 50 neg m gsave show grestore
|
||||
|
||||
%% Lower left corner
|
||||
Hash
|
||||
fbw 12 div fbh 60 sub neg m gsave show grestore
|
||||
|
||||
%% Lower right corner
|
||||
Hash dup stringwidth pop
|
||||
fbw 11 mul 12 div exch sub fbh 60 sub neg m gsave show grestore
|
||||
|
||||
%% Upper right corner
|
||||
Hash dup stringwidth pop
|
||||
fbw 11 mul 12 div exch sub 50 neg m gsave show grestore
|
||||
|
||||
/fontscale fbh 40 div def
|
||||
/Helvetica-Bold findfont fontscale scalefont setfont
|
||||
fbw 10 div 120 fbh sub m gsave
|
||||
currentpoint exch pop fbw 2 div exch moveto center_show
|
||||
|
||||
grestore
|
||||
} def
|
||||
|
||||
|
||||
/jobproclam {
|
||||
JobDict
|
||||
begin
|
||||
Job_Proclam?
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
{ TSOLJobInfo (JOB START) JobHashInfo}
|
||||
{ 0 -100 rmoveto }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/jobendclam {
|
||||
JobDict
|
||||
begin
|
||||
Job_Endclam?
|
||||
%% INTERNATIONALIZE: Replace the text between
|
||||
%% parentheses with the appropriate text.
|
||||
{ TSOLJobInfo (JOB END) JobHashInfo}
|
||||
{ 0 -100 rmoveto }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
|
||||
/JobProclam {
|
||||
jobproclam
|
||||
} def
|
||||
|
||||
/JobEndclam {
|
||||
jobendclam
|
||||
} def
|
||||
|
||||
% A fancy box around page
|
||||
|
||||
/BannerBorder {
|
||||
.7 16 border
|
||||
} def
|
||||
|
||||
/TrailerBorder {
|
||||
0 4 border
|
||||
} def
|
||||
|
||||
%
|
||||
% -------------------------------------------------------------------------
|
||||
%
|
||||
% The structure of separator pages is defined below. This is invoked by
|
||||
% using a line like:
|
||||
%
|
||||
% SeparatorPagesDict /Banner get exec
|
||||
%
|
||||
|
||||
/Banner {
|
||||
SeparatorPagesDict
|
||||
begin
|
||||
Init
|
||||
lpdglue
|
||||
BannerBorder
|
||||
JobProclam
|
||||
end
|
||||
} def
|
||||
|
||||
/Trailer {
|
||||
SeparatorPagesDict
|
||||
begin
|
||||
Init
|
||||
lpdglue
|
||||
TrailerBorder
|
||||
JobEndclam
|
||||
end
|
||||
} def
|
||||
|
||||
/SkipPageLabels false def
|
||||
end
|
||||
|
||||
SeparatorPagesDict begin
|
||||
clippath pathbbox /fbh exch def
|
||||
/fbw exch def
|
||||
pop pop
|
||||
lpdglue
|
||||
end
|
||||
|
||||
|
||||
JobDict /Job_DoPageLabels get (YES) eq
|
||||
JobDict /PageLabel get () ne and {
|
||||
userdict begin
|
||||
/showpage {
|
||||
systemdict /showpage get cvx exec
|
||||
} bind def
|
||||
end
|
||||
}if
|
||||
|
||||
%% End of tsol_separator.ps
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
%
|
||||
% Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
%
|
||||
% used in conjunction with tsol_separator.ps to create a trailer page
|
||||
%
|
||||
SeparatorPagesDict /Trailer get exec
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
set name=pkg.fmri value=pkg:/library/print/cups-libs@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
|
||||
set name=pkg.summary value="Common Unix Print System (CUPS) runtime libraries"
|
||||
set name=com.oracle.info.description value="the Common Unix Print System (CUPS) runtime libraries"
|
||||
set name=info.classification value="org.opensolaris.category.2008:System/Printing"
|
||||
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
|
||||
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
|
||||
set name=org.opensolaris.arc-caseid value=PSARC/2008/130
|
||||
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
|
||||
|
||||
license cups-license license="CUPS, GPLv2, LGPLv2.1, Aladdin, Unicode"
|
||||
|
||||
file path=usr/lib/libcups.so.2
|
||||
file path=usr/lib/libcupsimage.so.2
|
||||
link path=usr/lib/libcups.so target=libcups.so.2
|
||||
link path=usr/lib/libcupsimage.so target=libcupsimage.so.2
|
||||
file path=usr/lib/amd64/libcups.so.2
|
||||
file path=usr/lib/amd64/libcupsimage.so.2
|
||||
link path=usr/lib/amd64/libcups.so target=libcups.so.2
|
||||
link path=usr/lib/amd64/libcupsimage.so target=libcupsimage.so.2
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,928 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# This is the template for package manifest (.p5m) file
|
||||
# It contains all of the comments needed to re-construct
|
||||
# the manual actions needed to convert "gmake install"
|
||||
# prototype to final package shape. It collects all of the
|
||||
# info originally held in install-sfw and prototype_* files.
|
||||
#
|
||||
# Significant portion of this file was created by hand-editing.
|
||||
# So please do not reformat/sort the lines of this file strip the
|
||||
# comments by using of the automate reformating tools.
|
||||
|
||||
<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
|
||||
<transform file path=usr/lib/cups/.+ ->default mode 0555>
|
||||
|
||||
set name=pkg.fmri value=pkg:/print/cups@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
|
||||
set name=pkg.summary value="Common Unix Print System (CUPS)"
|
||||
set name=com.oracle.info.description value="the Common Unix Print System (CUPS)"
|
||||
set name=info.classification value="org.opensolaris.category.2008:System/Printing"
|
||||
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
|
||||
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
|
||||
set name=org.opensolaris.arc-caseid value=PSARC/2008/130
|
||||
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
|
||||
|
||||
license cups-license license="CUPS, GPLv2, LGPLv2.1, Aladdin, Unicode"
|
||||
|
||||
# When USB/non-postscript printer is detected in desktop no test-page can be printed
|
||||
# when ghostscrip is not installed.
|
||||
depend fmri=print/filter/ghostscript type=require
|
||||
|
||||
# Default test page is in cups-filters
|
||||
depend fmri=print/cups-filters type=require
|
||||
|
||||
#
|
||||
dir group=lp path=etc/cups
|
||||
dir group=lp path=etc/cups/interfaces
|
||||
dir group=lp path=etc/cups/ppd
|
||||
dir group=lp path=etc/cups/profiles
|
||||
dir group=lp path=etc/cups/ssl mode=0700
|
||||
|
||||
|
||||
#
|
||||
dir group=lp path=var/cache/cups mode=0775
|
||||
dir group=lp path=var/cache/cups/rss mode=0775
|
||||
dir group=lp path=var/log/cups
|
||||
|
||||
|
||||
#
|
||||
dir group=lp path=var/spool/cups mode=0710
|
||||
dir group=lp path=var/spool/cups/tmp mode=01770
|
||||
dir group=lp owner=lp path=var/spool/lp mode=0775
|
||||
|
||||
# edited file-objects
|
||||
file group=lp mode=0640 path=etc/cups/cupsd.conf preserve=true
|
||||
file group=lp mode=0640 path=etc/cups/cups-files.conf preserve=true
|
||||
file path=lib/svc/manifest/application/cups.xml mode=0444 \
|
||||
restart_fmri=svc:/system/manifest-import:default
|
||||
|
||||
file Solaris/service-selector.xml path=lib/svc/manifest/application/print/service-selector.xml mode=0444 \
|
||||
restart_fmri=svc:/system/manifest-import:default
|
||||
|
||||
file Solaris/print-service-selector path=lib/svc/method/print-service-selector
|
||||
|
||||
# SMF service start method script
|
||||
file Solaris/svc-cupsd path=lib/svc/method/svc-cupsd
|
||||
|
||||
# SMF help
|
||||
file Solaris/ManageCUPS.html mode=0444 \
|
||||
path=usr/lib/help/auths/locale/C/ManageCUPS.html
|
||||
|
||||
file usr/bin/cancel path=usr/lib/cups/bin/cancel mode=0555
|
||||
file usr/bin/lp path=usr/lib/cups/bin/lp mode=0555
|
||||
file usr/bin/lpr path=usr/lib/cups/bin/lpr mode=0555
|
||||
file usr/bin/lpstat path=usr/lib/cups/bin/lpstat mode=0555
|
||||
file usr/bin/lpq path=usr/lib/cups/bin/lpq mode=0555
|
||||
file usr/bin/lprm path=usr/lib/cups/bin/lprm mode=0555
|
||||
file usr/sbin/cupsaccept path=usr/lib/cups/bin/cupsaccept mode=0555
|
||||
file usr/sbin/lpc path=usr/lib/cups/bin/lpc mode=0555
|
||||
file usr/sbin/lpmove path=usr/lib/cups/bin/lpmove mode=0555
|
||||
file usr/sbin/lpadmin path=usr/lib/cups/bin/lpadmin mode=0555
|
||||
file usr/sbin/lpinfo path=usr/sbin/lpinfo
|
||||
|
||||
link path=usr/lib/cups/bin/accept target=cupsaccept
|
||||
link path=usr/lib/cups/bin/cupsdisable target=cupsaccept
|
||||
link path=usr/lib/cups/bin/disable target=cupsaccept
|
||||
link path=usr/lib/cups/bin/cupsenable target=cupsaccept
|
||||
link path=usr/lib/cups/bin/enable target=cupsaccept
|
||||
link path=usr/lib/cups/bin/cupsreject target=cupsaccept
|
||||
link path=usr/lib/cups/bin/reject target=cupsaccept
|
||||
|
||||
# install the desktop menu related bits
|
||||
file Solaris/desktop-print-management mode=0555 \
|
||||
path=usr/lib/cups/bin/desktop-print-management
|
||||
file Solaris/desktop-print-management-applet mode=0555 \
|
||||
path=usr/lib/cups/bin/desktop-print-management-applet
|
||||
file Solaris/smb mode=0555 \
|
||||
path=usr/lib/cups/backend/smb
|
||||
|
||||
# install the service to set up CUPS as the default print service
|
||||
file Solaris/auth_attr path=etc/security/auth_attr.d/cups
|
||||
file Solaris/prof_attr path=etc/security/prof_attr.d/cups
|
||||
file Solaris/tsol_banner.ps path=usr/lib/cups/filter/tsol_banner.ps
|
||||
file Solaris/tsol_separator.ps path=usr/lib/cups/filter/tsol_separator.ps
|
||||
file Solaris/tsol_trailer.ps path=usr/lib/cups/filter/tsol_trailer.ps
|
||||
|
||||
# Resolving file conflicts with illumos lp
|
||||
# As witht the commands in /usr/bin cups commands are designed to replace lp
|
||||
# But as lp is still delivered by illumos-gate we need to rename all the commands
|
||||
# and their man pages and prefix them with cups so that both softwares can be installed simultaneously
|
||||
# There is two ways where we can go from here.
|
||||
# 1. Remove lp if it is not needed anymore and properly suceeded by cups
|
||||
# 2. Modify manifest in illumos-gate to provide mediators so users can properly choose
|
||||
file usr/share/man/man1/lp.1 path=usr/share/man/man1/cupslp.1
|
||||
file usr/share/man/man1/lpoptions.1 path=usr/share/man/man1/cupslpoptions.1
|
||||
file usr/share/man/man1/lpq.1 path=usr/share/man/man1/cupslpq.1
|
||||
file usr/share/man/man1/lpr.1 path=usr/share/man/man1/cupslpr.1
|
||||
file usr/share/man/man1/lprm.1 path=usr/share/man/man1/cupslprm.1
|
||||
file usr/share/man/man1/lpstat.1 path=usr/share/man/man1/cupslpstat.1
|
||||
file usr/share/man/man1/cancel.1 path=usr/share/man/man1/cupscancel.1
|
||||
|
||||
# file-objects from sample-manifest
|
||||
file path=etc/cups/cups-files.conf.default
|
||||
file path=etc/cups/cupsd.conf.default
|
||||
file path=etc/cups/snmp.conf
|
||||
file path=etc/cups/snmp.conf.default
|
||||
file path=etc/dbus-1/system.d/cups.conf
|
||||
file path=etc/pam.d/cups
|
||||
file path=usr/sbin/cupsctl
|
||||
file path=usr/sbin/cupsd
|
||||
file path=usr/bin/cups-config
|
||||
file path=usr/bin/cupstestppd
|
||||
file path=usr/bin/ippeveprinter
|
||||
file path=usr/bin/ippfind
|
||||
file path=usr/bin/ipptool
|
||||
file path=usr/bin/ppdc
|
||||
file path=usr/bin/ppdhtml
|
||||
file path=usr/bin/ppdi
|
||||
file path=usr/bin/ppdmerge
|
||||
file path=usr/bin/ppdpo
|
||||
file path=usr/include/cups/adminutil.h
|
||||
file path=usr/include/cups/array.h
|
||||
file path=usr/include/cups/backend.h
|
||||
file path=usr/include/cups/cups.h
|
||||
file path=usr/include/cups/dir.h
|
||||
file path=usr/include/cups/file.h
|
||||
file path=usr/include/cups/http.h
|
||||
file path=usr/include/cups/ipp.h
|
||||
file path=usr/include/cups/language.h
|
||||
file path=usr/include/cups/ppd.h
|
||||
file path=usr/include/cups/pwg.h
|
||||
file path=usr/include/cups/raster.h
|
||||
file path=usr/include/cups/sidechannel.h
|
||||
file path=usr/include/cups/transcode.h
|
||||
file path=usr/include/cups/versioning.h
|
||||
file path=usr/lib/cups/backend/dnssd
|
||||
link \
|
||||
path=usr/lib/cups/backend/http \
|
||||
target=ipp
|
||||
link path=usr/lib/cups/backend/https target=ipp
|
||||
link path=usr/lib/cups/backend/ipps target=ipp
|
||||
file path=usr/lib/cups/backend/ipp
|
||||
file path=usr/lib/cups/backend/lpd
|
||||
file path=usr/lib/cups/backend/snmp
|
||||
file path=usr/lib/cups/backend/socket
|
||||
file path=usr/lib/cups/backend/usb
|
||||
file path=usr/lib/cups/cgi-bin/admin.cgi
|
||||
file path=usr/lib/cups/cgi-bin/classes.cgi
|
||||
file path=usr/lib/cups/cgi-bin/help.cgi
|
||||
file path=usr/lib/cups/cgi-bin/jobs.cgi
|
||||
file path=usr/lib/cups/cgi-bin/printers.cgi
|
||||
file path=usr/lib/cups/command/ippevepcl
|
||||
file path=usr/lib/cups/command/ippeveps
|
||||
file path=usr/lib/cups/daemon/cups-deviced
|
||||
file path=usr/lib/cups/daemon/cups-driverd
|
||||
file path=usr/lib/cups/daemon/cups-exec
|
||||
file path=usr/lib/cups/daemon/cups-lpd
|
||||
file path=usr/lib/cups/filter/commandtops
|
||||
file path=usr/lib/cups/filter/gziptoany
|
||||
file path=usr/lib/cups/filter/pstops
|
||||
file path=usr/lib/cups/filter/rastertoepson
|
||||
file path=usr/lib/cups/filter/rastertohp
|
||||
file path=usr/lib/cups/filter/rastertolabel
|
||||
file path=usr/lib/cups/filter/rastertopwg
|
||||
file path=usr/lib/cups/monitor/bcp
|
||||
file path=usr/lib/cups/monitor/tbcp
|
||||
file path=usr/lib/cups/notifier/dbus
|
||||
file path=usr/lib/cups/notifier/mailto
|
||||
file path=usr/lib/cups/notifier/rss
|
||||
|
||||
|
||||
|
||||
file path=usr/share/applications/cups.desktop
|
||||
file path=usr/share/cups/drv/sample.drv
|
||||
file path=usr/share/cups/examples/color.drv
|
||||
file path=usr/share/cups/examples/constraint.drv
|
||||
file path=usr/share/cups/examples/custom.drv
|
||||
file path=usr/share/cups/examples/grouping.drv
|
||||
file path=usr/share/cups/examples/laserjet-basic.drv
|
||||
file path=usr/share/cups/examples/laserjet-pjl.drv
|
||||
file path=usr/share/cups/examples/minimum.drv
|
||||
file path=usr/share/cups/examples/postscript.drv
|
||||
file path=usr/share/cups/examples/r300-basic.drv
|
||||
file path=usr/share/cups/examples/r300-colorman.drv
|
||||
file path=usr/share/cups/examples/r300-remote.drv
|
||||
file path=usr/share/cups/ipptool/cancel-current-job.test
|
||||
file path=usr/share/cups/ipptool/color.jpg
|
||||
file path=usr/share/cups/ipptool/create-job-format.test
|
||||
file path=usr/share/cups/ipptool/create-job-sheets.test
|
||||
file path=usr/share/cups/ipptool/create-job-timeout.test
|
||||
file path=usr/share/cups/ipptool/create-job.test
|
||||
file path=usr/share/cups/ipptool/create-printer-subscription.test
|
||||
file path=usr/share/cups/ipptool/cups-create-local-printer.test
|
||||
file path=usr/share/cups/ipptool/document-a4.pdf
|
||||
file path=usr/share/cups/ipptool/document-a4.ps
|
||||
file path=usr/share/cups/ipptool/document-letter.pdf
|
||||
file path=usr/share/cups/ipptool/document-letter.ps
|
||||
file path=usr/share/cups/ipptool/fax-job.test
|
||||
file path=usr/share/cups/ipptool/get-completed-jobs.test
|
||||
file path=usr/share/cups/ipptool/get-devices.test
|
||||
file path=usr/share/cups/ipptool/get-job-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-job-attributes2.test
|
||||
file path=usr/share/cups/ipptool/get-job-template-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-jobs.test
|
||||
file path=usr/share/cups/ipptool/get-notifications.test
|
||||
file path=usr/share/cups/ipptool/get-ppd-printer.test
|
||||
file path=usr/share/cups/ipptool/get-ppd.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-drv-only.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-language.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-make-and-model.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-make.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-product.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-psversion.test
|
||||
file path=usr/share/cups/ipptool/get-ppds.test
|
||||
file path=usr/share/cups/ipptool/get-printer-attributes-suite.test
|
||||
file path=usr/share/cups/ipptool/get-printer-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-printer-description-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-printers-printer-id.test
|
||||
file path=usr/share/cups/ipptool/get-printers.test
|
||||
file path=usr/share/cups/ipptool/get-subscriptions.test
|
||||
file path=usr/share/cups/ipptool/gray.jpg
|
||||
file path=usr/share/cups/ipptool/identify-printer-display.test
|
||||
file path=usr/share/cups/ipptool/identify-printer-multiple.test
|
||||
file path=usr/share/cups/ipptool/identify-printer.test
|
||||
file path=usr/share/cups/ipptool/ipp-1.1.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.0.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.1.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.2.test
|
||||
file path=usr/share/cups/ipptool/ipp-backend.test
|
||||
file path=usr/share/cups/ipptool/ipp-everywhere.test
|
||||
file path=usr/share/cups/ipptool/onepage-a4.pdf
|
||||
file path=usr/share/cups/ipptool/onepage-a4.ps
|
||||
file path=usr/share/cups/ipptool/onepage-letter.pdf
|
||||
file path=usr/share/cups/ipptool/onepage-letter.ps
|
||||
file path=usr/share/cups/ipptool/print-job-and-wait.test
|
||||
file path=usr/share/cups/ipptool/print-job-deflate.test
|
||||
file path=usr/share/cups/ipptool/print-job-gzip.test
|
||||
file path=usr/share/cups/ipptool/print-job-hold.test
|
||||
file path=usr/share/cups/ipptool/print-job-letter.test
|
||||
file path=usr/share/cups/ipptool/print-job-manual.test
|
||||
file path=usr/share/cups/ipptool/print-job-media-col.test
|
||||
file path=usr/share/cups/ipptool/print-job-password.test
|
||||
file path=usr/share/cups/ipptool/print-job.test
|
||||
file path=usr/share/cups/ipptool/print-uri.test
|
||||
file path=usr/share/cups/ipptool/set-attrs-hold.test
|
||||
file path=usr/share/cups/ipptool/testfile.jpg
|
||||
file path=usr/share/cups/ipptool/testfile.pcl
|
||||
file path=usr/share/cups/ipptool/testfile.pdf
|
||||
file path=usr/share/cups/ipptool/testfile.ps
|
||||
file path=usr/share/cups/ipptool/testfile.txt
|
||||
file path=usr/share/cups/ipptool/validate-job.test
|
||||
file path=usr/share/cups/mime/mime.convs
|
||||
file path=usr/share/cups/mime/mime.types
|
||||
file path=usr/share/cups/ppdc/epson.h
|
||||
file path=usr/share/cups/ppdc/font.defs
|
||||
file path=usr/share/cups/ppdc/hp.h
|
||||
file path=usr/share/cups/ppdc/label.h
|
||||
file path=usr/share/cups/ppdc/media.defs
|
||||
file path=usr/share/cups/ppdc/raster.defs
|
||||
file path=usr/share/cups/templates/add-class.tmpl
|
||||
file path=usr/share/cups/templates/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/admin.tmpl
|
||||
file path=usr/share/cups/templates/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/class-added.tmpl
|
||||
file path=usr/share/cups/templates/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/class.tmpl
|
||||
file path=usr/share/cups/templates/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/classes.tmpl
|
||||
file path=usr/share/cups/templates/command.tmpl
|
||||
file path=usr/share/cups/templates/de/add-class.tmpl
|
||||
file path=usr/share/cups/templates/de/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/de/admin.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/de/class-added.tmpl
|
||||
file path=usr/share/cups/templates/de/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/de/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/de/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/de/class.tmpl
|
||||
file path=usr/share/cups/templates/de/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/de/classes.tmpl
|
||||
file path=usr/share/cups/templates/de/command.tmpl
|
||||
file path=usr/share/cups/templates/de/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/de/error-op.tmpl
|
||||
file path=usr/share/cups/templates/de/error.tmpl
|
||||
file path=usr/share/cups/templates/de/header.tmpl
|
||||
file path=usr/share/cups/templates/de/help-header.tmpl
|
||||
file path=usr/share/cups/templates/de/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/de/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/de/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/de/job-move.tmpl
|
||||
file path=usr/share/cups/templates/de/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/de/job-release.tmpl
|
||||
file path=usr/share/cups/templates/de/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/de/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/jobs.tmpl
|
||||
file path=usr/share/cups/templates/de/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/de/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/de/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/de/norestart.tmpl
|
||||
file path=usr/share/cups/templates/de/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/de/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/de/option-header.tmpl
|
||||
file path=usr/share/cups/templates/de/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/de/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/de/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/pager.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/de/printer.tmpl
|
||||
file path=usr/share/cups/templates/de/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/de/printers.tmpl
|
||||
file path=usr/share/cups/templates/de/restart.tmpl
|
||||
file path=usr/share/cups/templates/de/search.tmpl
|
||||
file path=usr/share/cups/templates/de/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/de/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/test-page.tmpl
|
||||
file path=usr/share/cups/templates/de/trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/users.tmpl
|
||||
file path=usr/share/cups/templates/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/error-op.tmpl
|
||||
file path=usr/share/cups/templates/error.tmpl
|
||||
file path=usr/share/cups/templates/es/add-class.tmpl
|
||||
file path=usr/share/cups/templates/es/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/es/admin.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/es/class-added.tmpl
|
||||
file path=usr/share/cups/templates/es/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/es/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/es/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/es/class.tmpl
|
||||
file path=usr/share/cups/templates/es/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/es/classes.tmpl
|
||||
file path=usr/share/cups/templates/es/command.tmpl
|
||||
file path=usr/share/cups/templates/es/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/es/error-op.tmpl
|
||||
file path=usr/share/cups/templates/es/error.tmpl
|
||||
file path=usr/share/cups/templates/es/header.tmpl
|
||||
file path=usr/share/cups/templates/es/help-header.tmpl
|
||||
file path=usr/share/cups/templates/es/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/es/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/es/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/es/job-move.tmpl
|
||||
file path=usr/share/cups/templates/es/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/es/job-release.tmpl
|
||||
file path=usr/share/cups/templates/es/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/es/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/jobs.tmpl
|
||||
file path=usr/share/cups/templates/es/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/es/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/es/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/es/norestart.tmpl
|
||||
file path=usr/share/cups/templates/es/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/es/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/es/option-header.tmpl
|
||||
file path=usr/share/cups/templates/es/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/es/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/es/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/pager.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/es/printer.tmpl
|
||||
file path=usr/share/cups/templates/es/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/es/printers.tmpl
|
||||
file path=usr/share/cups/templates/es/restart.tmpl
|
||||
file path=usr/share/cups/templates/es/search.tmpl
|
||||
file path=usr/share/cups/templates/es/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/es/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/test-page.tmpl
|
||||
file path=usr/share/cups/templates/es/trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/users.tmpl
|
||||
file path=usr/share/cups/templates/fr/add-class.tmpl
|
||||
file path=usr/share/cups/templates/fr/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/admin.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-added.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/fr/class.tmpl
|
||||
file path=usr/share/cups/templates/fr/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/classes.tmpl
|
||||
file path=usr/share/cups/templates/fr/command.tmpl
|
||||
file path=usr/share/cups/templates/fr/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/fr/error-op.tmpl
|
||||
file path=usr/share/cups/templates/fr/error.tmpl
|
||||
file path=usr/share/cups/templates/fr/header.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-move.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-release.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/fr/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/jobs.tmpl
|
||||
file path=usr/share/cups/templates/fr/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/fr/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/fr/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/norestart.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/pager.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/printers.tmpl
|
||||
file path=usr/share/cups/templates/fr/restart.tmpl
|
||||
file path=usr/share/cups/templates/fr/search.tmpl
|
||||
file path=usr/share/cups/templates/fr/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/test-page.tmpl
|
||||
file path=usr/share/cups/templates/fr/trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/users.tmpl
|
||||
file path=usr/share/cups/templates/header.tmpl
|
||||
file path=usr/share/cups/templates/help-header.tmpl
|
||||
file path=usr/share/cups/templates/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/add-class.tmpl
|
||||
file path=usr/share/cups/templates/ja/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/admin.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-added.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/ja/class.tmpl
|
||||
file path=usr/share/cups/templates/ja/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/classes.tmpl
|
||||
file path=usr/share/cups/templates/ja/command.tmpl
|
||||
file path=usr/share/cups/templates/ja/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/ja/error-op.tmpl
|
||||
file path=usr/share/cups/templates/ja/error.tmpl
|
||||
file path=usr/share/cups/templates/ja/header.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-move.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-release.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/ja/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/jobs.tmpl
|
||||
file path=usr/share/cups/templates/ja/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/ja/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/ja/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/norestart.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/pager.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/printers.tmpl
|
||||
file path=usr/share/cups/templates/ja/restart.tmpl
|
||||
file path=usr/share/cups/templates/ja/search.tmpl
|
||||
file path=usr/share/cups/templates/ja/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/test-page.tmpl
|
||||
file path=usr/share/cups/templates/ja/trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/users.tmpl
|
||||
file path=usr/share/cups/templates/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/job-move.tmpl
|
||||
file path=usr/share/cups/templates/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/job-release.tmpl
|
||||
file path=usr/share/cups/templates/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/jobs.tmpl
|
||||
file path=usr/share/cups/templates/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/norestart.tmpl
|
||||
file path=usr/share/cups/templates/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/option-header.tmpl
|
||||
file path=usr/share/cups/templates/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pager.tmpl
|
||||
file path=usr/share/cups/templates/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/printer.tmpl
|
||||
file path=usr/share/cups/templates/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/add-class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/admin.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-added.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/classes.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/command.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/error-op.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/error.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-move.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-release.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/jobs.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/norestart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/pager.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/restart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/search.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/test-page.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/users.tmpl
|
||||
file path=usr/share/cups/templates/restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/add-class.tmpl
|
||||
file path=usr/share/cups/templates/ru/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/admin.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-added.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/ru/class.tmpl
|
||||
file path=usr/share/cups/templates/ru/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/classes.tmpl
|
||||
file path=usr/share/cups/templates/ru/command.tmpl
|
||||
file path=usr/share/cups/templates/ru/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/ru/error-op.tmpl
|
||||
file path=usr/share/cups/templates/ru/error.tmpl
|
||||
file path=usr/share/cups/templates/ru/header.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-move.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-release.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/jobs.tmpl
|
||||
file path=usr/share/cups/templates/ru/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/ru/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/ru/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/norestart.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/pager.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/printers.tmpl
|
||||
file path=usr/share/cups/templates/ru/restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/search.tmpl
|
||||
file path=usr/share/cups/templates/ru/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/test-page.tmpl
|
||||
file path=usr/share/cups/templates/ru/trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/users.tmpl
|
||||
file path=usr/share/cups/templates/search.tmpl
|
||||
file path=usr/share/cups/templates/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/test-page.tmpl
|
||||
file path=usr/share/cups/templates/trailer.tmpl
|
||||
file path=usr/share/cups/templates/users.tmpl
|
||||
file path=usr/share/cups/usb/org.cups.usb-quirks
|
||||
file path=usr/share/doc/cups/apple-touch-icon.png
|
||||
file path=usr/share/doc/cups/cups-printable.css
|
||||
file path=usr/share/doc/cups/cups.css
|
||||
file path=usr/share/doc/cups/de/index.html
|
||||
file path=usr/share/doc/cups/es/index.html
|
||||
file path=usr/share/doc/cups/help/accounting.html
|
||||
file path=usr/share/doc/cups/help/admin.html
|
||||
file path=usr/share/doc/cups/help/api-admin.html
|
||||
file path=usr/share/doc/cups/help/api-filter.html
|
||||
file path=usr/share/doc/cups/help/api-ppd.html
|
||||
file path=usr/share/doc/cups/help/api-raster.html
|
||||
file path=usr/share/doc/cups/help/cgi.html
|
||||
file path=usr/share/doc/cups/help/cupspm.html
|
||||
file path=usr/share/doc/cups/help/encryption.html
|
||||
file path=usr/share/doc/cups/help/firewalls.html
|
||||
file path=usr/share/doc/cups/help/glossary.html
|
||||
file path=usr/share/doc/cups/help/kerberos.html
|
||||
file path=usr/share/doc/cups/help/license.html
|
||||
file path=usr/share/doc/cups/help/man-backend.html
|
||||
file path=usr/share/doc/cups/help/man-cancel.html
|
||||
file path=usr/share/doc/cups/help/man-classes.conf.html
|
||||
file path=usr/share/doc/cups/help/man-client.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cups-config.html
|
||||
file path=usr/share/doc/cups/help/man-cups-files.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cups-lpd.html
|
||||
file path=usr/share/doc/cups/help/man-cups-snmp.html
|
||||
file path=usr/share/doc/cups/help/man-cups.html
|
||||
file path=usr/share/doc/cups/help/man-cupsaccept.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd-helper.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd-logs.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd.html
|
||||
file path=usr/share/doc/cups/help/man-cupsenable.html
|
||||
file path=usr/share/doc/cups/help/man-cupstestppd.html
|
||||
file path=usr/share/doc/cups/help/man-filter.html
|
||||
file path=usr/share/doc/cups/help/man-ippevepcl.html
|
||||
file path=usr/share/doc/cups/help/man-ippeveprinter.html
|
||||
file path=usr/share/doc/cups/help/man-ippfind.html
|
||||
file path=usr/share/doc/cups/help/man-ipptool.html
|
||||
file path=usr/share/doc/cups/help/man-ipptoolfile.html
|
||||
file path=usr/share/doc/cups/help/man-lp.html
|
||||
file path=usr/share/doc/cups/help/man-lpadmin.html
|
||||
file path=usr/share/doc/cups/help/man-lpc.html
|
||||
file path=usr/share/doc/cups/help/man-lpinfo.html
|
||||
file path=usr/share/doc/cups/help/man-lpmove.html
|
||||
file path=usr/share/doc/cups/help/man-lpoptions.html
|
||||
file path=usr/share/doc/cups/help/man-lpq.html
|
||||
file path=usr/share/doc/cups/help/man-lpr.html
|
||||
file path=usr/share/doc/cups/help/man-lprm.html
|
||||
file path=usr/share/doc/cups/help/man-lpstat.html
|
||||
file path=usr/share/doc/cups/help/man-mime.convs.html
|
||||
file path=usr/share/doc/cups/help/man-mime.types.html
|
||||
file path=usr/share/doc/cups/help/man-notifier.html
|
||||
file path=usr/share/doc/cups/help/man-ppdc.html
|
||||
file path=usr/share/doc/cups/help/man-ppdhtml.html
|
||||
file path=usr/share/doc/cups/help/man-ppdi.html
|
||||
file path=usr/share/doc/cups/help/man-ppdmerge.html
|
||||
file path=usr/share/doc/cups/help/man-ppdpo.html
|
||||
file path=usr/share/doc/cups/help/man-printers.conf.html
|
||||
file path=usr/share/doc/cups/help/man-subscriptions.conf.html
|
||||
file path=usr/share/doc/cups/help/network.html
|
||||
file path=usr/share/doc/cups/help/options.html
|
||||
file path=usr/share/doc/cups/help/overview.html
|
||||
file path=usr/share/doc/cups/help/policies.html
|
||||
file path=usr/share/doc/cups/help/postscript-driver.html
|
||||
file path=usr/share/doc/cups/help/ppd-compiler.html
|
||||
file path=usr/share/doc/cups/help/raster-driver.html
|
||||
file path=usr/share/doc/cups/help/ref-ppdcfile.html
|
||||
file path=usr/share/doc/cups/help/security.html
|
||||
file path=usr/share/doc/cups/help/sharing.html
|
||||
file path=usr/share/doc/cups/help/spec-banner.html
|
||||
file path=usr/share/doc/cups/help/spec-command.html
|
||||
file path=usr/share/doc/cups/help/spec-design.html
|
||||
file path=usr/share/doc/cups/help/spec-ipp.html
|
||||
file path=usr/share/doc/cups/help/spec-ppd.html
|
||||
file path=usr/share/doc/cups/help/spec-raster.html
|
||||
file path=usr/share/doc/cups/help/spec-stp.html
|
||||
file path=usr/share/doc/cups/help/translation.html
|
||||
file path=usr/share/doc/cups/images/color-wheel.png
|
||||
file path=usr/share/doc/cups/images/cups-block-diagram.png
|
||||
file path=usr/share/doc/cups/images/cups-command-chain.png
|
||||
file path=usr/share/doc/cups/images/cups-icon.png
|
||||
file path=usr/share/doc/cups/images/cups-postscript-chain.png
|
||||
file path=usr/share/doc/cups/images/cups-raster-chain.png
|
||||
file path=usr/share/doc/cups/images/cups.png
|
||||
file path=usr/share/doc/cups/images/generic.png
|
||||
file path=usr/share/doc/cups/images/left.gif
|
||||
file path=usr/share/doc/cups/images/raster-organization.png
|
||||
file path=usr/share/doc/cups/images/raster.png
|
||||
file path=usr/share/doc/cups/images/right.gif
|
||||
file path=usr/share/doc/cups/images/sample-image.png
|
||||
file path=usr/share/doc/cups/images/sel.gif
|
||||
file path=usr/share/doc/cups/images/smiley.jpg
|
||||
file path=usr/share/doc/cups/images/unsel.gif
|
||||
file path=usr/share/doc/cups/images/wait.gif
|
||||
file path=usr/share/doc/cups/index.html
|
||||
file path=usr/share/doc/cups/ja/index.html
|
||||
file path=usr/share/doc/cups/pt_BR/index.html
|
||||
file path=usr/share/doc/cups/robots.txt
|
||||
file path=usr/share/doc/cups/ru/index.html
|
||||
file path=usr/share/icons/hicolor/128x128/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/16x16/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/32x32/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/64x64/apps/cups.png
|
||||
file path=usr/share/locale/ca/cups_ca.po
|
||||
file path=usr/share/locale/cs/cups_cs.po
|
||||
file path=usr/share/locale/de/cups_de.po
|
||||
file path=usr/share/locale/en/cups_en.po
|
||||
file path=usr/share/locale/es/cups_es.po
|
||||
file path=usr/share/locale/fr/cups_fr.po
|
||||
file path=usr/share/locale/it/cups_it.po
|
||||
file path=usr/share/locale/ja/cups_ja.po
|
||||
file path=usr/share/locale/pt_BR/cups_pt_BR.po
|
||||
file path=usr/share/locale/ru/cups_ru.po
|
||||
file path=usr/share/locale/zh_CN/cups_zh_CN.po
|
||||
file path=usr/share/man/man1/cups-config.1
|
||||
file path=usr/share/man/man1/cups.1
|
||||
file path=usr/share/man/man1/cupstestppd.1
|
||||
file path=usr/share/man/man1/ippeveprinter.1
|
||||
file path=usr/share/man/man1/ippfind.1
|
||||
file path=usr/share/man/man1/ipptool.1
|
||||
file path=usr/share/man/man1/ppdc.1
|
||||
file path=usr/share/man/man1/ppdhtml.1
|
||||
file path=usr/share/man/man1/ppdi.1
|
||||
file path=usr/share/man/man1/ppdmerge.1
|
||||
file path=usr/share/man/man1/ppdpo.1
|
||||
file path=usr/share/man/man5/classes.conf.5
|
||||
file path=usr/share/man/man5/client.conf.5
|
||||
file path=usr/share/man/man5/cups-files.conf.5
|
||||
file path=usr/share/man/man5/cups-snmp.conf.5
|
||||
file path=usr/share/man/man5/cupsd-logs.5
|
||||
file path=usr/share/man/man5/cupsd.conf.5
|
||||
file path=usr/share/man/man5/ipptoolfile.5
|
||||
file path=usr/share/man/man5/mailto.conf.5
|
||||
file path=usr/share/man/man5/mime.convs.5
|
||||
file path=usr/share/man/man5/mime.types.5
|
||||
file path=usr/share/man/man5/ppdcfile.5
|
||||
file path=usr/share/man/man5/printers.conf.5
|
||||
file path=usr/share/man/man5/subscriptions.conf.5
|
||||
file path=usr/share/man/man7/backend.7
|
||||
file path=usr/share/man/man7/filter.7
|
||||
file path=usr/share/man/man7/ippevepcl.7
|
||||
link \
|
||||
path=usr/share/man/man7/ippeveps.7 \
|
||||
target=ippevepcl.7
|
||||
file path=usr/share/man/man7/notifier.7
|
||||
link \
|
||||
path=usr/share/man/man8/cups-deviced.8 \
|
||||
target=cupsd-helper.8
|
||||
link \
|
||||
path=usr/share/man/man8/cups-driverd.8 \
|
||||
target=cupsd-helper.8
|
||||
link \
|
||||
path=usr/share/man/man8/cups-exec.8 \
|
||||
target=cupsd-helper.8
|
||||
file path=usr/share/man/man8/cups-lpd.8
|
||||
file path=usr/share/man/man8/cups-snmp.8
|
||||
file path=usr/share/man/man8/cupsaccept.8
|
||||
file path=usr/share/man/man8/cupsctl.8
|
||||
file path=usr/share/man/man8/cupsd-helper.8
|
||||
file path=usr/share/man/man8/cupsd.8
|
||||
link \
|
||||
path=usr/share/man/man8/cupsdisable.8 \
|
||||
target=cupsenable.8
|
||||
file path=usr/share/man/man8/cupsenable.8
|
||||
file path=usr/share/man/man8/cupsfilter.8
|
||||
link \
|
||||
path=usr/share/man/man8/cupsreject.8 \
|
||||
target=cupsaccept.8
|
||||
file path=usr/share/man/man8/lpadmin.8
|
||||
file path=usr/share/man/man8/lpc.8
|
||||
file path=usr/share/man/man8/lpinfo.8
|
||||
file path=usr/share/man/man8/lpmove.8
|
||||
|
|
@ -1,861 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2020 <contributor>
|
||||
#
|
||||
|
||||
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
|
||||
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
|
||||
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
|
||||
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
|
||||
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
|
||||
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
|
||||
|
||||
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
|
||||
|
||||
file path=etc/cups/cups-files.conf
|
||||
file path=etc/cups/cups-files.conf.N
|
||||
file path=etc/cups/cups-files.conf.default
|
||||
file path=etc/cups/cupsd.conf
|
||||
file path=etc/cups/cupsd.conf.N
|
||||
file path=etc/cups/cupsd.conf.default
|
||||
file path=etc/cups/snmp.conf
|
||||
file path=etc/cups/snmp.conf.N
|
||||
file path=etc/cups/snmp.conf.default
|
||||
file path=etc/dbus-1/system.d/cups.conf
|
||||
file path=etc/pam.d/cups
|
||||
file path=etc/pam.d/cups.N
|
||||
file path=lib/svc/manifest/application/cups.xml
|
||||
file path=usr/bin/$(MACH32)/cancel
|
||||
file path=usr/bin/$(MACH32)/cups-config
|
||||
file path=usr/bin/$(MACH32)/cupstestppd
|
||||
file path=usr/bin/$(MACH32)/ippeveprinter
|
||||
file path=usr/bin/$(MACH32)/ippfind
|
||||
file path=usr/bin/$(MACH32)/ipptool
|
||||
file path=usr/bin/$(MACH32)/lp
|
||||
file path=usr/bin/$(MACH32)/lpoptions
|
||||
file path=usr/bin/$(MACH32)/lpq
|
||||
file path=usr/bin/$(MACH32)/lpr
|
||||
file path=usr/bin/$(MACH32)/lprm
|
||||
file path=usr/bin/$(MACH32)/lpstat
|
||||
file path=usr/bin/$(MACH32)/ppdc
|
||||
file path=usr/bin/$(MACH32)/ppdhtml
|
||||
file path=usr/bin/$(MACH32)/ppdi
|
||||
file path=usr/bin/$(MACH32)/ppdmerge
|
||||
file path=usr/bin/$(MACH32)/ppdpo
|
||||
file path=usr/bin/cancel
|
||||
file path=usr/bin/cups-config
|
||||
file path=usr/bin/cupstestppd
|
||||
file path=usr/bin/ippeveprinter
|
||||
file path=usr/bin/ippfind
|
||||
file path=usr/bin/ipptool
|
||||
file path=usr/bin/lp
|
||||
file path=usr/bin/lpoptions
|
||||
file path=usr/bin/lpq
|
||||
file path=usr/bin/lpr
|
||||
file path=usr/bin/lprm
|
||||
file path=usr/bin/lpstat
|
||||
file path=usr/bin/ppdc
|
||||
file path=usr/bin/ppdhtml
|
||||
file path=usr/bin/ppdi
|
||||
file path=usr/bin/ppdmerge
|
||||
file path=usr/bin/ppdpo
|
||||
file path=usr/include/cups/adminutil.h
|
||||
file path=usr/include/cups/array.h
|
||||
file path=usr/include/cups/backend.h
|
||||
file path=usr/include/cups/cups.h
|
||||
file path=usr/include/cups/dir.h
|
||||
file path=usr/include/cups/file.h
|
||||
file path=usr/include/cups/http.h
|
||||
file path=usr/include/cups/ipp.h
|
||||
file path=usr/include/cups/language.h
|
||||
file path=usr/include/cups/ppd.h
|
||||
file path=usr/include/cups/pwg.h
|
||||
file path=usr/include/cups/raster.h
|
||||
file path=usr/include/cups/sidechannel.h
|
||||
file path=usr/include/cups/transcode.h
|
||||
file path=usr/include/cups/versioning.h
|
||||
link path=usr/lib/$(MACH64)/libcups.so target=libcups.so.2
|
||||
file path=usr/lib/$(MACH64)/libcups.so.2
|
||||
link path=usr/lib/$(MACH64)/libcupsimage.so target=libcupsimage.so.2
|
||||
file path=usr/lib/$(MACH64)/libcupsimage.so.2
|
||||
file path=usr/lib/cups/backend/dnssd
|
||||
link path=usr/lib/cups/backend/http target=ipp
|
||||
link path=usr/lib/cups/backend/https target=ipp
|
||||
file path=usr/lib/cups/backend/ipp
|
||||
link path=usr/lib/cups/backend/ipps target=ipp
|
||||
file path=usr/lib/cups/backend/lpd
|
||||
file path=usr/lib/cups/backend/snmp
|
||||
file path=usr/lib/cups/backend/socket
|
||||
file path=usr/lib/cups/backend/usb
|
||||
file path=usr/lib/cups/cgi-bin/admin.cgi
|
||||
file path=usr/lib/cups/cgi-bin/classes.cgi
|
||||
file path=usr/lib/cups/cgi-bin/help.cgi
|
||||
file path=usr/lib/cups/cgi-bin/jobs.cgi
|
||||
file path=usr/lib/cups/cgi-bin/printers.cgi
|
||||
file path=usr/lib/cups/command/ippevepcl
|
||||
file path=usr/lib/cups/command/ippeveps
|
||||
file path=usr/lib/cups/daemon/cups-deviced
|
||||
file path=usr/lib/cups/daemon/cups-driverd
|
||||
file path=usr/lib/cups/daemon/cups-exec
|
||||
file path=usr/lib/cups/daemon/cups-lpd
|
||||
file path=usr/lib/cups/filter/commandtops
|
||||
file path=usr/lib/cups/filter/gziptoany
|
||||
file path=usr/lib/cups/filter/pstops
|
||||
file path=usr/lib/cups/filter/rastertoepson
|
||||
file path=usr/lib/cups/filter/rastertohp
|
||||
file path=usr/lib/cups/filter/rastertolabel
|
||||
file path=usr/lib/cups/filter/rastertopwg
|
||||
file path=usr/lib/cups/monitor/bcp
|
||||
file path=usr/lib/cups/monitor/tbcp
|
||||
file path=usr/lib/cups/notifier/dbus
|
||||
file path=usr/lib/cups/notifier/mailto
|
||||
file path=usr/lib/cups/notifier/rss
|
||||
link path=usr/lib/libcups.so target=libcups.so.2
|
||||
file path=usr/lib/libcups.so.2
|
||||
link path=usr/lib/libcupsimage.so target=libcupsimage.so.2
|
||||
file path=usr/lib/libcupsimage.so.2
|
||||
file path=usr/sbin/$(MACH32)/cupsaccept
|
||||
file path=usr/sbin/$(MACH32)/cupsctl
|
||||
file path=usr/sbin/$(MACH32)/cupsd
|
||||
link path=usr/sbin/$(MACH32)/cupsdisable target=cupsaccept
|
||||
link path=usr/sbin/$(MACH32)/cupsenable target=cupsaccept
|
||||
file path=usr/sbin/$(MACH32)/cupsfilter
|
||||
link path=usr/sbin/$(MACH32)/cupsreject target=cupsaccept
|
||||
file path=usr/sbin/$(MACH32)/lpadmin
|
||||
file path=usr/sbin/$(MACH32)/lpc
|
||||
file path=usr/sbin/$(MACH32)/lpinfo
|
||||
file path=usr/sbin/$(MACH32)/lpmove
|
||||
file path=usr/sbin/cupsaccept
|
||||
file path=usr/sbin/cupsctl
|
||||
file path=usr/sbin/cupsd
|
||||
link path=usr/sbin/cupsdisable target=cupsaccept
|
||||
link path=usr/sbin/cupsenable target=cupsaccept
|
||||
file path=usr/sbin/cupsfilter
|
||||
link path=usr/sbin/cupsreject target=cupsaccept
|
||||
file path=usr/sbin/lpadmin
|
||||
file path=usr/sbin/lpc
|
||||
file path=usr/sbin/lpinfo
|
||||
file path=usr/sbin/lpmove
|
||||
file path=usr/share/applications/cups.desktop
|
||||
file path=usr/share/cups/drv/sample.drv
|
||||
file path=usr/share/cups/examples/color.drv
|
||||
file path=usr/share/cups/examples/constraint.drv
|
||||
file path=usr/share/cups/examples/custom.drv
|
||||
file path=usr/share/cups/examples/grouping.drv
|
||||
file path=usr/share/cups/examples/laserjet-basic.drv
|
||||
file path=usr/share/cups/examples/laserjet-pjl.drv
|
||||
file path=usr/share/cups/examples/minimum.drv
|
||||
file path=usr/share/cups/examples/postscript.drv
|
||||
file path=usr/share/cups/examples/r300-basic.drv
|
||||
file path=usr/share/cups/examples/r300-colorman.drv
|
||||
file path=usr/share/cups/examples/r300-remote.drv
|
||||
file path=usr/share/cups/ipptool/cancel-current-job.test
|
||||
file path=usr/share/cups/ipptool/color.jpg
|
||||
file path=usr/share/cups/ipptool/create-job-format.test
|
||||
file path=usr/share/cups/ipptool/create-job-sheets.test
|
||||
file path=usr/share/cups/ipptool/create-job-timeout.test
|
||||
file path=usr/share/cups/ipptool/create-job.test
|
||||
file path=usr/share/cups/ipptool/create-printer-subscription.test
|
||||
file path=usr/share/cups/ipptool/cups-create-local-printer.test
|
||||
file path=usr/share/cups/ipptool/document-a4.pdf
|
||||
file path=usr/share/cups/ipptool/document-a4.ps
|
||||
file path=usr/share/cups/ipptool/document-letter.pdf
|
||||
file path=usr/share/cups/ipptool/document-letter.ps
|
||||
file path=usr/share/cups/ipptool/fax-job.test
|
||||
file path=usr/share/cups/ipptool/get-completed-jobs.test
|
||||
file path=usr/share/cups/ipptool/get-devices.test
|
||||
file path=usr/share/cups/ipptool/get-job-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-job-attributes2.test
|
||||
file path=usr/share/cups/ipptool/get-job-template-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-jobs.test
|
||||
file path=usr/share/cups/ipptool/get-notifications.test
|
||||
file path=usr/share/cups/ipptool/get-ppd-printer.test
|
||||
file path=usr/share/cups/ipptool/get-ppd.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-drv-only.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-language.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-make-and-model.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-make.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-product.test
|
||||
file path=usr/share/cups/ipptool/get-ppds-psversion.test
|
||||
file path=usr/share/cups/ipptool/get-ppds.test
|
||||
file path=usr/share/cups/ipptool/get-printer-attributes-suite.test
|
||||
file path=usr/share/cups/ipptool/get-printer-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-printer-description-attributes.test
|
||||
file path=usr/share/cups/ipptool/get-printers-printer-id.test
|
||||
file path=usr/share/cups/ipptool/get-printers.test
|
||||
file path=usr/share/cups/ipptool/get-subscriptions.test
|
||||
file path=usr/share/cups/ipptool/gray.jpg
|
||||
file path=usr/share/cups/ipptool/identify-printer-display.test
|
||||
file path=usr/share/cups/ipptool/identify-printer-multiple.test
|
||||
file path=usr/share/cups/ipptool/identify-printer.test
|
||||
file path=usr/share/cups/ipptool/ipp-1.1.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.0.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.1.test
|
||||
file path=usr/share/cups/ipptool/ipp-2.2.test
|
||||
file path=usr/share/cups/ipptool/ipp-backend.test
|
||||
file path=usr/share/cups/ipptool/ipp-everywhere.test
|
||||
file path=usr/share/cups/ipptool/onepage-a4.pdf
|
||||
file path=usr/share/cups/ipptool/onepage-a4.ps
|
||||
file path=usr/share/cups/ipptool/onepage-letter.pdf
|
||||
file path=usr/share/cups/ipptool/onepage-letter.ps
|
||||
file path=usr/share/cups/ipptool/print-job-and-wait.test
|
||||
file path=usr/share/cups/ipptool/print-job-deflate.test
|
||||
file path=usr/share/cups/ipptool/print-job-gzip.test
|
||||
file path=usr/share/cups/ipptool/print-job-hold.test
|
||||
file path=usr/share/cups/ipptool/print-job-letter.test
|
||||
file path=usr/share/cups/ipptool/print-job-manual.test
|
||||
file path=usr/share/cups/ipptool/print-job-media-col.test
|
||||
file path=usr/share/cups/ipptool/print-job-password.test
|
||||
file path=usr/share/cups/ipptool/print-job.test
|
||||
file path=usr/share/cups/ipptool/print-uri.test
|
||||
file path=usr/share/cups/ipptool/set-attrs-hold.test
|
||||
file path=usr/share/cups/ipptool/testfile.jpg
|
||||
file path=usr/share/cups/ipptool/testfile.pcl
|
||||
file path=usr/share/cups/ipptool/testfile.pdf
|
||||
file path=usr/share/cups/ipptool/testfile.ps
|
||||
file path=usr/share/cups/ipptool/testfile.txt
|
||||
file path=usr/share/cups/ipptool/validate-job.test
|
||||
file path=usr/share/cups/mime/mime.convs
|
||||
file path=usr/share/cups/mime/mime.convs.O
|
||||
file path=usr/share/cups/mime/mime.types
|
||||
file path=usr/share/cups/mime/mime.types.O
|
||||
file path=usr/share/cups/ppdc/epson.h
|
||||
file path=usr/share/cups/ppdc/font.defs
|
||||
file path=usr/share/cups/ppdc/hp.h
|
||||
file path=usr/share/cups/ppdc/label.h
|
||||
file path=usr/share/cups/ppdc/media.defs
|
||||
file path=usr/share/cups/ppdc/raster.defs
|
||||
file path=usr/share/cups/templates/add-class.tmpl
|
||||
file path=usr/share/cups/templates/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/admin.tmpl
|
||||
file path=usr/share/cups/templates/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/class-added.tmpl
|
||||
file path=usr/share/cups/templates/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/class.tmpl
|
||||
file path=usr/share/cups/templates/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/classes.tmpl
|
||||
file path=usr/share/cups/templates/command.tmpl
|
||||
file path=usr/share/cups/templates/de/add-class.tmpl
|
||||
file path=usr/share/cups/templates/de/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/de/admin.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/de/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/de/class-added.tmpl
|
||||
file path=usr/share/cups/templates/de/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/de/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/de/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/de/class.tmpl
|
||||
file path=usr/share/cups/templates/de/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/de/classes.tmpl
|
||||
file path=usr/share/cups/templates/de/command.tmpl
|
||||
file path=usr/share/cups/templates/de/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/de/error-op.tmpl
|
||||
file path=usr/share/cups/templates/de/error.tmpl
|
||||
file path=usr/share/cups/templates/de/header.tmpl
|
||||
file path=usr/share/cups/templates/de/help-header.tmpl
|
||||
file path=usr/share/cups/templates/de/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/de/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/de/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/de/job-move.tmpl
|
||||
file path=usr/share/cups/templates/de/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/de/job-release.tmpl
|
||||
file path=usr/share/cups/templates/de/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/de/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/jobs.tmpl
|
||||
file path=usr/share/cups/templates/de/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/de/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/de/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/de/norestart.tmpl
|
||||
file path=usr/share/cups/templates/de/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/de/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/de/option-header.tmpl
|
||||
file path=usr/share/cups/templates/de/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/de/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/de/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/pager.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/de/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/de/printer.tmpl
|
||||
file path=usr/share/cups/templates/de/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/de/printers.tmpl
|
||||
file path=usr/share/cups/templates/de/restart.tmpl
|
||||
file path=usr/share/cups/templates/de/search.tmpl
|
||||
file path=usr/share/cups/templates/de/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/de/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/test-page.tmpl
|
||||
file path=usr/share/cups/templates/de/trailer.tmpl
|
||||
file path=usr/share/cups/templates/de/users.tmpl
|
||||
file path=usr/share/cups/templates/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/error-op.tmpl
|
||||
file path=usr/share/cups/templates/error.tmpl
|
||||
file path=usr/share/cups/templates/es/add-class.tmpl
|
||||
file path=usr/share/cups/templates/es/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/es/admin.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/es/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/es/class-added.tmpl
|
||||
file path=usr/share/cups/templates/es/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/es/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/es/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/es/class.tmpl
|
||||
file path=usr/share/cups/templates/es/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/es/classes.tmpl
|
||||
file path=usr/share/cups/templates/es/command.tmpl
|
||||
file path=usr/share/cups/templates/es/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/es/error-op.tmpl
|
||||
file path=usr/share/cups/templates/es/error.tmpl
|
||||
file path=usr/share/cups/templates/es/header.tmpl
|
||||
file path=usr/share/cups/templates/es/help-header.tmpl
|
||||
file path=usr/share/cups/templates/es/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/es/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/es/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/es/job-move.tmpl
|
||||
file path=usr/share/cups/templates/es/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/es/job-release.tmpl
|
||||
file path=usr/share/cups/templates/es/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/es/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/jobs.tmpl
|
||||
file path=usr/share/cups/templates/es/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/es/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/es/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/es/norestart.tmpl
|
||||
file path=usr/share/cups/templates/es/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/es/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/es/option-header.tmpl
|
||||
file path=usr/share/cups/templates/es/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/es/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/es/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/pager.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/es/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/es/printer.tmpl
|
||||
file path=usr/share/cups/templates/es/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/es/printers.tmpl
|
||||
file path=usr/share/cups/templates/es/restart.tmpl
|
||||
file path=usr/share/cups/templates/es/search.tmpl
|
||||
file path=usr/share/cups/templates/es/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/es/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/test-page.tmpl
|
||||
file path=usr/share/cups/templates/es/trailer.tmpl
|
||||
file path=usr/share/cups/templates/es/users.tmpl
|
||||
file path=usr/share/cups/templates/fr/add-class.tmpl
|
||||
file path=usr/share/cups/templates/fr/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/admin.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/fr/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-added.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/fr/class.tmpl
|
||||
file path=usr/share/cups/templates/fr/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/classes.tmpl
|
||||
file path=usr/share/cups/templates/fr/command.tmpl
|
||||
file path=usr/share/cups/templates/fr/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/fr/error-op.tmpl
|
||||
file path=usr/share/cups/templates/fr/error.tmpl
|
||||
file path=usr/share/cups/templates/fr/header.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/fr/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-move.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-release.tmpl
|
||||
file path=usr/share/cups/templates/fr/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/fr/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/jobs.tmpl
|
||||
file path=usr/share/cups/templates/fr/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/fr/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/fr/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/norestart.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/fr/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/pager.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/fr/printer.tmpl
|
||||
file path=usr/share/cups/templates/fr/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/printers.tmpl
|
||||
file path=usr/share/cups/templates/fr/restart.tmpl
|
||||
file path=usr/share/cups/templates/fr/search.tmpl
|
||||
file path=usr/share/cups/templates/fr/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/fr/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/test-page.tmpl
|
||||
file path=usr/share/cups/templates/fr/trailer.tmpl
|
||||
file path=usr/share/cups/templates/fr/users.tmpl
|
||||
file path=usr/share/cups/templates/header.tmpl
|
||||
file path=usr/share/cups/templates/help-header.tmpl
|
||||
file path=usr/share/cups/templates/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/add-class.tmpl
|
||||
file path=usr/share/cups/templates/ja/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/admin.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/ja/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-added.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/ja/class.tmpl
|
||||
file path=usr/share/cups/templates/ja/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/classes.tmpl
|
||||
file path=usr/share/cups/templates/ja/command.tmpl
|
||||
file path=usr/share/cups/templates/ja/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/ja/error-op.tmpl
|
||||
file path=usr/share/cups/templates/ja/error.tmpl
|
||||
file path=usr/share/cups/templates/ja/header.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/ja/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-move.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-release.tmpl
|
||||
file path=usr/share/cups/templates/ja/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/ja/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/jobs.tmpl
|
||||
file path=usr/share/cups/templates/ja/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/ja/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/ja/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/norestart.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/ja/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/pager.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/ja/printer.tmpl
|
||||
file path=usr/share/cups/templates/ja/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/printers.tmpl
|
||||
file path=usr/share/cups/templates/ja/restart.tmpl
|
||||
file path=usr/share/cups/templates/ja/search.tmpl
|
||||
file path=usr/share/cups/templates/ja/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/ja/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/test-page.tmpl
|
||||
file path=usr/share/cups/templates/ja/trailer.tmpl
|
||||
file path=usr/share/cups/templates/ja/users.tmpl
|
||||
file path=usr/share/cups/templates/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/job-move.tmpl
|
||||
file path=usr/share/cups/templates/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/job-release.tmpl
|
||||
file path=usr/share/cups/templates/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/jobs.tmpl
|
||||
file path=usr/share/cups/templates/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/norestart.tmpl
|
||||
file path=usr/share/cups/templates/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/option-header.tmpl
|
||||
file path=usr/share/cups/templates/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pager.tmpl
|
||||
file path=usr/share/cups/templates/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/printer.tmpl
|
||||
file path=usr/share/cups/templates/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/add-class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/admin.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-added.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/classes.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/command.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/error-op.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/error.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-move.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-release.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/jobs.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/norestart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/pager.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/printers.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/restart.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/search.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/test-page.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/trailer.tmpl
|
||||
file path=usr/share/cups/templates/pt_BR/users.tmpl
|
||||
file path=usr/share/cups/templates/restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/add-class.tmpl
|
||||
file path=usr/share/cups/templates/ru/add-printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/admin.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-device.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-make.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-model.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-serial.tmpl
|
||||
file path=usr/share/cups/templates/ru/choose-uri.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-added.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/class-modified.tmpl
|
||||
file path=usr/share/cups/templates/ru/class.tmpl
|
||||
file path=usr/share/cups/templates/ru/classes-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/classes.tmpl
|
||||
file path=usr/share/cups/templates/ru/command.tmpl
|
||||
file path=usr/share/cups/templates/ru/edit-config.tmpl
|
||||
file path=usr/share/cups/templates/ru/error-op.tmpl
|
||||
file path=usr/share/cups/templates/ru/error.tmpl
|
||||
file path=usr/share/cups/templates/ru/header.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-printable.tmpl
|
||||
file path=usr/share/cups/templates/ru/help-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-cancel.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-hold.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-move.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-moved.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-release.tmpl
|
||||
file path=usr/share/cups/templates/ru/job-restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/jobs.tmpl
|
||||
file path=usr/share/cups/templates/ru/list-available-printers.tmpl
|
||||
file path=usr/share/cups/templates/ru/modify-class.tmpl
|
||||
file path=usr/share/cups/templates/ru/modify-printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/norestart.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-boolean.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-conflict.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-pickmany.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-pickone.tmpl
|
||||
file path=usr/share/cups/templates/ru/option-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/pager.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-accept.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-added.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-cancel-jobs.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-configured.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-confirm.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-default.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-deleted.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-jobs-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-modified.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-reject.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-start.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer-stop.tmpl
|
||||
file path=usr/share/cups/templates/ru/printer.tmpl
|
||||
file path=usr/share/cups/templates/ru/printers-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/printers.tmpl
|
||||
file path=usr/share/cups/templates/ru/restart.tmpl
|
||||
file path=usr/share/cups/templates/ru/search.tmpl
|
||||
file path=usr/share/cups/templates/ru/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/ru/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/test-page.tmpl
|
||||
file path=usr/share/cups/templates/ru/trailer.tmpl
|
||||
file path=usr/share/cups/templates/ru/users.tmpl
|
||||
file path=usr/share/cups/templates/search.tmpl
|
||||
file path=usr/share/cups/templates/set-printer-options-header.tmpl
|
||||
file path=usr/share/cups/templates/set-printer-options-trailer.tmpl
|
||||
file path=usr/share/cups/templates/test-page.tmpl
|
||||
file path=usr/share/cups/templates/trailer.tmpl
|
||||
file path=usr/share/cups/templates/users.tmpl
|
||||
file path=usr/share/cups/usb/org.cups.usb-quirks
|
||||
file path=usr/share/doc/cups/apple-touch-icon.png
|
||||
file path=usr/share/doc/cups/cups-printable.css
|
||||
file path=usr/share/doc/cups/cups.css
|
||||
file path=usr/share/doc/cups/de/index.html
|
||||
file path=usr/share/doc/cups/es/index.html
|
||||
file path=usr/share/doc/cups/help/accounting.html
|
||||
file path=usr/share/doc/cups/help/admin.html
|
||||
file path=usr/share/doc/cups/help/api-admin.html
|
||||
file path=usr/share/doc/cups/help/api-filter.html
|
||||
file path=usr/share/doc/cups/help/api-ppd.html
|
||||
file path=usr/share/doc/cups/help/api-raster.html
|
||||
file path=usr/share/doc/cups/help/cgi.html
|
||||
file path=usr/share/doc/cups/help/cupspm.html
|
||||
file path=usr/share/doc/cups/help/encryption.html
|
||||
file path=usr/share/doc/cups/help/firewalls.html
|
||||
file path=usr/share/doc/cups/help/glossary.html
|
||||
file path=usr/share/doc/cups/help/kerberos.html
|
||||
file path=usr/share/doc/cups/help/license.html
|
||||
file path=usr/share/doc/cups/help/man-backend.html
|
||||
file path=usr/share/doc/cups/help/man-cancel.html
|
||||
file path=usr/share/doc/cups/help/man-classes.conf.html
|
||||
file path=usr/share/doc/cups/help/man-client.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cups-config.html
|
||||
file path=usr/share/doc/cups/help/man-cups-files.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cups-lpd.html
|
||||
file path=usr/share/doc/cups/help/man-cups-snmp.html
|
||||
file path=usr/share/doc/cups/help/man-cups.html
|
||||
file path=usr/share/doc/cups/help/man-cupsaccept.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd-helper.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd-logs.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd.conf.html
|
||||
file path=usr/share/doc/cups/help/man-cupsd.html
|
||||
file path=usr/share/doc/cups/help/man-cupsenable.html
|
||||
file path=usr/share/doc/cups/help/man-cupstestppd.html
|
||||
file path=usr/share/doc/cups/help/man-filter.html
|
||||
file path=usr/share/doc/cups/help/man-ippevepcl.html
|
||||
file path=usr/share/doc/cups/help/man-ippeveprinter.html
|
||||
file path=usr/share/doc/cups/help/man-ippfind.html
|
||||
file path=usr/share/doc/cups/help/man-ipptool.html
|
||||
file path=usr/share/doc/cups/help/man-ipptoolfile.html
|
||||
file path=usr/share/doc/cups/help/man-lp.html
|
||||
file path=usr/share/doc/cups/help/man-lpadmin.html
|
||||
file path=usr/share/doc/cups/help/man-lpc.html
|
||||
file path=usr/share/doc/cups/help/man-lpinfo.html
|
||||
file path=usr/share/doc/cups/help/man-lpmove.html
|
||||
file path=usr/share/doc/cups/help/man-lpoptions.html
|
||||
file path=usr/share/doc/cups/help/man-lpq.html
|
||||
file path=usr/share/doc/cups/help/man-lpr.html
|
||||
file path=usr/share/doc/cups/help/man-lprm.html
|
||||
file path=usr/share/doc/cups/help/man-lpstat.html
|
||||
file path=usr/share/doc/cups/help/man-mime.convs.html
|
||||
file path=usr/share/doc/cups/help/man-mime.types.html
|
||||
file path=usr/share/doc/cups/help/man-notifier.html
|
||||
file path=usr/share/doc/cups/help/man-ppdc.html
|
||||
file path=usr/share/doc/cups/help/man-ppdhtml.html
|
||||
file path=usr/share/doc/cups/help/man-ppdi.html
|
||||
file path=usr/share/doc/cups/help/man-ppdmerge.html
|
||||
file path=usr/share/doc/cups/help/man-ppdpo.html
|
||||
file path=usr/share/doc/cups/help/man-printers.conf.html
|
||||
file path=usr/share/doc/cups/help/man-subscriptions.conf.html
|
||||
file path=usr/share/doc/cups/help/network.html
|
||||
file path=usr/share/doc/cups/help/options.html
|
||||
file path=usr/share/doc/cups/help/overview.html
|
||||
file path=usr/share/doc/cups/help/policies.html
|
||||
file path=usr/share/doc/cups/help/postscript-driver.html
|
||||
file path=usr/share/doc/cups/help/ppd-compiler.html
|
||||
file path=usr/share/doc/cups/help/raster-driver.html
|
||||
file path=usr/share/doc/cups/help/ref-ppdcfile.html
|
||||
file path=usr/share/doc/cups/help/security.html
|
||||
file path=usr/share/doc/cups/help/sharing.html
|
||||
file path=usr/share/doc/cups/help/spec-banner.html
|
||||
file path=usr/share/doc/cups/help/spec-command.html
|
||||
file path=usr/share/doc/cups/help/spec-design.html
|
||||
file path=usr/share/doc/cups/help/spec-ipp.html
|
||||
file path=usr/share/doc/cups/help/spec-ppd.html
|
||||
file path=usr/share/doc/cups/help/spec-raster.html
|
||||
file path=usr/share/doc/cups/help/spec-stp.html
|
||||
file path=usr/share/doc/cups/help/translation.html
|
||||
file path=usr/share/doc/cups/images/color-wheel.png
|
||||
file path=usr/share/doc/cups/images/cups-block-diagram.png
|
||||
file path=usr/share/doc/cups/images/cups-command-chain.png
|
||||
file path=usr/share/doc/cups/images/cups-icon.png
|
||||
file path=usr/share/doc/cups/images/cups-postscript-chain.png
|
||||
file path=usr/share/doc/cups/images/cups-raster-chain.png
|
||||
file path=usr/share/doc/cups/images/cups.png
|
||||
file path=usr/share/doc/cups/images/generic.png
|
||||
file path=usr/share/doc/cups/images/left.gif
|
||||
file path=usr/share/doc/cups/images/raster-organization.png
|
||||
file path=usr/share/doc/cups/images/raster.png
|
||||
file path=usr/share/doc/cups/images/right.gif
|
||||
file path=usr/share/doc/cups/images/sample-image.png
|
||||
file path=usr/share/doc/cups/images/sel.gif
|
||||
file path=usr/share/doc/cups/images/smiley.jpg
|
||||
file path=usr/share/doc/cups/images/unsel.gif
|
||||
file path=usr/share/doc/cups/images/wait.gif
|
||||
file path=usr/share/doc/cups/index.html
|
||||
file path=usr/share/doc/cups/ja/index.html
|
||||
file path=usr/share/doc/cups/pt_BR/index.html
|
||||
file path=usr/share/doc/cups/robots.txt
|
||||
file path=usr/share/doc/cups/ru/index.html
|
||||
file path=usr/share/icons/hicolor/128x128/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/16x16/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/32x32/apps/cups.png
|
||||
file path=usr/share/icons/hicolor/64x64/apps/cups.png
|
||||
file path=usr/share/locale/ca/cups_ca.po
|
||||
file path=usr/share/locale/cs/cups_cs.po
|
||||
file path=usr/share/locale/de/cups_de.po
|
||||
file path=usr/share/locale/en/cups_en.po
|
||||
file path=usr/share/locale/es/cups_es.po
|
||||
file path=usr/share/locale/fr/cups_fr.po
|
||||
file path=usr/share/locale/it/cups_it.po
|
||||
file path=usr/share/locale/ja/cups_ja.po
|
||||
file path=usr/share/locale/pt_BR/cups_pt_BR.po
|
||||
file path=usr/share/locale/ru/cups_ru.po
|
||||
file path=usr/share/locale/zh_CN/cups_zh_CN.po
|
||||
file path=usr/share/man/man1/cancel.1
|
||||
file path=usr/share/man/man1/cups-config.1
|
||||
file path=usr/share/man/man1/cups.1
|
||||
file path=usr/share/man/man1/cupstestppd.1
|
||||
file path=usr/share/man/man1/ippeveprinter.1
|
||||
file path=usr/share/man/man1/ippfind.1
|
||||
file path=usr/share/man/man1/ipptool.1
|
||||
file path=usr/share/man/man1/lp.1
|
||||
file path=usr/share/man/man1/lpoptions.1
|
||||
file path=usr/share/man/man1/lpq.1
|
||||
file path=usr/share/man/man1/lpr.1
|
||||
file path=usr/share/man/man1/lprm.1
|
||||
file path=usr/share/man/man1/lpstat.1
|
||||
file path=usr/share/man/man1/ppdc.1
|
||||
file path=usr/share/man/man1/ppdhtml.1
|
||||
file path=usr/share/man/man1/ppdi.1
|
||||
file path=usr/share/man/man1/ppdmerge.1
|
||||
file path=usr/share/man/man1/ppdpo.1
|
||||
file path=usr/share/man/man5/classes.conf.5
|
||||
file path=usr/share/man/man5/client.conf.5
|
||||
file path=usr/share/man/man5/cups-files.conf.5
|
||||
file path=usr/share/man/man5/cups-snmp.conf.5
|
||||
file path=usr/share/man/man5/cupsd-logs.5
|
||||
file path=usr/share/man/man5/cupsd.conf.5
|
||||
file path=usr/share/man/man5/ipptoolfile.5
|
||||
file path=usr/share/man/man5/mailto.conf.5
|
||||
file path=usr/share/man/man5/mime.convs.5
|
||||
file path=usr/share/man/man5/mime.types.5
|
||||
file path=usr/share/man/man5/ppdcfile.5
|
||||
file path=usr/share/man/man5/printers.conf.5
|
||||
file path=usr/share/man/man5/subscriptions.conf.5
|
||||
file path=usr/share/man/man7/backend.7
|
||||
file path=usr/share/man/man7/filter.7
|
||||
file path=usr/share/man/man7/ippevepcl.7
|
||||
link path=usr/share/man/man7/ippeveps.7 target=ippevepcl.7
|
||||
file path=usr/share/man/man7/notifier.7
|
||||
link path=usr/share/man/man8/cups-deviced.8 target=cupsd-helper.8
|
||||
link path=usr/share/man/man8/cups-driverd.8 target=cupsd-helper.8
|
||||
link path=usr/share/man/man8/cups-exec.8 target=cupsd-helper.8
|
||||
file path=usr/share/man/man8/cups-lpd.8
|
||||
file path=usr/share/man/man8/cups-snmp.8
|
||||
file path=usr/share/man/man8/cupsaccept.8
|
||||
file path=usr/share/man/man8/cupsctl.8
|
||||
file path=usr/share/man/man8/cupsd-helper.8
|
||||
file path=usr/share/man/man8/cupsd.8
|
||||
link path=usr/share/man/man8/cupsdisable.8 target=cupsenable.8
|
||||
file path=usr/share/man/man8/cupsenable.8
|
||||
file path=usr/share/man/man8/cupsfilter.8
|
||||
link path=usr/share/man/man8/cupsreject.8 target=cupsaccept.8
|
||||
file path=usr/share/man/man8/lpadmin.8
|
||||
file path=usr/share/man/man8/lpc.8
|
||||
file path=usr/share/man/man8/lpinfo.8
|
||||
file path=usr/share/man/man8/lpmove.8
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
smf(5) support in cups upstream was introduced in times of
|
||||
Open Solaris enthusiasm. Currently the community do not like
|
||||
to support anything non-Apple.
|
||||
It might worth to ask to remove the smf(5) support from
|
||||
cups upstream entirely then keep it on by own.
|
||||
|
||||
diff -wpruN '--exclude=*.orig' a~/scheduler/cups.xml.in a/scheduler/cups.xml.in
|
||||
--- a~/scheduler/cups.xml.in 1970-01-01 00:00:00
|
||||
+++ a/scheduler/cups.xml.in 1970-01-01 00:00:00
|
||||
@@ -41,7 +41,6 @@
|
||||
<service_fmri value='svc:/network/loopback' />
|
||||
</dependency>
|
||||
|
||||
-
|
||||
<dependency
|
||||
name='network'
|
||||
grouping='optional_all'
|
||||
@@ -50,21 +49,13 @@
|
||||
<service_fmri value='svc:/milestone/network' />
|
||||
</dependency>
|
||||
|
||||
- <dependency
|
||||
- name='lpsched'
|
||||
- grouping='exclude_all'
|
||||
- restart_on='none'
|
||||
- type='service'>
|
||||
- <service_fmri value='svc:/application/print/server' />
|
||||
- </dependency>
|
||||
-
|
||||
<exec_method
|
||||
type='method'
|
||||
name='stop'
|
||||
exec=':kill'
|
||||
timeout_seconds='60' />
|
||||
|
||||
- <instance name='default' enabled='false' >
|
||||
+ <instance name='default' enabled='true' >
|
||||
|
||||
<dependency
|
||||
name='config_data'
|
||||
@@ -79,16 +70,20 @@
|
||||
name='start'
|
||||
exec='@sbindir@/cupsd'
|
||||
timeout_seconds='60' >
|
||||
- <method_context>
|
||||
+ <method_context security_flags="aslr">
|
||||
<method_credential user='root' group='@CUPS_GROUP@' />
|
||||
</method_context>
|
||||
</exec_method>
|
||||
|
||||
<property_group name='general' type='framework'>
|
||||
+ <propval name='active' type='boolean'
|
||||
+ value='true' />
|
||||
<propval name='action_authorization' type='astring'
|
||||
value='solaris.smf.manage.cups' />
|
||||
<propval name='value_authorization' type='astring'
|
||||
- value='solaris.smf.value.cups' />
|
||||
+ value='solaris.smf.manage.cups' />
|
||||
+ <!-- sub-process core dumps shouldn't restart session -->
|
||||
+ <propval name='ignore_error' type='astring' value='core,signal' />
|
||||
</property_group>
|
||||
|
||||
<template>
|
||||
@@ -142,21 +137,13 @@
|
||||
<service_fmri value='svc:/milestone/network' />
|
||||
</dependency>
|
||||
|
||||
- <dependency
|
||||
- name='in-lpd'
|
||||
- grouping='exclude_all'
|
||||
- restart_on='none'
|
||||
- type='service'>
|
||||
- <service_fmri value='svc:/application/print/rfc1179' />
|
||||
- </dependency>
|
||||
-
|
||||
<exec_method
|
||||
type='method'
|
||||
name='stop'
|
||||
exec=':kill'
|
||||
timeout_seconds='60' />
|
||||
|
||||
- <instance name='default' enabled='false' >
|
||||
+ <instance name='default' enabled='true' >
|
||||
<dependency
|
||||
name='cupsd'
|
||||
grouping='require_all'
|
||||
@@ -170,7 +157,7 @@
|
||||
name='inetd_start'
|
||||
exec='@CUPS_SERVERBIN@/daemon/cups-lpd -o document-format=application/octet-stream'
|
||||
timeout_seconds='0'>
|
||||
- <method_context>
|
||||
+ <method_context security_flags="aslr">
|
||||
<method_credential user='@CUPS_USER@' group='@CUPS_GROUP@' />
|
||||
</method_context>
|
||||
</exec_method>
|
||||
@@ -188,7 +175,7 @@
|
||||
<propval name='action_authorization' type='astring'
|
||||
value='solaris.smf.manage.cups' />
|
||||
<propval name='value_authorization' type='astring'
|
||||
- value='solaris.smf.value.cups' />
|
||||
+ value='solaris.smf.manage.cups' />
|
||||
</property_group>
|
||||
|
||||
<template>
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff -wpruN '--exclude=*.orig' a~/config-scripts/cups-compiler.m4 a/config-scripts/cups-compiler.m4
|
||||
--- a~/config-scripts/cups-compiler.m4 1970-01-01 00:00:00
|
||||
+++ a/config-scripts/cups-compiler.m4 1970-01-01 00:00:00
|
||||
@@ -145,7 +145,7 @@ if test -n "$GCC"; then
|
||||
|
||||
*)
|
||||
CFLAGS="$CFLAGS -fPIE -pie"
|
||||
- AC_TRY_COMPILE(,,[
|
||||
+ AC_TRY_LINK(,,[
|
||||
PIEFLAGS="-fPIE -pie"
|
||||
AC_MSG_RESULT(yes)],
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
"dependencies": [
|
||||
"SUNWcs",
|
||||
"image/library/libpng16",
|
||||
"image/library/libtiff",
|
||||
"library/gnutls-3",
|
||||
"library/libusb-1",
|
||||
"library/zlib",
|
||||
"runtime/perl-522",
|
||||
"service/network/dns/mdns",
|
||||
"service/network/slp",
|
||||
"service/security/kerberos-5",
|
||||
"shell/ksh93",
|
||||
"system/library",
|
||||
"system/library/g++-7-runtime",
|
||||
"system/library/gcc-7-runtime",
|
||||
"system/library/libdbus",
|
||||
"system/library/math",
|
||||
"system/library/security/gss",
|
||||
"system/network/avahi"
|
||||
],
|
||||
"fmris": [
|
||||
"library/print/cups-libs",
|
||||
"print/cups"
|
||||
],
|
||||
"name": "cups"
|
||||
}
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
ANT=/usr/bin/ant
|
||||
|
||||
COMPONENT_BUILD_ENV += JAVA_HOME="$(JAVA_HOME)"
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(ANT) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) $(@D)
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
COMPONENT_INSTALL_ENV += JAVA_HOME="$(JAVA_HOME)"
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
$(ANT) $(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
COMPONENT_TEST_ENV_CMD = $(ENV)
|
||||
COMPONENT_TEST_ENV += JAVA_HOME="$(JAVA_HOME)"
|
||||
COMPONENT_TEST_CMD = $(ANT)
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
#
|
||||
# Rules and Macros for building opens source software that uses AT&T's package
|
||||
# tool.
|
||||
#
|
||||
# To use these rules, include ../make-rules/attpackagemake.mk in your Makefile
|
||||
# and define "build", "install" targets appropriate to building your component.
|
||||
# Ex:
|
||||
#
|
||||
# build: $(BUILD_32) \
|
||||
# $(BUILD_64)
|
||||
#
|
||||
# install: $(INSTALL_32) \
|
||||
# $(INSTALL_64)
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your Makefile by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
|
||||
# COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
#
|
||||
# If component specific make targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
#
|
||||
|
||||
# Environment variables and arguments passed into the build and install
|
||||
# environment(s). These are the initial settings.
|
||||
COMPONENT_BUILD_ENV += \
|
||||
CC_EXPLICIT="$(CC)" \
|
||||
PATH=$(shell dirname $(CC)):$(PATH) \
|
||||
CC=$(shell basename $(CC))
|
||||
NPROC="$(NPROC)"
|
||||
|
||||
# This explicitly exports the build type for 32/64 bit distinction
|
||||
COMPONENT_BUILD_ARGS = \
|
||||
HOSTTYPE="$(HOSTTYPE$(BITS))" \
|
||||
CCFLAGS="$(CFLAGS)" \
|
||||
LDFLAGS="$(CXXFLAGS)"
|
||||
|
||||
# The install and test process needs the same environment as the build
|
||||
COMPONENT_INSTALL_ENV = $(COMPONENT_BUILD_ENV)
|
||||
COMPONENT_TEST_ENV = $(COMPONENT_BUILD_ENV)
|
||||
COMPONENT_INSTALL_ARGS = HOSTTYPE="$(HOSTTYPE$(BITS))"
|
||||
COMPONENT_TEST_ARGS = HOSTTYPE="$(HOSTTYPE$(BITS))"
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
bin/package make $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS)
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) $(@D)
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
$(RM) -r $(PROTO_DIR)/$(MACH$(BITS)); $(MKDIR) $(PROTO_DIR)/$(MACH$(BITS));
|
||||
cd $(@D); $(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
bin/package flat $(COMPONENT_INSTALL_TARGETS) \
|
||||
$(COMPONENT_INSTALL_ARGS) \
|
||||
$(PROTO_DIR)/$(MACH$(BITS)) $(COMPONENT_INSTALL_PACKAGES)
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
bin/package test $(COMPONENT_TEST_TARGETS) \
|
||||
$(COMPONENT_TEST_ARGS) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
bin/package test $(COMPONENT_TEST_TARGETS) \
|
||||
$(COMPONENT_TEST_ARGS)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,232 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2011 EveryCity Ltd. All rights reserved.
|
||||
# Copyright 2013 Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# Rules and Macros for building open source software that uses the CMake utility
|
||||
# from Kitware (http://www.cmake.org) to configure the build.
|
||||
# This file implements the same rules as configure.mk and thus uses GNU Make
|
||||
# to build the components with support of multiple version (32/64 bit).
|
||||
#
|
||||
# To use these rules, include ../make-rules/cmake.mk in your Makefile
|
||||
# and define "build", "install", and "test" targets appropriate to building
|
||||
# your component.
|
||||
# Ex:
|
||||
#
|
||||
# build: $(SOURCE_DIR)/build/$(MACH32)/.built \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.built
|
||||
#
|
||||
# install: $(SOURCE_DIR)/build/$(MACH32)/.installed \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.installed
|
||||
#
|
||||
# test: $(SOURCE_DIR)/build/$(MACH32)/.tested \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.tested
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your make file by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_CMAKE_ACTION, COMPONENT_POST_CMAKE_ACTION
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
|
||||
# COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
# COMPONENT_PRE_TEST_ACTION, COMPONENT_POST_TEST_ACTION
|
||||
#
|
||||
# If component specific make targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
# COMPONENT_TEST_TARGETS
|
||||
#
|
||||
|
||||
CMAKE_PREFIX = /usr
|
||||
|
||||
#
|
||||
# Define path the same way as configure.mk
|
||||
# Ref: http://www.cmake.org/cmake/help/v2.8.12/cmake.html#module:GNUInstallDirs
|
||||
#
|
||||
|
||||
ifeq ($(strip $(PREFERRED_BITS)),64)
|
||||
CMAKE_BINDIR.32 = bin/$(MACH32)
|
||||
CMAKE_BINDIR.64 = bin
|
||||
CMAKE_SBINDIR.32 = sbin/$(MACH32)
|
||||
CMAKE_SBINDIR.64 = sbin
|
||||
else
|
||||
CMAKE_BINDIR.32 = bin
|
||||
CMAKE_BINDIR.64 = bin/$(MACH64)
|
||||
CMAKE_SBINDIR.32 = sbin
|
||||
CMAKE_SBINDIR.64 = sbin/$(MACH64)
|
||||
endif
|
||||
CMAKE_LIBDIR.32 = lib
|
||||
CMAKE_LIBDIR.64 = lib/$(MACH64)
|
||||
CMAKE_LIBEXECDIR.32 = lib
|
||||
CMAKE_LIBEXECDIR.64 = lib/$(MACH64)
|
||||
CMAKE_INCLUDEDIR = include
|
||||
CMAKE_DATAROOTDIR = share
|
||||
CMAKE_DATADIR = $(CMAKE_DATAROOTDIR)
|
||||
CMAKE_INFODIR = $(CMAKE_DATAROOTDIR)/info
|
||||
CMAKE_LOCALEDIR = $(CMAKE_DATAROOTDIR)/locale
|
||||
CMAKE_MANDIR = $(CMAKE_DATAROOTDIR)/man
|
||||
CMAKE_DOCDIR = $(CMAKE_DATAROOTDIR)/doc
|
||||
|
||||
CMAKE_ENV = CONFIG_SHELL="$(CONFIG_SHELL)"
|
||||
CMAKE_ENV += CC="$(CC)"
|
||||
CMAKE_ENV += CXX="$(CXX)"
|
||||
CMAKE_ENV += F77="$(F77)"
|
||||
CMAKE_ENV += FC="$(FC)"
|
||||
CMAKE_ENV += CFLAGS="$(CFLAGS)"
|
||||
CMAKE_ENV += CXXFLAGS="$(CXXFLAGS)"
|
||||
CMAKE_ENV += FFLAGS="$(F77FLAGS)"
|
||||
CMAKE_ENV += FCFLAGS="$(FCFLAGS)"
|
||||
CMAKE_ENV += LDFLAGS="$(LDFLAGS)"
|
||||
CMAKE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
# Rewrite absolute source-code paths into relative for ccache, so that any
|
||||
# workspace with a shared CCACHE_DIR can benefit when compiling a component
|
||||
ifneq ($(strip $(CCACHE)),)
|
||||
CMAKE_ENV += CCACHE="$(CCACHE)"
|
||||
CMAKE_ENV += CC_gcc_32="$(CC_gcc_32)"
|
||||
CMAKE_ENV += CC_gcc_64="$(CC_gcc_32)"
|
||||
CMAKE_ENV += CXX_gcc_32="$(CXX_gcc_64)"
|
||||
CMAKE_ENV += CXX_gcc_64="$(CXX_gcc_64)"
|
||||
CMAKE_ENV.$(BITS) += CCACHE_BASEDIR="$(BUILD_DIR_$(BITS))"
|
||||
|
||||
ifneq ($(strip $(CCACHE_DIR)),)
|
||||
CMAKE_ENV += CCACHE_DIR="$(CCACHE_DIR)"
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(CCACHE_LOGFILE)),)
|
||||
CMAKE_ENV += CCACHE_LOGFILE="$(CCACHE_LOGFILE)"
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
CMAKE_DEFAULT_DIRS?=yes
|
||||
|
||||
CMAKE_OPTIONS += -DCMAKE_C_COMPILER:STRING="$(CC)"
|
||||
CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER:STRING="$(CXX)"
|
||||
CMAKE_OPTIONS += -DCMAKE_Fortran_COMPILER:STRING="$(FC)"
|
||||
CMAKE_OPTIONS += -DCMAKE_C_FLAGS:STRING="$(CFLAGS)"
|
||||
CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS:STRING="$(CXXFLAGS)"
|
||||
CMAKE_OPTIONS += -DCMAKE_Fortran_FLAGS:STRING="$(FCFLAGS)"
|
||||
|
||||
CMAKE_OPTIONS += LDFLAGS="$(LDFLAGS)"
|
||||
CMAKE_OPTIONS += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX:PATH=$(CMAKE_PREFIX)
|
||||
ifeq ($(CMAKE_DEFAULT_DIRS),yes)
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_BINDIR:PATH=$(CMAKE_BINDIR.$(BITS))
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_LIBDIR:PATH=$(CMAKE_LIBDIR.$(BITS))
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_SBINDIR:PATH=$(CMAKE_SBINDIR.$(BITS))
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_DATAROOTDIR:PATH=$(CMAKE_DATAROOTDIR)
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_DATADIR:PATH=$(CMAKE_DATAROOTDIR)
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_INFODIR:PATH=$(CMAKE_INFODIR)
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_LOCALEDIR:PATH=$(CMAKE_LOCALEDIR)
|
||||
CMAKE_OPTIONS += -DCMAKE_INSTALL_MANDIR:PATH=$(CMAKE_MANDIR)
|
||||
|
||||
CMAKE_OPTIONS += -DLIBEXEC_INSTALL_DIR="$(CMAKE_PREFIX)/$(CMAKE_LIBEXECDIR.$(BITS))"
|
||||
|
||||
# Some components use LIB_INSTALL_DIR or CMAKE_INSTALL_LIBDIR, as-is,
|
||||
# others forcibly ignore it and set
|
||||
# based on CMAKE_INSTALL_PREFIX. Those usually instead offer a LIB_SUFFIX
|
||||
# variable that we can generally use to accomplish the same result. Setting
|
||||
# them both shouldn't harm anything.
|
||||
CMAKE_OPTIONS += -DLIB_INSTALL_DIR="$(CMAKE_PREFIX)/$(CMAKE_LIBDIR.$(BITS))"
|
||||
CMAKE_OPTIONS.64 += -DLIB_SUFFIX="/$(MACH64)"
|
||||
endif
|
||||
CMAKE_OPTIONS += $(CMAKE_OPTIONS.$(BITS))
|
||||
|
||||
COMPONENT_INSTALL_ARGS += DESTDIR=$(PROTO_DIR)
|
||||
|
||||
$(BUILD_DIR_32)/.configured: BITS=32
|
||||
$(BUILD_DIR_64)/.configured: BITS=64
|
||||
|
||||
CMAKE_ENV += $(CMAKE_ENV.$(BITS))
|
||||
|
||||
COMPONENT_TEST_CMD=ctest
|
||||
COMPONENT_TEST_TARGETS=
|
||||
|
||||
# configure the unpacked source for building 32 and 64 bit version
|
||||
CMAKE = cmake
|
||||
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
|
||||
($(RM) -rf $(@D) ; $(MKDIR) $(@D))
|
||||
$(COMPONENT_PRE_CMAKE_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(CMAKE_ENV) \
|
||||
$(CMAKE) $(CMAKE_OPTIONS) $(SOURCE_DIR))
|
||||
$(COMPONENT_POST_CMAKE_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \
|
||||
$(COMPONENT_BUILD_TARGETS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) build
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
|
||||
$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: install
|
||||
-$(PARFAIT) build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"). You may
|
||||
# only use this file in accordance with the terms of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2015 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
|
||||
#
|
||||
|
||||
#
|
||||
# Rules to install a common lisp library package.
|
||||
#
|
||||
# To use these rules, just include ../make-rules/common-lisp.mk in your
|
||||
# Makefile and define "build" and "install" targets. E.g.,
|
||||
#
|
||||
# build: $(BUILD_32)
|
||||
#
|
||||
# install: $(INSTALL_32)
|
||||
#
|
||||
# Since common lisp libraries are all source code, there is no need for
|
||||
# BUILD_64 and INSTALL_64.
|
||||
|
||||
INSTALL_DIR = $(PROTOCLDIR)/source/$(COMPONENT_NAME)
|
||||
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(MKDIR) $(@D)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(MKDIR) $(PROTOCLDIR)
|
||||
$(MKDIR) $(PROTOCLDIR)/source
|
||||
$(MKDIR) $(PROTOCLDIR)/systems
|
||||
$(MKDIR) $(INSTALL_DIR)
|
||||
$(CP) -a $(SOURCE_DIR)/* $(INSTALL_DIR)
|
||||
(cd $(PROTOCLDIR)/systems; \
|
||||
$(RM) $(COMPONENT_NAME).asd; \
|
||||
$(LN) -s ../source/$(COMPONENT_NAME)/$(COMPONENT_NAME).asd)
|
||||
$(TOUCH) $@
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,191 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# This file sets up the standard, default options and base requirements for
|
||||
# userland components.
|
||||
#
|
||||
|
||||
include $(WS_MAKE_RULES)/prep.mk
|
||||
|
||||
# Override this to limit builds and publication to a single architecture.
|
||||
BUILD_ARCH ?= $(MACH)
|
||||
ifneq ($(strip $(BUILD_ARCH)),$(MACH))
|
||||
PUBLISH_STAMP=
|
||||
|
||||
target-na:
|
||||
@echo "Not available for $(MACH)"
|
||||
|
||||
BUILD_TARGET ?= target-na
|
||||
INSTALL_TARGET ?= target-na
|
||||
TEST_TARGET ?= target-na
|
||||
SYSTEM_TEST_TARGET ?= target-na
|
||||
endif
|
||||
|
||||
# Assume components use a configure script-style build by default.
|
||||
BUILD_STYLE ?= configure
|
||||
# If not an archive build (i.e. extract and copy) or pkg build (publish only),
|
||||
# include relevant makefile.
|
||||
ifneq ($(strip $(BUILD_STYLE)),archive)
|
||||
ifneq ($(strip $(BUILD_STYLE)),pkg)
|
||||
include $(WS_MAKE_RULES)/$(strip $(BUILD_STYLE)).mk
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BUILD_STYLE)),configure)
|
||||
# Assume these items should always be set in the configure environment. strip
|
||||
# is used to work around potential problems with extra blank characters
|
||||
# inserted into strings during nested configure invocations within builds for
|
||||
# components such as gdb.
|
||||
ifneq ($(strip $(CFLAGS)),)
|
||||
# Only if provided.
|
||||
CONFIGURE_ENV += CFLAGS="$(strip $(CFLAGS))"
|
||||
endif
|
||||
ifneq ($(strip $(CXXFLAGS)),)
|
||||
# Only if provided.
|
||||
CONFIGURE_ENV += CXXFLAGS="$(strip $(CXXFLAGS))"
|
||||
endif
|
||||
# Always process LDFLAGS.
|
||||
CONFIGURE_ENV += LDFLAGS="$(strip $(LDFLAGS))"
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BUILD_STYLE)),justmake)
|
||||
# Assume these items should always be set in the build environment.
|
||||
COMPONENT_BUILD_ENV += CC="$(CC)"
|
||||
COMPONENT_BUILD_ENV += CXX="$(CXX)"
|
||||
ifneq ($(strip $(CFLAGS)),)
|
||||
# Only if provided.
|
||||
COMPONENT_BUILD_ENV += CFLAGS="$(strip $(CFLAGS))"
|
||||
endif
|
||||
ifneq ($(strip $(CXXFLAGS)),)
|
||||
# Only if provided.
|
||||
COMPONENT_BUILD_ENV += CXXFLAGS="$(strip $(CXXFLAGS))"
|
||||
endif
|
||||
# Always process LDFLAGS.
|
||||
COMPONENT_BUILD_ENV += LDFLAGS="$(strip $(LDFLAGS))"
|
||||
endif
|
||||
|
||||
# Assume components built with ant do not need ASLR.
|
||||
ifeq ($(strip $(BUILD_STYLE)),ant)
|
||||
ASLR_MODE= $(ASLR_NOT_APPLICABLE)
|
||||
else
|
||||
ifeq ($(strip $(DEFAULT_ASLR_ENABLE)),yes)
|
||||
# Enable ASLR by default unless target build is NO_ARCH.
|
||||
ifneq ($(strip $(BUILD_BITS)),NO_ARCH)
|
||||
ASLR_MODE= $(ASLR_ENABLE)
|
||||
endif # DEFAULT_ASLR_ENABLE yes
|
||||
endif # BUILD_BITS NO_ARCH
|
||||
endif # BUILD_STYLE ant
|
||||
|
||||
# Default targets; to omit a specific target, explicitly set the related target
|
||||
# variable to empty before including this file or set COMMON_TARGETS=no.
|
||||
COMMON_TARGETS ?= yes
|
||||
|
||||
ifneq ($(strip $(COMMON_TARGETS)),no)
|
||||
# For ant-based build style, assume that install is provided by simply building
|
||||
# the component and that no tests are available.
|
||||
ifeq ($(strip $(BUILD_STYLE)),ant)
|
||||
INSTALL_TARGET ?= build
|
||||
TEST_TARGET ?= $(NO_TESTS)
|
||||
SYSTEM_TEST_TARGET ?= $(NO_TESTS)
|
||||
endif
|
||||
|
||||
# For archive-based build style, assume that the build, install, and test
|
||||
# targets will be provided.
|
||||
ifeq ($(strip $(BUILD_STYLE)),archive)
|
||||
BUILD_TARGET ?=
|
||||
INSTALL_TARGET ?=
|
||||
TEST_TARGET ?=
|
||||
endif
|
||||
|
||||
# For pkg-based build style, assume there are no build, install, or test steps;
|
||||
# just a package to be published.
|
||||
ifeq ($(strip $(BUILD_STYLE)),pkg)
|
||||
BUILD_TARGET=
|
||||
INSTALL_TARGET=
|
||||
TEST_TARGET=
|
||||
SYSTEM_TEST_TARGET=
|
||||
build install:
|
||||
test system-test: $(NO_TESTS)
|
||||
endif
|
||||
|
||||
# If TEST_TARGET is NO_TESTS, assume no system tests by default.
|
||||
ifeq ($(strip $(TEST_TARGET)),$(NO_TESTS))
|
||||
SYSTEM_TEST_TARGET ?= $(NO_TESTS)
|
||||
endif
|
||||
|
||||
# If TEST_TARGET is SKIP_TEST, assume system tests are skipped by default.
|
||||
ifeq ($(strip $(TEST_TARGET)),$(SKIP_TEST))
|
||||
SYSTEM_TEST_TARGET ?= $(SKIP_TEST)
|
||||
endif
|
||||
|
||||
# Otherwise, attempt to define common targets assuming defaults.
|
||||
BUILD_TARGET ?= $(BUILD_$(MK_BITS))
|
||||
ifneq ($(strip $(BUILD_TARGET)),)
|
||||
build: $(BUILD_TARGET)
|
||||
endif
|
||||
|
||||
INSTALL_TARGET ?= $(INSTALL_$(MK_BITS))
|
||||
ifneq ($(strip $(INSTALL_TARGET)),)
|
||||
install: $(INSTALL_TARGET)
|
||||
endif
|
||||
|
||||
TEST_TARGET ?= $(TEST_$(MK_BITS))
|
||||
ifneq ($(strip $(TEST_TARGET)),)
|
||||
test: $(TEST_TARGET)
|
||||
endif
|
||||
|
||||
# For the system-test target, assume that none have been implemented.
|
||||
SYSTEM_TEST_TARGET ?= $(SYSTEM_TESTS_NOT_IMPLEMENTED)
|
||||
ifneq ($(strip $(SYSTEM_TEST_TARGET)),)
|
||||
system-test: $(SYSTEM_TEST_TARGET)
|
||||
endif
|
||||
endif # COMMON_TARGETS
|
||||
|
||||
# Always needed; every component builds packages.
|
||||
include $(WS_MAKE_RULES)/ips.mk
|
||||
|
||||
# Determine if we should automatically add files directory to PKG_PROTO_DIRS.
|
||||
ifeq ($(wildcard files),files)
|
||||
PKG_PROTO_DIRS += $(COMPONENT_DIR)/files
|
||||
endif
|
||||
|
||||
# Add bit and mach-specific logic to general actions.
|
||||
COMPONENT_PRE_CONFIGURE_ACTION += $(COMPONENT_PRE_CONFIGURE_ACTION.$(BITS))
|
||||
COMPONENT_PRE_CONFIGURE_ACTION += $(COMPONENT_PRE_CONFIGURE_ACTION.$(MACH))
|
||||
COMPONENT_POST_CONFIGURE_ACTION += $(COMPONENT_POST_CONFIGURE_ACTION.$(BITS))
|
||||
COMPONENT_POST_CONFIGURE_ACTION += $(COMPONENT_POST_CONFIGURE_ACTION.$(MACH))
|
||||
COMPONENT_PRE_BUILD_ACTION += $(COMPONENT_PRE_BUILD_ACTION.$(BITS))
|
||||
COMPONENT_PRE_BUILD_ACTION += $(COMPONENT_PRE_BUILD_ACTION.$(MACH))
|
||||
COMPONENT_POST_BUILD_ACTION += $(COMPONENT_POST_BUILD_ACTION.$(BITS))
|
||||
COMPONENT_POST_BUILD_ACTION += $(COMPONENT_POST_BUILD_ACTION.$(MACH))
|
||||
COMPONENT_PRE_INSTALL_ACTION += $(COMPONENT_PRE_INSTALL_ACTION.$(BITS))
|
||||
COMPONENT_PRE_INSTALL_ACTION += $(COMPONENT_PRE_INSTALL_ACTION.$(MACH))
|
||||
COMPONENT_POST_INSTALL_ACTION += $(COMPONENT_POST_INSTALL_ACTION.$(BITS))
|
||||
COMPONENT_POST_INSTALL_ACTION += $(COMPONENT_POST_INSTALL_ACTION.$(MACH))
|
||||
COMPONENT_PRE_TEST_ACTION += $(COMPONENT_PRE_TEST_ACTION.$(BITS))
|
||||
COMPONENT_PRE_TEST_ACTION += $(COMPONENT_PRE_TEST_ACTION.$(MACH))
|
||||
COMPONENT_POST_TEST_ACTION += $(COMPONENT_POST_TEST_ACTION.$(BITS))
|
||||
COMPONENT_POST_TEST_ACTION += $(COMPONENT_POST_TEST_ACTION.$(MACH))
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
|
||||
PKG_REPORTS=$(CANONICAL_MANIFESTS:%.p5m=$(BUILD_DIR)/%.pkg-report)
|
||||
|
||||
HGWEB_BASE_URL = http://userland.us.oracle.com/hg/file/tip/
|
||||
ARIA_BASE_URL = http://people.us.oracle.com/pls/oracle/find_person?p_string=
|
||||
ARC_BASE_URL = http://psarc.us.oracle.com/
|
||||
BUGDB_URL = http://userland.us.oracle.com/bugdb?cat-subcat=
|
||||
|
||||
REPORT_TRANSFORMS = $(WS_TOP)/transforms/report
|
||||
CDIR=$(COMPONENT_DIR:$(WS_TOP)/%=%)
|
||||
|
||||
component-report: $(BUILD_DIR)/component-report
|
||||
|
||||
$(BUILD_DIR)/component-report: $(BUILD_DIR)/package-info
|
||||
@echo "<tr>" >$@
|
||||
@echo "<td><a href='$(COMPONENT_PROJECT_URL)'>$(COMPONENT_NAME)</a></td>" >>$@
|
||||
@echo "<td><a href='$(COMPONENT_ARCHIVE_URL)'>$(COMPONENT_VERSION)</a></td>" >>$@
|
||||
@echo "<td><a href='$(HGWEB_BASE_URL)$(CDIR)'>$(CDIR)</a></td>" >>$@
|
||||
@echo "<td>" >>$@ ; for pkg in $(PACKAGE) ; do \
|
||||
echo "$$pkg<br>" >>$@ ; \
|
||||
done ; echo "</td>" >>$@
|
||||
@echo "<td>" >>$@ ; for arc in $(ARC_CASE) ; do \
|
||||
echo "<a href='$(ARC_BASE_URL)$$arc'>$$arc</a><br>" >>$@ ; \
|
||||
done ; echo "</td>" >>$@
|
||||
@echo "<td>" >>$@ ; for license in $(LICENSE) ; do \
|
||||
echo "$$license<br>" >>$@ ; \
|
||||
done ; echo "</td>" >>$@
|
||||
@echo "<td>$(TPNO)</td>" >>$@
|
||||
@echo "<td>" >>$@ ; for bugdb in $(COMPONENT_BUGDB) ; do \
|
||||
echo "<a href='$(BUGDB_URL)$$bugdb'>$$bugdb</a><br>" >>$@ ; \
|
||||
done ; echo "</td>" >>$@
|
||||
@echo "<td><a href='$(ARIA_BASE_URL)$(RESPONSIBLE_ENGINEER)'>$(RESPONSIBLE_ENGINEER)</a></td>" >>$@
|
||||
@echo "<td><a href='$(ARIA_BASE_URL)$(RESPONSIBLE_MANAGER)'>$(RESPONSIBLE_MANAGER)</a></td>" >>$@
|
||||
@echo "<td>$(TEAM)</td>" >>$@
|
||||
@echo "</tr>" >>$@
|
||||
|
||||
$(BUILD_DIR)/package-info: $(PKG_REPORTS)
|
||||
@cat $(PKG_REPORTS) | sort -u >$@
|
||||
|
||||
$(BUILD_DIR)/component-info: $(PKG_REPORTS)
|
||||
@echo "COMPONENT_NAME=\"$(COMPONENT_NAME)\"" >$@
|
||||
@echo "COMPONENT_VERSION=\"$(COMPONENT_VERSION)\"" >>$@
|
||||
@echo "COMPONENT_PROJECT_URL=\"$(COMPONENT_PROJECT_URL)\"" >>$@
|
||||
@echo "COMPONENT_ARCHIVE_URL=\"$(COMPONENT_ARCHIVE_URL)\"" >>$@
|
||||
@echo "COMPONENT_DIR=\"$(CDIR)\"" >>$@
|
||||
@echo "TPNO=\"$(TPNO)\"" >>$@
|
||||
@echo "COMPONENT_BUGDB=\"$(COMPONENT_BUGDB)\"" >>$@
|
||||
@echo "RESPONSIBLE_ENGINEER=\"$(RESPONSIBLE_ENGINEER)\"" >>$@
|
||||
@echo "RESPONSIBLE_MANAGER=\"$(RESPONSIBLE_MANAGER)\"" >>$@
|
||||
@echo "TEAM=\"$(TEAM)\"" >>$@
|
||||
|
||||
$(BUILD_DIR)/%.pkg-report: %.p5m $(BUILD_DIR)
|
||||
@$(PKGMOGRIFY) $(PKG_OPTIONS) -P $@ $< \
|
||||
$(REPORT_TRANSFORMS) >/dev/null
|
||||
|
||||
include $(BUILD_DIR)/package-info
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
|
||||
# A simple rule to print the value of any macro. Ex:
|
||||
# $ gmake print-REQUIRED_PACKAGES
|
||||
# Note that some macros are set on a per target basis, so what you see
|
||||
# is not always what you get.
|
||||
print-%:
|
||||
@echo '$(subst ','\'',$*=$($*)) (origin: $(origin $*), flavor: $(flavor $*))'
|
||||
|
||||
# A simple rule to print only the value of any macro.
|
||||
print-value-%:
|
||||
@echo '$(subst ','\'',$($*))'
|
||||
|
||||
# Provide default print package targets for components that do not rely on IPS.
|
||||
# Define them implicitly so that the definitions do not collide with ips.mk
|
||||
define print-package-rule
|
||||
echo $(strip $(PACKAGE_$(1))) | tr ' ' '\n'
|
||||
endef
|
||||
|
||||
|
||||
COMPONENT_TOOL = $(WS_TOOLS)/userland-component
|
||||
|
||||
format:
|
||||
@$(COMPONENT_TOOL) --path $(COMPONENT_DIR);
|
||||
|
||||
update:
|
||||
@if [ "$(VERSION)X" = "X" ]; \
|
||||
then $(COMPONENT_TOOL) --path $(COMPONENT_DIR) --bump; \
|
||||
else $(COMPONENT_TOOL) --path $(COMPONENT_DIR) --bump $(VERSION); \
|
||||
fi;
|
||||
|
||||
update-latest:
|
||||
$(COMPONENT_TOOL) --path $(COMPONENT_DIR) --bump latest;
|
||||
|
||||
|
|
@ -1,249 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2011 EveryCity Ltd. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# Rules and Macros for building opens source software that uses configure /
|
||||
# GNU auto* tools to configure their build for the system they are on. This
|
||||
# uses GNU Make to build the components to take advantage of the viewpath
|
||||
# support and build multiple version (32/64 bit) from a shared source.
|
||||
#
|
||||
# To use these rules, include ../make-rules/configure.mk in your Makefile
|
||||
# and define "build", "install", and "test" targets appropriate to building
|
||||
# your component.
|
||||
# Ex:
|
||||
#
|
||||
# build: $(SOURCE_DIR)/build/$(MACH32)/.built \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.built
|
||||
#
|
||||
# install: $(SOURCE_DIR)/build/$(MACH32)/.installed \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.installed
|
||||
#
|
||||
# test: $(SOURCE_DIR)/build/$(MACH32)/.tested \
|
||||
# $(SOURCE_DIR)/build/$(MACH64)/.tested
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your make file by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_CONFIGURE_ACTION, COMPONENT_POST_CONFIGURE_ACTION
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
|
||||
# COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
# COMPONENT_PRE_TEST_ACTION, COMPONENT_POST_TEST_ACTION
|
||||
#
|
||||
# If component specific make targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
# COMPONENT_TEST_TARGETS
|
||||
#
|
||||
|
||||
CONFIGURE_PREFIX = /usr
|
||||
|
||||
# If the component prefers 64-bit binaries, then ensure builds deliver 64-bit
|
||||
# binaries to the standard directories and 32-bit binaries to the non-standard
|
||||
# location. This allows simplification of package manifests and makes it
|
||||
# easier to deliver the 64-bit binaries as the default.
|
||||
ifeq ($(strip $(PREFERRED_BITS)),64)
|
||||
CONFIGURE_BINDIR.32 = $(CONFIGURE_PREFIX)/bin/$(MACH32)
|
||||
CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin/$(MACH32)
|
||||
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin
|
||||
else
|
||||
CONFIGURE_BINDIR.32 = $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin/$(MACH64)
|
||||
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin
|
||||
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin/$(MACH64)
|
||||
endif
|
||||
|
||||
# Regardless of PREFERRED_BITS, 64-bit libraries should always be delivered to
|
||||
# the appropriate subdirectory by default.
|
||||
CONFIGURE_LIBDIR.32 = $(CONFIGURE_PREFIX)/lib
|
||||
CONFIGURE_LIBDIR.64 = $(CONFIGURE_PREFIX)/lib/$(MACH64)
|
||||
|
||||
CONFIGURE_MANDIR = $(CONFIGURE_PREFIX)/share/man
|
||||
CONFIGURE_LOCALEDIR = $(CONFIGURE_PREFIX)/share/locale
|
||||
# all texinfo documentation seems to go to /usr/share/info no matter what
|
||||
CONFIGURE_INFODIR = /usr/share/info
|
||||
CONFIGURE_INCLUDEDIR = /usr/include
|
||||
|
||||
CONFIGURE_ENV = CONFIG_SHELL="$(CONFIG_SHELL)"
|
||||
CONFIGURE_ENV += CC="$(CC)"
|
||||
CONFIGURE_ENV += CXX="$(CXX)"
|
||||
CONFIGURE_ENV += F77="$(F77)"
|
||||
CONFIGURE_ENV += FC="$(FC)"
|
||||
CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
|
||||
CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
|
||||
CONFIGURE_ENV += FFLAGS="$(F77FLAGS)"
|
||||
CONFIGURE_ENV += FCFLAGS="$(FCFLAGS)"
|
||||
CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
|
||||
CONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
# Rewrite absolute source-code paths into relative for ccache, so that any
|
||||
# workspace with a shared CCACHE_DIR can benefit when compiling a component
|
||||
ifneq ($(strip $(CCACHE)),)
|
||||
CONFIGURE_ENV += CCACHE="$(CCACHE)"
|
||||
CONFIGURE_OPTIONS += CCACHE="$(CCACHE)"
|
||||
CONFIGURE_ENV += CC_gcc_32="$(CC_gcc_32)"
|
||||
CONFIGURE_ENV += CC_gcc_64="$(CC_gcc_32)"
|
||||
CONFIGURE_ENV += CXX_gcc_32="$(CXX_gcc_64)"
|
||||
CONFIGURE_ENV += CXX_gcc_64="$(CXX_gcc_64)"
|
||||
CONFIGURE_OPTIONS += CC_gcc_32="$(CC_gcc_32)"
|
||||
CONFIGURE_OPTIONS += CC_gcc_64="$(CC_gcc_32)"
|
||||
CONFIGURE_OPTIONS += CXX_gcc_32="$(CXX_gcc_64)"
|
||||
CONFIGURE_OPTIONS += CXX_gcc_64="$(CXX_gcc_64)"
|
||||
CONFIGURE_ENV.$(BITS) += CCACHE_BASEDIR="$(BUILD_DIR_$(BITS))"
|
||||
CONFIGURE_OPTIONS.$(BITS) += CCACHE_BASEDIR="$(BUILD_DIR_$(BITS))"
|
||||
|
||||
ifneq ($(strip $(CCACHE_DIR)),)
|
||||
CONFIGURE_ENV += CCACHE_DIR="$(CCACHE_DIR)"
|
||||
CONFIGURE_OPTIONS += CCACHE_DIR="$(CCACHE_DIR)"
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(CCACHE_LOGFILE)),)
|
||||
CONFIGURE_ENV += CCACHE_LOGFILE="$(CCACHE_LOGFILE)"
|
||||
CONFIGURE_OPTIONS += CCACHE_LOGFILE="$(CCACHE_LOGFILE)"
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
CONFIGURE_DEFAULT_DIRS?=yes
|
||||
|
||||
CONFIGURE_OPTIONS += CC="$(CC)"
|
||||
CONFIGURE_OPTIONS += CXX="$(CXX)"
|
||||
CONFIGURE_OPTIONS += F77="$(F77)"
|
||||
CONFIGURE_OPTIONS += FC="$(FC)"
|
||||
CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
|
||||
CONFIGURE_OPTIONS += CXXFLAGS="$(CXXFLAGS)"
|
||||
CONFIGURE_OPTIONS += FFLAGS="$(F77FLAGS)"
|
||||
CONFIGURE_OPTIONS += FCFLAGS="$(FCFLAGS)"
|
||||
CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
|
||||
CONFIGURE_OPTIONS += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
CONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
|
||||
ifeq ($(CONFIGURE_DEFAULT_DIRS),yes)
|
||||
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
|
||||
CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_LIBDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS += --sbindir=$(CONFIGURE_SBINDIR.$(BITS))
|
||||
endif
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
|
||||
|
||||
COMPONENT_INSTALL_ARGS += DESTDIR=$(PROTO_DIR)
|
||||
|
||||
$(BUILD_DIR_32)/.configured: BITS=32
|
||||
$(BUILD_DIR_64)/.configured: BITS=64
|
||||
|
||||
CONFIGURE_ENV += $(CONFIGURE_ENV.$(BITS))
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
# parfait creates '*.bc' files which can confuse configure's
|
||||
# object/exe extension detection. which we really don't need it
|
||||
# to do anyway, so we'll just tell it what they are.
|
||||
CONFIGURE_ENV += ac_cv_objext=o
|
||||
CONFIGURE_ENV += ac_cv_exeext=""
|
||||
# this is fixed in the clang compiler but we can't use it yet
|
||||
CONFIGURE_ENV += ac_cv_header_stdbool_h=yes
|
||||
endif
|
||||
|
||||
|
||||
# temporarily work around some issues
|
||||
CONFIGURE_ENV += "ac_cv_func_realloc_0_nonnull=yes"
|
||||
COMPONENT_BUILD_ENV += "ac_cv_func_realloc_0_nonnull=yes"
|
||||
|
||||
# configure the unpacked source for building 32 and 64 bit version
|
||||
CONFIGURE_SCRIPT = $(SOURCE_DIR)/configure
|
||||
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
|
||||
($(RM) -rf $(@D) ; $(MKDIR) $(@D))
|
||||
$(COMPONENT_PRE_CONFIGURE_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(CONFIGURE_ENV) $(CONFIG_SHELL) \
|
||||
$(CONFIGURE_SCRIPT) $(CONFIGURE_OPTIONS))
|
||||
$(COMPONENT_POST_CONFIGURE_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \
|
||||
$(COMPONENT_BUILD_TARGETS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) build
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
|
||||
$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
CONFIGURE_TEST_TRANSFORMS = \
|
||||
'-n ' \
|
||||
'-e "/TOTAL:/p" ' \
|
||||
'-e "/SKIP:/p" ' \
|
||||
'-e "/PASS:/p" ' \
|
||||
'-e "/FAIL:/p" ' \
|
||||
'-e "/ERROR:/p" '
|
||||
|
||||
USE_DEFAULT_TEST_TRANSFORMS?=no
|
||||
ifeq ($(strip $(USE_DEFAULT_TEST_TRANSFORMS)),yes)
|
||||
COMPONENT_TEST_TRANSFORMS+= $(CONFIGURE_TEST_TRANSFORMS)
|
||||
endif
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: install
|
||||
-$(PARFAIT) build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2018 Adam Stevko
|
||||
#
|
||||
|
||||
print-required-packages::
|
||||
@for package in $(REQUIRED_PACKAGES) ; do \
|
||||
echo $$package ; \
|
||||
done | LANG=C LC_ALL=C sort -u
|
||||
|
||||
# update the metadata for current component
|
||||
update-metadata:
|
||||
@echo "generating metadata: $(CURDIR:$(WS_TOP)/components/%=%)"
|
||||
@$(BASS_O_MATIC) --workspace=$(WS_TOP) --pkg5
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2015 Alexander Pyhalov
|
||||
#
|
||||
|
||||
WS_REPO = $(WS_TOP)/$(MACH)/encumbered-repo
|
||||
|
||||
COMPONENT_PKGLINT_ENV += ENCUMBERED=true
|
||||
|
||||
PUBLISHER = hipster-encumbered
|
||||
|
||||
BASS_O_MATIC = $(WS_TOOLS)/bass-o-matic --subdir=components/encumbered
|
||||
|
||||
ENCUMBERED = encumbered/
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, Adam Stevko
|
||||
#
|
||||
|
||||
PFEXEC = /usr/bin/pfexec
|
||||
|
||||
ZONE = $(WS_TOOLS)/userland-zone
|
||||
|
||||
define separator-line
|
||||
@$(PYTHON) -c 'l="="*int(40-len("$1")/2); print("%s%s%s" % (l, "$1", l))'
|
||||
endef
|
||||
|
||||
component-environment-check::
|
||||
$(call separator-line,Workspace)
|
||||
@echo " Path: $(WS_TOP)"
|
||||
@echo " Branch: $$(git rev-parse --abbrev-ref HEAD)"
|
||||
@echo " Changeset: $$(git rev-parse HEAD)"
|
||||
$(call separator-line,System)
|
||||
@/usr/bin/uname -a
|
||||
@echo "Zone: $$(/usr/bin/zonename)"
|
||||
@echo "Zone IP type: $$(/usr/bin/zonename -t)"
|
||||
@/usr/sbin/psrinfo -vp
|
||||
@/usr/sbin/ipadm show-addr
|
||||
$(call separator-line,Required Packages)
|
||||
@/usr/bin/pkg list -vH $(USERLAND_REQUIRED_PACKAGES:%=/%) $(REQUIRED_PACKAGES:%=/%)
|
||||
$(call separator-line)
|
||||
|
||||
component-environment-prep::
|
||||
@/usr/bin/pkg list -vH $(USERLAND_REQUIRED_PACKAGES:%=/%) $(REQUIRED_PACKAGES:%=/%) >/dev/null || \
|
||||
{ echo "Adding required packages to build environment..."; \
|
||||
RETVAL=7 ; \
|
||||
while [ $$RETVAL -eq 7 ] ; do \
|
||||
$(PFEXEC) /usr/bin/pkg install --accept -v $(REQUIRED_PACKAGES:%=/%) ; \
|
||||
RETVAL=$$? ; \
|
||||
if [ $$RETVAL -eq 4 ] || [ -z $$RETVAL ]; then break; fi; \
|
||||
sleep 10; \
|
||||
done; }
|
||||
ZONENAME_PREFIX = bz
|
||||
ZONENAME_ID = $(shell echo "$(WS_TOP)" | sha1sum | cut -c0-7)-$(COMPONENT_NAME)
|
||||
ZONENAME = $(ZONENAME_PREFIX)-$(ZONENAME_ID)
|
||||
|
||||
component-zone-template:
|
||||
$(call separator-line)
|
||||
$(call separator-line,Create template zone)
|
||||
USER_ID=$$(id -u) && \
|
||||
$(PFEXEC) $(ZONE) --prefix $(ZONENAME_PREFIX) create-template -u $${USER} -i $${USER_ID}
|
||||
|
||||
component-zone-build:
|
||||
$(call separator-line)
|
||||
$(call separator-line,Create $(ZONENAME))
|
||||
$(PFEXEC) $(ZONE) --prefix $(ZONENAME_PREFIX) spawn-zone --id $(ZONENAME_ID)
|
||||
$(call separator-line,Boot $(ZONENAME))
|
||||
@while $$(true); do \
|
||||
echo "Waiting for zone $(ZONENAME) to boot..."; \
|
||||
$(PFEXEC) /usr/sbin/zlogin -l $${USER} $(ZONENAME) \
|
||||
/bin/true >/dev/null 2>&1 && break; \
|
||||
sleep 10; \
|
||||
done
|
||||
# FIXME:
|
||||
# - remove once we figure out a better way how to enable zoneproxy-client inside the nlipkg brand
|
||||
@while $$(true); do \
|
||||
echo "Waiting for $(ZONENAME) config repository.."; \
|
||||
$(PFEXEC) /usr/bin/svcs -z $(ZONENAME) -a >/dev/null 2>&1 && break; \
|
||||
sleep 10; \
|
||||
done
|
||||
# We need to create door inside after zone-proxy-client is running
|
||||
$(call separator-line,Configure IPS for $(ZONENAME))
|
||||
$(PFEXEC) /usr/lib/zones/zoneproxy-adm $(ZONENAME)
|
||||
@while $$(true); do \
|
||||
echo "Waiting for zoneproxyd to be ready.."; \
|
||||
PROXY_PID=$$(/usr/bin/svcs -p svc:/application/pkg/zones-proxyd:default | \
|
||||
nawk '$$0 ~ /zoneproxyd/ {print $$2}') && \
|
||||
$(PFEXEC) /usr/bin/pfiles $${PROXY_PID} | \
|
||||
$(GNU_GREP) $(ZONENAME) >/dev/null 2>&1 && break; \
|
||||
sleep 10; \
|
||||
done
|
||||
$(PFEXEC) /usr/sbin/svcadm -z $(ZONENAME) \
|
||||
enable svc:/application/pkg/zones-proxy-client:default
|
||||
ZONEROOT="$$(/usr/sbin/zoneadm -z $(ZONENAME) list -p | cut -d: -f4)/root" && \
|
||||
$(PFEXEC) /usr/bin/pkg -R $${ZONEROOT} set-property use-system-repo True && \
|
||||
while $$(true); do \
|
||||
echo "Waiting for sysrepo to be ready..." && \
|
||||
$(PFEXEC) /usr/bin/pkg -R $${ZONEROOT} publisher | \
|
||||
$(GNU_GREP) syspub >/dev/null 2>&1 && break; \
|
||||
sleep 10; \
|
||||
done
|
||||
$(call separator-line,Build in $(ZONENAME))
|
||||
$(PFEXEC) /usr/sbin/zlogin -l $${USER} $(ZONENAME) \
|
||||
"cd $(COMPONENT_DIR); gmake install"
|
||||
$(call separator-line)
|
||||
|
||||
component-zone-cleanup:
|
||||
$(PFEXEC) $(ZONE) destroy-zone --id $(ZONENAME_ID)
|
||||
|
||||
# Short aliases for user convenience
|
||||
env-check:: component-environment-check
|
||||
env-prep:: component-environment-prep
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2018, Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
BUILD_BITS ?= NO_ARCH
|
||||
BUILD_STYLE ?= archive
|
||||
|
||||
ifneq ($(findstring X11,$(FONT_TYPE)),)
|
||||
X11_CATEGORY = FONT
|
||||
include $(WS_MAKE_RULES)/x11.mk
|
||||
endif
|
||||
|
||||
include $(WS_MAKE_RULES)/common.mk
|
||||
|
||||
MKFONTSCALE = mkfontscale
|
||||
MKFONTDIR = mkfontdir
|
||||
|
||||
ETCFONTSDIR = $(ETCDIR)/fonts
|
||||
ETCFONTSCONFDIR = $(ETCFONTSDIR)/conf.avail
|
||||
USRSHAREFONTSDIR = $(USRSHAREDIR)/fonts
|
||||
|
||||
#
|
||||
# Font type macros
|
||||
#
|
||||
|
||||
TTFFONTDIR = TrueType
|
||||
OTFFONTDIR = OpenType
|
||||
X11FONTDIR = X11
|
||||
X11MISCFONTDIR = X11
|
||||
PKGFONTDIR?= $($(FONT_TYPE)FONTDIR)
|
||||
|
||||
# For compatibility
|
||||
USRSHARETTFFONTSDIR = $(USRSHAREFONTSDIR)/$(TTFFONTDIR)
|
||||
USRSHAREOTFFONTSDIR = $(USRSHAREFONTSDIR)/$(OTFFONTDIR)
|
||||
USRSHAREX11FONTSDIR = $(USRSHAREFONTSDIR)/$(X11FONTDIR)
|
||||
|
||||
TTFFONTSRC = ttf
|
||||
OTFFONTSRC = otf
|
||||
X11FONTSRC =
|
||||
X11MISCFONTSRC =
|
||||
PKGFONTSRC?= $($(FONT_TYPE)FONTSRC)
|
||||
|
||||
TTFFONTCLS = truetype
|
||||
OTFFONTCLS = opentype
|
||||
X11FONTCLS = xorg
|
||||
X11MISCFONTCLS =
|
||||
PKGFONTCLS?= $($(FONT_TYPE)FONTCLS)
|
||||
|
||||
TTFFONTEXT = *.ttc *.tte *.ttf
|
||||
OTFFONTEXT = *.otf *.otc *.ttf *.ttc
|
||||
X11FONTEXT = *.pcf
|
||||
X11MISCFONTEXT = *.pcf
|
||||
PKGFONTEXT?= $($(FONT_TYPE)FONTEXT)
|
||||
|
||||
PKGFONTCONFSRC = fontconfig
|
||||
PKGFONTCONFEXT = *.conf
|
||||
|
||||
#
|
||||
# Proto area directories
|
||||
#
|
||||
|
||||
PROTOFONTSDIR = $(PROTO_DIR)$(USRSHAREFONTSDIR)
|
||||
PROTOTTFFONTSDIR = $(PROTOFONTSDIR)/$(TTFFONTDIR)
|
||||
PROTOOTFFONTSDIR = $(PROTOFONTSDIR)/$(OTFFONTDIR)
|
||||
PROTOX11FONTSDIR = $(PROTOFONTSDIR)/$(X11FONTDIR)
|
||||
PROTOPKGFONTSDIR = $(PROTO$(FONT_TYPE)FONTSDIR)
|
||||
|
||||
PROTOFONTSCONFDIR = $(PROTO_DIR)$(ETCFONTSCONFDIR)
|
||||
|
||||
#
|
||||
# Default macros
|
||||
#
|
||||
|
||||
COMPONENT_FONT_TYPE = $(PKGFONTCLS)
|
||||
COMPONENT_FONT_NAME = $(COMPONENT_NAME)
|
||||
COMPONENT_FONT_PKG = $(COMPONENT_NAME)
|
||||
ifeq ($(strip $(COMPONENT_FONT_TYPE)),)
|
||||
COMPONENT_FMRI = \
|
||||
system/font/$(strip $(COMPONENT_FONT_PKG))
|
||||
else
|
||||
COMPONENT_FMRI = \
|
||||
system/font/$(strip $(COMPONENT_FONT_TYPE))/$(strip $(COMPONENT_FONT_PKG))
|
||||
endif
|
||||
COMPONENT_CLASSIFICATION = System/Fonts
|
||||
COMPONENT_CATEGORY = font
|
||||
|
||||
COMPONENT_FONT_DEST_DIR?= $(USRSHAREFONTSDIR)/$(PKGFONTDIR)/$(COMPONENT_FONT_NAME)
|
||||
COMPONENT_FONT_SRC_DIR ?= $(PKGFONTSRC)
|
||||
COMPONENT_FONT_FILES =
|
||||
|
||||
COMPONENT_FONTCONF_DEST_DIR?= $(ETCFONTSCONFDIR)
|
||||
COMPONENT_FONTCONF_SRC_DIR ?= $(PKGFONTCONFSRC)
|
||||
COMPONENT_FONTCONF_FILES = $(PKGFONTCONFEXT)
|
||||
|
||||
#
|
||||
# Build style specific rules
|
||||
#
|
||||
|
||||
ifeq ($(strip $(BUILD_STYLE)),archive)
|
||||
|
||||
POST_INSTALL_MKFONT?=no
|
||||
|
||||
COMPONENT_BUILD_ACTION?= true
|
||||
ifeq ($(strip $(POST_INSTALL_MKFONT)),no)
|
||||
COMPONENT_BUILD_ACTION = \
|
||||
cd $(@D)/$(COMPONENT_FONT_SRC_DIR); $(MKFONTSCALE); $(MKFONTDIR);
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
($(RM) -rf $(@D) ; $(MKDIR) $(@D))
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
($(COMPONENT_BUILD_ACTION))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
build: $(BUILD_$(MK_BITS))
|
||||
|
||||
COMPONENT_FONT_POST_INSTALL_ACTION = \
|
||||
( $(MKFONTSCALE) $(PROTO_DIR)$(COMPONENT_FONT_DEST_DIR); \
|
||||
$(MKFONTDIR) $(PROTO_DIR)$(COMPONENT_FONT_DEST_DIR) )
|
||||
|
||||
ifeq ($(strip $(POST_INSTALL_MKFONT)),yes)
|
||||
COMPONENT_POST_INSTALL_ACTION+=$(COMPONENT_FONT_POST_INSTALL_ACTION)
|
||||
else
|
||||
COMPONENT_FONT_FILES += fonts.dir
|
||||
COMPONENT_FONT_FILES += fonts.scale
|
||||
endif
|
||||
|
||||
COMPONENT_INSTALL_ACTION = \
|
||||
cd $(@D)/$(COMPONENT_FONT_SRC_DIR) && \
|
||||
$(INSTALL) -m 0444 $(COMPONENT_FONT_FILES) \
|
||||
$(PROTO_DIR)$(COMPONENT_FONT_DEST_DIR) ; \
|
||||
if [ -n "$(strip $(COMPONENT_FONTCONF_FILES))" ]; \
|
||||
then \
|
||||
cd $(@D)/$(COMPONENT_FONTCONF_SRC_DIR) && \
|
||||
$(INSTALL) -m 0444 $(COMPONENT_FONTCONF_FILES) \
|
||||
$(PROTO_DIR)$(COMPONENT_FONTCONF_DEST_DIR) ; \
|
||||
fi;
|
||||
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(MKDIR) $(@D)
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
-$(RM) -r $(PROTO_DIR)$(COMPONENT_FONT_DEST_DIR)
|
||||
$(MKDIR) $(PROTO_DIR)$(COMPONENT_FONT_DEST_DIR)
|
||||
$(MKDIR) $(PROTO_DIR)$(COMPONENT_FONTCONF_DEST_DIR)
|
||||
($(COMPONENT_INSTALL_ACTION))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
install: $(INSTALL_$(MK_BITS))
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BUILD_STYLE)),configure)
|
||||
# We don't compress individual font files so that we get better compression
|
||||
# at higher levels in ZFS & IPS, and so that we aren't constantly replacing
|
||||
# font files in every build just because the timestamp in the compressed
|
||||
# version changed.
|
||||
CONFIGURE_OPTIONS += --without-compression
|
||||
endif
|
||||
|
||||
# Add font metadata to packages to make it easier to search for fonts
|
||||
$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified): PUBLISH_TRANSFORMS += $(@:.mogrified=.font-transforms)
|
||||
|
||||
$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified): font-transforms
|
||||
font-transforms: $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.font-transforms)
|
||||
|
||||
$(MANIFEST_BASE)-%.font-transforms: %.p5m
|
||||
$(PERL) $(WS_TOOLS)/generate_font_metadata.pl \
|
||||
-p $(PROTO_DIR) -m $< > $@ || ( rm $@ ; exit 1 )
|
||||
|
||||
# Package containing fc-scan used in generate_font_metadata.pl
|
||||
REQUIRED_PACKAGES += system/library/fontconfig
|
||||
# Package containing $(MKFONTSCALE) & $(MKFONTDIR)
|
||||
REQUIRED_PACKAGES += x11/font-utilities
|
||||
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"). You may
|
||||
# only use this file in accordance with the terms of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright 2019 Aurelien Larcher
|
||||
#
|
||||
|
||||
GCC_COMPONENT_VERSION_MAJOR = $(shell echo $(COMPONENT_VERSION) | $(NAWK) -F. '{print $$1}')
|
||||
|
||||
ifeq ($(strip $(ILLUMOS_GCC_REVISION)),)
|
||||
GCC_COMPONENT_STRING_VERSION = $(COMPONENT_VERSION)-oi-$(COMPONENT_REVISION)
|
||||
else
|
||||
GCC_COMPONENT_STRING_VERSION = $(COMPONENT_VERSION)-il-$(ILLUMOS_GCC_REVISION)
|
||||
endif
|
||||
|
||||
GCC_COMPONENT_PREFIX = /usr/gcc/$(GCC_COMPONENT_VERSION_MAJOR)
|
||||
|
||||
#
|
||||
# Define default component variables for upstream GCC
|
||||
#
|
||||
ifeq ($(strip $(COMPONENT_VERSION)),)
|
||||
$(error Empty GCC version)
|
||||
endif
|
||||
ifeq ($(strip $(COMPONENT_ARCHIVE_HASH)),)
|
||||
$(error Empty GCC archive hash)
|
||||
endif
|
||||
COMPONENT_NAME= gcc
|
||||
COMPONENT_FMRI= developer/gcc-$(GCC_COMPONENT_VERSION_MAJOR)
|
||||
COMPONENT_SUMMARY= GNU Compiler Collection
|
||||
COMPONENT_CLASSIFICATION= Development/C
|
||||
COMPONENT_PROJECT_URL = https://gcc.gnu.org/
|
||||
COMPONENT_SRC ?= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
||||
COMPONENT_ARCHIVE ?= $(COMPONENT_SRC).tar.xz
|
||||
COMPONENT_ARCHIVE_URL ?= \
|
||||
https://ftp.gnu.org/gnu/gcc/gcc-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
|
||||
|
||||
PATCH_EACH_ARCHIVE=1
|
||||
PATCHDIR_PATCHES = $(shell find $(PATCH_DIR) -type f -name '$(PATCH_PATTERN)' \
|
||||
2>/dev/null | sort)
|
||||
|
||||
MPFR_NAME= mpfr
|
||||
ifeq ($(strip $(MPFR_VERSION)),)
|
||||
$(error Empty MPFR version)
|
||||
endif
|
||||
ifeq ($(strip $(MPFR_ARCHIVE_HASH)),)
|
||||
$(error Empty MPFR archive hash)
|
||||
endif
|
||||
COMPONENT_SRC_1= $(MPFR_NAME)-$(MPFR_VERSION)
|
||||
COMPONENT_ARCHIVE_1= $(COMPONENT_SRC_1).tar.bz2
|
||||
COMPONENT_ARCHIVE_URL_1= https://www.mpfr.org/$(COMPONENT_SRC_1)/$(COMPONENT_ARCHIVE_1)
|
||||
COMPONENT_ARCHIVE_HASH_1= $(MPFR_ARCHIVE_HASH)
|
||||
CLEAN_PATHS += $(COMPONENT_SRC_1)
|
||||
COMPONENT_POST_UNPACK_ACTION_1 += ( $(RM) -r $(COMPONENT_SRC)/$(MPFR_NAME) && $(CP) -rpP $(COMPONENT_SRC_1) $(COMPONENT_SRC)/$(MPFR_NAME) )
|
||||
|
||||
MPC_NAME=mpc
|
||||
ifeq ($(strip $(MPC_VERSION)),)
|
||||
$(error Empty MPC version)
|
||||
endif
|
||||
ifeq ($(strip $(MPC_ARCHIVE_HASH)),)
|
||||
$(error Empty MPC archive hash)
|
||||
endif
|
||||
COMPONENT_SRC_2= $(MPC_NAME)-$(MPC_VERSION)
|
||||
COMPONENT_ARCHIVE_2= $(COMPONENT_SRC_2).tar.gz
|
||||
COMPONENT_ARCHIVE_URL_2= https://ftp.gnu.org/gnu/mpc/$(COMPONENT_ARCHIVE_2)
|
||||
COMPONENT_ARCHIVE_HASH_2= $(MPC_ARCHIVE_HASH)
|
||||
CLEAN_PATHS += $(COMPONENT_SRC_2)
|
||||
COMPONENT_POST_UNPACK_ACTION_2 += ( $(RM) -r $(COMPONENT_SRC)/$(MPC_NAME) && $(CP) -rpP $(COMPONENT_SRC_2) $(COMPONENT_SRC)/$(MPC_NAME) )
|
||||
|
||||
GMP_NAME=gmp
|
||||
ifeq ($(strip $(GMP_VERSION)),)
|
||||
$(error Empty GMP version)
|
||||
endif
|
||||
ifeq ($(strip $(GMP_ARCHIVE_HASH)),)
|
||||
$(error Empty GMP archive hash)
|
||||
endif
|
||||
COMPONENT_SRC_3= $(GMP_NAME)-$(GMP_VERSION)
|
||||
COMPONENT_ARCHIVE_3= $(COMPONENT_SRC_3).tar.bz2
|
||||
COMPONENT_ARCHIVE_URL_3= https://ftp.gnu.org/gnu/gmp/$(COMPONENT_ARCHIVE_3)
|
||||
COMPONENT_ARCHIVE_HASH_3= $(GMP_ARCHIVE_HASH)
|
||||
CLEAN_PATHS += $(COMPONENT_SRC_3)
|
||||
COMPONENT_POST_UNPACK_ACTION_3 += ( $(RM) -r $(COMPONENT_SRC)/$(GMP_NAME) && $(CP) -rpP $(COMPONENT_SRC_3) $(COMPONENT_SRC)/$(GMP_NAME) )
|
||||
|
||||
BUILD_STYLE=configure
|
||||
|
||||
include $(WS_MAKE_RULES)/common.mk
|
||||
|
||||
PATH=$(PATH.gnu)
|
||||
|
||||
CC_BITS=
|
||||
CFLAGS= -O2
|
||||
CXXFLAGS= -O2
|
||||
FCFLAGS= -O2
|
||||
|
||||
COMMON_ENV= LD_OPTIONS="-zignore -zcombreloc -i"
|
||||
COMMON_ENV+= LD_FOR_TARGET=/usr/bin/ld
|
||||
COMMON_ENV+= LD_FOR_HOST=/usr/bin/ld
|
||||
COMMON_ENV+= STRIP="/usr/bin/strip -x"
|
||||
COMMON_ENV+= STRIP_FOR_TARGET="/usr/bin/strip -x"
|
||||
COMMON_ENV+= LD=/usr/bin/ld
|
||||
|
||||
CONFIGURE_ENV+= $(COMMON_ENV)
|
||||
COMPONENT_BUILD_ENV+= $(COMMON_ENV)
|
||||
COMPONENT_INSTALL_ENV+= $(COMMON_ENV)
|
||||
|
||||
CONFIGURE_PREFIX=$(GCC_COMPONENT_PREFIX)
|
||||
|
||||
# General options
|
||||
CONFIGURE_OPTIONS+= --sbindir=$(CONFIGURE_BINDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS+= --libdir=$(CONFIGURE_LIBDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS+= --libexecdir=$(CONFIGURE_LIBDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS+= --host $(GNU_TRIPLET)
|
||||
CONFIGURE_OPTIONS+= --build $(GNU_TRIPLET)
|
||||
CONFIGURE_OPTIONS+= --target $(GNU_TRIPLET)
|
||||
#CONFIGURE_OPTIONS+= --with-boot-ldflags=-R$(CONFIGURE_PREFIX)/lib
|
||||
CONFIGURE_OPTIONS+= --with-pkgversion="OpenIndiana $(GCC_COMPONENT_STRING_VERSION)"
|
||||
CONFIGURE_OPTIONS+= --with-bugurl="https://bugs.openindiana.org"
|
||||
|
||||
# Toolchain options
|
||||
CONFIGURE_OPTIONS+= --without-gnu-ld
|
||||
CONFIGURE_OPTIONS+= --with-ld=/usr/bin/ld
|
||||
CONFIGURE_OPTIONS+= --with-build-time-tools=/usr/gnu/$(GNU_TRIPLET)/bin
|
||||
|
||||
# If the compiler used to build matches the compiler being built, there is no
|
||||
# need for a 3 stage build.
|
||||
ifneq ($(shell $(CC) --version | grep $(COMPONENT_VERSION)),)
|
||||
CONFIGURE_OPTIONS += --disable-bootstrap
|
||||
else
|
||||
COMPONENT_BUILD_TARGETS=bootstrap
|
||||
endif
|
||||
|
||||
# On SPARC systems, use Sun Assembler
|
||||
CONFIGURE_OPTIONS.sparc+= --without-gnu-as --with-as=/usr/bin/as
|
||||
CONFIGURE_OPTIONS.i386+= --with-gnu-as --with-as=/usr/bin/gas
|
||||
CONFIGURE_OPTIONS+= $(CONFIGURE_OPTIONS.$(MACH))
|
||||
|
||||
# Set path to library install prefix
|
||||
CONFIGURE_OPTIONS+= LDFLAGS="-R$(CONFIGURE_PREFIX)/lib"
|
||||
|
||||
# Strip the resulting binaries
|
||||
COMPONENT_INSTALL_TARGETS = install-strip
|
||||
|
||||
COMPONENT_POST_INSTALL_ACTION = \
|
||||
$(RM) -r $(PROTO_DIR)$(CONFIGURE_PREFIX)/lib/gcc/$(GNU_TRIPLET)/$(COMPONENT_VERSION)/include-fixed
|
||||
|
||||
unexport SHELLOPTS
|
||||
|
||||
#
|
||||
# Run the tests and generate a summary report, then output the summary
|
||||
# report into the results file. Note that list of reported tests is sorted
|
||||
# to allow parallel test run.
|
||||
#
|
||||
# To ensure that all tests that are expected to pass actually
|
||||
# pass, we have to increase the stacksize limit to at least
|
||||
# 16MB. Otherwise we'll get spurious failures in the test
|
||||
# harness (gcc.c-torture/compile/limits-exprparen.c and others).
|
||||
# With the soft stacksize limit set to 16384 we get reasonably good
|
||||
# test results.
|
||||
#
|
||||
ifeq ($(strip $(MACH)),i386)
|
||||
COMPONENT_PRE_TEST_ACTION += \
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
ulimit -Ss 16385 ; \
|
||||
$(ENV) $(COMPONENT_PRE_TEST_ENV) \
|
||||
$(GMAKE) -k -i $(JOBS:%=-j%) check check-target RUNTESTFLAGS="--target_board=unix/-m64\{,-msave-args\}" ; \
|
||||
$(FIND) . -name '*.sum' | while read f; do \
|
||||
gsed -e '1,/^Running target unix/p' -e 'd' $f > $f.2; \
|
||||
gsed -e '/^Running target unix/,/Summary ===$/p' -e 'd' $f | grep '^.*: ' | sort -k 2 >> $f.2; \
|
||||
gsed -e '/Summary ===$/,$p' -e 'd' $f >> $f.2; \
|
||||
mv $f.2 $f; done; \
|
||||
$(GMAKE) mail-report.log)
|
||||
else
|
||||
COMPONENT_PRE_TEST_ACTION += \
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
ulimit -Ss 16385 ; \
|
||||
$(ENV) $(COMPONENT_PRE_TEST_ENV) \
|
||||
$(GMAKE) -k -i $(JOBS:%=-j%) check check-target RUNTESTFLAGS="--target_board=unix/-m64" ; \
|
||||
$(FIND) . -name '*.sum' | while read f; do \
|
||||
gsed -e '1,/^Running target unix/p' -e 'd' $f > $f.2; \
|
||||
gsed -e '/^Running target unix/,/Summary ===$/p' -e 'd' $f | grep '^.*: ' | sort -k 2 >> $f.2; \
|
||||
gsed -e '/Summary ===$/,$p' -e 'd' $f >> $f.2; \
|
||||
mv $f.2 $f; done; \
|
||||
$(GMAKE) mail-report.log)
|
||||
endif
|
||||
|
||||
COMPONENT_TEST_CMD = $(CAT)
|
||||
COMPONENT_TEST_TARGETS = mail-report.log
|
||||
|
||||
# Master test results are different between x86 and SPARC.
|
||||
COMPONENT_TEST_MASTER = \
|
||||
$(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
|
||||
|
||||
# Common dependencies
|
||||
REQUIRED_PACKAGES += SUNWcs
|
||||
REQUIRED_PACKAGES += system/library
|
||||
REQUIRED_PACKAGES += system/library/math
|
||||
|
||||
# Required by the test suite
|
||||
REQUIRED_PACKAGES += developer/test/dejagnu
|
||||
REQUIRED_PACKAGES += developer/build/autoconf-archive
|
||||
REQUIRED_PACKAGES += developer/build/autogen
|
||||
REQUIRED_PACKAGES += system/extended-system-utilities
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
GEM=/usr/ruby/$(RUBY_VERSION)/bin/gem
|
||||
|
||||
VENDOR_GEM_DIR=/usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/gems/$(RUBY_LIB_VERSION)
|
||||
|
||||
# Name of the gem spec to use. This will typically be
|
||||
# <component_name>.gemspec
|
||||
GEMSPEC=$(COMPONENT_NAME).gemspec
|
||||
|
||||
|
||||
# Some gems projects have to be built using rake
|
||||
# Allow GEM build/install commands to be overwritten
|
||||
# to account for possible differences
|
||||
GEM_BUILD_ACTION=(cd $(@D); $(GEM) build $(GEM_BUILD_ARGS) $(GEMSPEC))
|
||||
|
||||
# Build install args in a more readable fashion
|
||||
ifeq ($(firstword $(subst .,$(space),$(RUBY_VERSION))),2)
|
||||
# gem install 2.x does docs differently. Continue to generate both types
|
||||
GEM_INSTALL_ARGS += --document rdoc,ri
|
||||
endif
|
||||
|
||||
GEM_INSTALL_ARGS += -V --local --force
|
||||
GEM_INSTALL_ARGS += --install-dir $(PROTO_DIR)/$(VENDOR_GEM_DIR)
|
||||
GEM_INSTALL_ARGS += --bindir $(PROTO_DIR)/$(VENDOR_GEM_DIR)/bin
|
||||
|
||||
# cd into build directory
|
||||
# gem 2.2.3 uses .gem from the cwd ignoring command line .gem file
|
||||
# gem 1.8.23.2 uses command line .gem file OR .gem from cwd
|
||||
GEM_INSTALL_ACTION= (cd $(@D); $(GEM) install $(GEM_INSTALL_ARGS) $(COMPONENT_NAME))
|
||||
|
||||
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(GTAR) -C $(SOURCE_DIR) -cpf - . | $(GTAR) -C $(@D) -xpf -
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
# Build the gem and cause the generation of a new gem spec
|
||||
# file in $(COMPONENT_SRC)
|
||||
$(GEM_BUILD_ACTION)
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
$(MKDIR) $(PROTO_DIR)/$(GEM_DIR)
|
||||
# Install the new recreated gem
|
||||
$(GEM_INSTALL_ACTION)
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
COMPONENT_TEST_TARGETS =
|
||||
|
||||
# Test the built source. If the output file shows up in the environment or
|
||||
# arguments, don't redirect stdout/stderr to it.
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
$(if $(findstring $(COMPONENT_TEST_OUTPUT),$(COMPONENT_TEST_ENV)$(COMPONENT_TEST_ARGS)),,&> $(COMPONENT_TEST_OUTPUT))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(COMPONENT_TEST_DEP)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
clean::
|
||||
$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += runtime/ruby
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# $(WS_MAKE_RULES)/ips.mk really isn't set up to allow you to bypass all
|
||||
# the automatic (and lengthy) manifest manipulation that it does, which we
|
||||
# really don't need to do for these static, uninteresting packages. So we just
|
||||
# write a simple set of publication rules to get the packages into the repo.
|
||||
|
||||
# For gmake clean to work
|
||||
COMPONENT_SRC=nonexistent
|
||||
|
||||
PKGSEND = /usr/bin/pkgsend
|
||||
PKGLINT = /usr/bin/python3.5 /usr/bin/pkglint
|
||||
PKGMOGRIFY = /usr/bin/pkgmogrify
|
||||
|
||||
GENERATE_HISTORY= $(WS_TOOLS)/generate-history
|
||||
HISTORY= history
|
||||
|
||||
MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH)
|
||||
|
||||
CANONICAL_MANIFESTS = $(filter-out dummy.p5m,$(wildcard *.p5m))
|
||||
HISTORICAL_MANIFESTS = $(shell $(NAWK) -v FUNCTION=name -f $(GENERATE_HISTORY) < $(HISTORY))
|
||||
ARCH_MANIFESTS = $(wildcard *.p5m.$(MACH))
|
||||
GENERATED_ARCH_MANIFESTS = $(ARCH_MANIFESTS:%.p5m.$(MACH)=%.p5m)
|
||||
CANONICAL_MANIFESTS += $(GENERATED_ARCH_MANIFESTS)
|
||||
|
||||
MOGRIFIED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified)
|
||||
HISTOGRIFIED = $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.histogrified)
|
||||
PUBLISHED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
|
||||
PUBLISHED += $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
|
||||
|
||||
# Rule to generate historical manifests from the $(HISTORY) file.
|
||||
define history-manifest-rule
|
||||
$(MANIFEST_BASE)-$(1): $(HISTORY) $(BUILD_DIR)
|
||||
$(NAWK) -v FUNCTION=manifest -v TARGET=$1 -f $(GENERATE_HISTORY) < \
|
||||
$(HISTORY) > $$@
|
||||
endef
|
||||
$(foreach mfst,$(HISTORICAL_MANIFESTS),$(eval $(call history-manifest-rule,$(mfst))))
|
||||
|
||||
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
|
||||
|
||||
PKG_MACROS = CONSOLIDATION=$(CONSOLIDATION)
|
||||
PKG_MACROS += BUILD_VERSION=$(BUILD_VERSION)
|
||||
PKG_MACROS += OS_VERSION=$(OS_VERSION)
|
||||
|
||||
PKG_OPTIONS += $(PKG_MACROS:%=-D %)
|
||||
|
||||
build install test system-test:
|
||||
@echo "nothing to be done for $@"
|
||||
|
||||
$(BUILD_DIR):
|
||||
$(MKDIR) $@
|
||||
|
||||
$(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR)
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< > $@
|
||||
|
||||
$(MANIFEST_BASE)-%.histogrified: $(MANIFEST_BASE)-%.p5m $(BUILD_DIR)
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< > $@
|
||||
|
||||
$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.mogrified $(BUILD_DIR)
|
||||
$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $<
|
||||
$(CP) $< $@
|
||||
|
||||
$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.histogrified $(BUILD_DIR)
|
||||
$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $<
|
||||
$(CP) $< $@
|
||||
|
||||
$(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(HISTOGRIFIED) $(BUILD_DIR)
|
||||
if [[ -n "$(MOGRIFIED)" ]]; \
|
||||
then \
|
||||
$(ENV) PYTHONPATH=$(WS_TOOLS)/python \
|
||||
SOLARIS_VERSION=$(SOLARIS_VERSION) \
|
||||
$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
|
||||
-f $(WS_TOOLS)/pkglintrc $(MOGRIFIED); \
|
||||
fi
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/.published-$(MACH): $(BUILD_DIR)/.linted-$(MACH) $(PUBLISHED)
|
||||
$(TOUCH) $@
|
||||
|
||||
publish: $(BUILD_DIR)/.published-$(MACH)
|
||||
|
||||
print-package-names:
|
||||
@cat history | cut -f 1 -d '@'
|
||||
|
||||
%.p5m: %.p5m.$(MACH)
|
||||
$(CP) $< $@
|
||||
|
||||
clobber clean::
|
||||
$(RM) -r $(BUILD_DIR) $(GENERATED_ARCH_MANIFESTS)
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
VENDOR_RUBY = /usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)
|
||||
|
||||
# default user executable binaries to /usr/bin
|
||||
INSTALL_RB_BINDIR = $(USRBINDIR)
|
||||
|
||||
# install.rb scripts do not have any concept of 'build' so make this a
|
||||
# no-op
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# install the source into the proto directory
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(SOURCE_DIR) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
./install.rb --destdir=$(PROTO_DIR) \
|
||||
--ruby=$(RUBY) \
|
||||
--bindir=$(INSTALL_RB_BINDIR) \
|
||||
--sitelibdir=$(VENDOR_RUBY) \
|
||||
--mandir=$(USRSHAREMANDIR))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
clean::
|
||||
$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2014 Andrzej Szeszo. All rights reserved.
|
||||
#
|
||||
|
||||
|
||||
# The package branch version scheme is:
|
||||
#
|
||||
# release_major.release_minor.update.component_revision
|
||||
#
|
||||
|
||||
#
|
||||
# Release major number: 2014, 2015, etc.
|
||||
#
|
||||
RELEASE_MAJOR ?= 2022
|
||||
|
||||
#
|
||||
# Release minor number: 0, 1, 2, etc.
|
||||
#
|
||||
RELEASE_MINOR ?= 0
|
||||
|
||||
#
|
||||
# Release update number: 0, 1, 2, etc.
|
||||
#
|
||||
UPDATENUM ?= 0
|
||||
|
||||
#
|
||||
# Component revision. Should be specified in the component's Makefile
|
||||
#
|
||||
|
||||
COMPONENT_REVISION ?= 0
|
||||
|
||||
#
|
||||
# Branch Identifier. Used in the version section of the package name to
|
||||
# identify the operating system branch that the package was produced for.
|
||||
#
|
||||
BRANCHID ?= $(RELEASE_MAJOR).$(RELEASE_MINOR).$(UPDATENUM).$(COMPONENT_REVISION)
|
||||
|
||||
#
|
||||
# Build Version. Used in the version section of the package name to identify
|
||||
# the operating system version and branch that the package was produced for.
|
||||
#
|
||||
BUILD_VERSION ?= $(PKG_SOLARIS_VERSION)-$(BRANCHID)
|
||||
|
||||
# Set a default reference repository against which pkglint is run, in case it
|
||||
# hasn't been set in the environment.
|
||||
#CANONICAL_REPO ?= http://ipkg.us.oracle.com/solaris12/dev/
|
||||
|
||||
# Pre-set some variables with GIT repo details
|
||||
USERLAND_GIT_REMOTE ?= $(shell git remote -v | awk '/origin.*fetch/ { print $$2 }')
|
||||
USERLAND_GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
||||
USERLAND_GIT_REV ?= $(shell git rev-parse HEAD)
|
||||
|
|
@ -1,627 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2014 Andrzej Szeszo. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# Rules and Macros for generating an IPS package manifest and publishing an
|
||||
# IPS package to a pkg depot.
|
||||
#
|
||||
# To use these rules, include ../make-rules/ips.mk in your Makefile
|
||||
# and define an "install" target appropriate to building your component.
|
||||
# Ex:
|
||||
#
|
||||
# install: $(BUILD_DIR)/build/$(MACH32)/.installed \
|
||||
# $(BUILD_DIR)/build/$(MACH64)/.installed
|
||||
#
|
||||
# This set of rules makes the "publish" target the default target for make(1)
|
||||
#
|
||||
|
||||
PKGDEPEND = /usr/bin/pkgdepend
|
||||
PKGFMT = /usr/bin/pkgfmt
|
||||
PKGMOGRIFY = /usr/bin/pkgmogrify
|
||||
PKGSEND = /usr/bin/pkgsend
|
||||
ifeq ($(strip $(PKGLINT_COMPONENT)),)
|
||||
PKGLINT = /usr/bin/python3.5 /usr/bin/pkglint
|
||||
else
|
||||
PKGLINT = ${WS_TOOLS}/pkglint
|
||||
endif
|
||||
PKGMANGLE = $(WS_TOOLS)/userland-mangler
|
||||
|
||||
WS_TRANSFORMS = $(WS_TOP)/transforms
|
||||
|
||||
GENERATE_HISTORY= $(WS_TOOLS)/generate-history
|
||||
HISTORY= history
|
||||
|
||||
# Package headers should all pretty much follow the same format
|
||||
METADATA_TEMPLATE = $(WS_TOP)/transforms/manifest-metadata-template
|
||||
COPYRIGHT_TEMPLATE = $(WS_TOP)/transforms/copyright-template
|
||||
|
||||
# order is important
|
||||
GENERATE_TRANSFORMS += $(WS_TOP)/transforms/generate-cleanup
|
||||
|
||||
PKGMOGRIFY_TRANSFORMS += $(WS_TOP)/transforms/libtool-drop
|
||||
PKGMOGRIFY_TRANSFORMS += $(WS_TOP)/transforms/ignore-libs
|
||||
|
||||
ifneq ($(GCC_ROOT), /usr/gcc/4.9)
|
||||
PKGMOGRIFY_TRANSFORMS += $(WS_TOP)/transforms/ignore-gcc-usr-lib
|
||||
endif
|
||||
|
||||
COMPARISON_TRANSFORMS += $(WS_TOP)/transforms/comparison-cleanup
|
||||
COMPARISON_TRANSFORMS += $(PKGMOGRIFY_TRANSFORMS)
|
||||
|
||||
LICENSE_TRANSFORMS = $(WS_TOP)/transforms/license-changes
|
||||
|
||||
# order is important
|
||||
PUBLISH_TRANSFORMS += $(LICENSE_TRANSFORMS)
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/variant-cleanup
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/autopyc
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/defaults
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/actuators
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/devel
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/docs
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/locale
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/python-3-soabi
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/python-3-no-32bit
|
||||
PUBLISH_TRANSFORMS += $(PKGMOGRIFY_TRANSFORMS)
|
||||
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/publish-cleanup
|
||||
|
||||
FINAL_TRANSFORMS += $(WS_TOP)/transforms/final-cleanup
|
||||
|
||||
define add-limiting-variable
|
||||
PKG_VARS += $(1)
|
||||
MANIFEST_LIMITING_VARS += -D $(1)="$(subst #,\#,$($(1)))"
|
||||
endef
|
||||
|
||||
# Make all the limiting variables available to manifest processing
|
||||
$(foreach var, $(filter PY3_%_NAMING,$(.VARIABLES)), \
|
||||
$(eval $(call add-limiting-variable,$(var))))
|
||||
|
||||
|
||||
ifeq ($(strip $(COMPONENT_AUTOGEN_MANIFEST)),yes)
|
||||
AUTOGEN_MANIFEST_TRANSFORMS += $(WS_TOP)/transforms/generate-cleanup
|
||||
else
|
||||
AUTOGEN_MANIFEST_TRANSFORMS += $(WS_TOP)/transforms/drop-all
|
||||
endif
|
||||
|
||||
# For items defined as variables or that may contain whitespace, add
|
||||
# them to a list to be expanded into PKG_OPTIONS later.
|
||||
PKG_VARS += ARC_CASE TPNO
|
||||
PKG_VARS += MACH MACH32 MACH64
|
||||
PKG_VARS += BUILD_VERSION OS_VERSION PKG_SOLARIS_VERSION
|
||||
PKG_VARS += GNU_TRIPLET
|
||||
PKG_VARS += CONSOLIDATION
|
||||
PKG_VARS += COMPONENT_VERSION IPS_COMPONENT_VERSION HUMAN_VERSION
|
||||
PKG_VARS += COMPONENT_ARCHIVE_URL COMPONENT_PROJECT_URL COMPONENT_NAME
|
||||
PKG_VARS += COMPONENT_FMRI COMPONENT_LICENSE_FILE
|
||||
PKG_VARS += COMPONENT_SUMMARY COMPONENT_DESCRIPTION COMPONENT_LICENSE
|
||||
PKG_VARS += HG_REPO HG_REV HG_URL COMPONENT_HG_URL COMPONENT_HG_REV
|
||||
PKG_VARS += GIT_COMMIT_ID GIT_REPO GIT_TAG
|
||||
PKG_VARS += PUBLISHER PUBLISHER_LOCALIZABLE
|
||||
PKG_VARS += USERLAND_GIT_REMOTE USERLAND_GIT_BRANCH USERLAND_GIT_REV
|
||||
|
||||
# For items that need special definition, add them to PKG_MACROS.
|
||||
# IPS_COMPONENT_VERSION suitable for use in regular expressions.
|
||||
PKG_MACROS += IPS_COMPONENT_RE_VERSION=$(subst .,\\.,$(IPS_COMPONENT_VERSION))
|
||||
# COMPONENT_VERSION suitable for use in regular expressions.
|
||||
PKG_MACROS += COMPONENT_RE_VERSION=$(subst .,\\.,$(COMPONENT_VERSION))
|
||||
|
||||
PKG_OPTIONS += $(PKG_MACROS:%=-D %) \
|
||||
-D COMPONENT_CLASSIFICATION="org.opensolaris.category.2008:$(strip $(COMPONENT_CLASSIFICATION))"
|
||||
|
||||
define mach-list-generate-macros
|
||||
ifeq ($(MACH),$(1))
|
||||
PKG_MACROS += $(1)_ONLY=
|
||||
PKG_MACROS += $(1)_EXCL=\#
|
||||
else
|
||||
PKG_MACROS += $(1)_ONLY=\#
|
||||
PKG_MACROS += $(1)_EXCL=
|
||||
endif
|
||||
endef
|
||||
$(foreach isa,$(MACH_LIST),$(eval $(call mach-list-generate-macros,$(isa))))
|
||||
|
||||
define python-generate-macros
|
||||
PKG_MACROS += PYTHON_$(1)_ONLY=\#
|
||||
PKG_MACROS += PYTHON_$(1)_EXCL=
|
||||
endef
|
||||
$(foreach ver,$(PYTHON_VERSIONS),$(eval $(call python-generate-macros,$(ver))))
|
||||
|
||||
PKG_MACROS += PYTHON_32_ONLY=
|
||||
|
||||
MANGLED_DIR = $(PROTO_DIR)/mangled
|
||||
|
||||
PKG_PROTO_DIRS += $(MANGLED_DIR) $(PROTO_DIR) $(@D) $(COMPONENT_DIR) $(COMPONENT_SRC)
|
||||
|
||||
MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH)
|
||||
|
||||
SAMPLE_MANIFEST_DIR = $(COMPONENT_DIR)/manifests
|
||||
SAMPLE_MANIFEST_FILE = $(SAMPLE_MANIFEST_DIR)/sample-manifest.p5m
|
||||
GENERIC_MANIFEST_FILE = $(SAMPLE_MANIFEST_DIR)/generic-manifest.p5m
|
||||
|
||||
CANONICAL_MANIFESTS = $(wildcard *.p5m)
|
||||
ifneq ($(wildcard $(HISTORY)),)
|
||||
HISTORICAL_MANIFESTS = $(shell $(NAWK) -v FUNCTION=name -f $(GENERATE_HISTORY) < $(HISTORY))
|
||||
endif
|
||||
|
||||
define ips-print-depend-require-rule
|
||||
$(shell cat $(1) $(WS_TOP)/transforms/print-depend-require |\
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 |\
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u)
|
||||
endef
|
||||
|
||||
define ips-print-depend-require-versioned-rule
|
||||
$(foreach v,$($(1)V_VALUES),\
|
||||
$(shell cat $(2) $(WS_TOP)/transforms/print-pkgs |\
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) -D $($(1)V_FMRI_VERSION)=$(v) /dev/fd/0 |\
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u))
|
||||
endef
|
||||
|
||||
define ips-print-depend-require-type-rule
|
||||
$(foreach m,$($(1)_MANIFESTS),$(call ips-print-depend-require-versioned-rule,$(1),$(m)))
|
||||
endef
|
||||
|
||||
define ips-print-names-rule
|
||||
$(shell cat $(1) $(WS_TOP)/transforms/print-pkgs |\
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 |\
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | LANG=C LC_ALL=C sort -u)
|
||||
endef
|
||||
|
||||
define ips-print-names-versioned-rule
|
||||
$(foreach v,$($(1)V_VALUES),\
|
||||
$(shell cat $(2) $(WS_TOP)/transforms/print-pkgs |\
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) -D $($(1)V_FMRI_VERSION)=$(v) /dev/fd/0 |\
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | LANG=C LC_ALL=C sort -u))
|
||||
endef
|
||||
|
||||
#
|
||||
# In addition to the concrete per-version packages, we also need to emit the
|
||||
# name of the generic package which pulls in the concrete packages.
|
||||
#
|
||||
define ips-print-names-generic-rule
|
||||
$(shell cat $(2) $(WS_TOP)/transforms/mkgeneric $(BUILD_DIR)/mkgeneric-python \
|
||||
$(WS_TOP)/transforms/print-pkgs |\
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) -D $($(1)V_FMRI_VERSION)=\#\#\# /dev/fd/0 |\
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | LANG=C LC_ALL=C sort -u)
|
||||
endef
|
||||
|
||||
define ips-print-names-type-rule
|
||||
$(foreach m,$($(1)_MANIFESTS),\
|
||||
$(call ips-print-names-versioned-rule,$(1),$(m))\
|
||||
$(call ips-print-names-generic-rule,$(1),$(m))\
|
||||
)
|
||||
endef
|
||||
|
||||
VERSIONED_MANIFEST_TYPES =
|
||||
UNVERSIONED_MANIFESTS = $(filter-out %-GENFRAG.p5m, $(CANONICAL_MANIFESTS))
|
||||
GENERATE_GENERIC_TRANSFORMS=
|
||||
|
||||
# Look for manifests which need to be duplicated for each version of python.
|
||||
ifeq ($(findstring -PYVER,$(CANONICAL_MANIFESTS)),-PYVER)
|
||||
VERSIONED_MANIFEST_TYPES+= PY
|
||||
NOPY_MANIFESTS = $(filter-out %-PYVER.p5m,$(UNVERSIONED_MANIFESTS))
|
||||
PY_MANIFESTS = $(filter %-PYVER.p5m,$(CANONICAL_MANIFESTS))
|
||||
PYV_VALUES = $(shell echo $(PYTHON_VERSIONS) | tr -d .)
|
||||
PYV_FMRI_VERSION = PYV
|
||||
PYV_MANIFESTS = $(foreach v,$(PYV_VALUES),$(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER.p5m/-$(v).p5m/g'))
|
||||
PYNV_MANIFESTS = $(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER//')
|
||||
MKGENERIC_SCRIPTS += $(BUILD_DIR)/mkgeneric-python
|
||||
GENERATE_GENERIC_TRANSFORMS+=$(PYTHON_VERSIONS:%=-e 's/%/\$$\(PYVER\)/g')
|
||||
else
|
||||
NOPY_MANIFESTS = $(UNVERSIONED_MANIFESTS)
|
||||
endif
|
||||
|
||||
# Look for manifests which need to be duplicated for each version of perl.
|
||||
ifeq ($(findstring -PERLVER,$(UNVERSIONED_MANIFESTS)),-PERLVER)
|
||||
VERSIONED_MANIFEST_TYPES+= PERL
|
||||
NOPERL_MANIFESTS = $(filter-out %-PERLVER.p5m,$(NOPY_MANIFESTS))
|
||||
PERL_MANIFESTS = $(filter %-PERLVER.p5m,$(UNVERSIONED_MANIFESTS))
|
||||
PERLV_VALUES = $(shell echo $(PERL_VERSIONS) | tr -d .)
|
||||
PERLV_FMRI_VERSION = PLV
|
||||
PERLV_MANIFESTS = $(foreach v,$(PERLV_VALUES),$(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER.p5m/-$(v).p5m/g'))
|
||||
PERLNV_MANIFESTS = $(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER//')
|
||||
else
|
||||
NOPERL_MANIFESTS = $(NOPY_MANIFESTS)
|
||||
endif
|
||||
|
||||
# Look for manifests which need to be duplicated for each version of ruby.
|
||||
# NOPERL_MANIFESTS represents the manifests that are not Python or
|
||||
# Perl manifests. Extract the Ruby Manifests from NOPERL_MANIFESTS.
|
||||
# Any remaining manifests are stored in NONRUBY_MANIFESTS
|
||||
ifeq ($(findstring -RUBYVER,$(NOPERL_MANIFESTS)),-RUBYVER)
|
||||
VERSIONED_MANIFEST_TYPES+= RUBY
|
||||
NORUBY_MANIFESTS = $(filter-out %-RUBYVER.p5m,$(NOPERL_MANIFESTS))
|
||||
RUBY_MANIFESTS = $(filter %-RUBYVER.p5m,$(NOPERL_MANIFESTS))
|
||||
RUBYV_VALUES = $(RUBY_VERSIONS)
|
||||
RUBYV_FMRI_VERSION = RUBYV
|
||||
RUBYV_MANIFESTS = $(foreach v,$(RUBY_VERSIONS),\
|
||||
$(shell echo $(RUBY_MANIFESTS) |\
|
||||
sed -e 's/-RUBYVER.p5m/-$(shell echo $(v) |\
|
||||
cut -d. -f1,2 | tr -d .).p5m/g'))
|
||||
RUBYNV_MANIFESTS = $(shell echo $(RUBY_MANIFESTS) | sed -e 's/-RUBYVER//')
|
||||
else
|
||||
NORUBY_MANIFESTS = $(NOPERL_MANIFESTS)
|
||||
endif
|
||||
|
||||
NONVER_MANIFESTS = $(NORUBY_MANIFESTS)
|
||||
|
||||
VERSIONED_MANIFESTS = \
|
||||
$(PYV_MANIFESTS) $(PYNV_MANIFESTS) \
|
||||
$(PERLV_MANIFESTS) $(PERLNV_MANIFESTS) \
|
||||
$(RUBYV_MANIFESTS) $(RUBYNV_MANIFESTS) \
|
||||
$(NORUBY_MANIFESTS) $(HISTORICAL_MANIFESTS)
|
||||
|
||||
GENERATED = $(MANIFEST_BASE)-generated
|
||||
COMBINED = $(MANIFEST_BASE)-combined
|
||||
MANIFESTS = $(VERSIONED_MANIFESTS:%=$(MANIFEST_BASE)-%)
|
||||
|
||||
|
||||
DEPENDED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend)
|
||||
RESOLVED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend.res)
|
||||
PRE_PUBLISHED=$(RESOLVED:%.depend.res=%.pre-published)
|
||||
PUBLISHED=$(RESOLVED:%.depend.res=%.published)
|
||||
|
||||
COPYRIGHT_FILE ?= $(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright
|
||||
IPS_COMPONENT_VERSION ?= $(COMPONENT_VERSION)
|
||||
|
||||
.DEFAULT: publish
|
||||
|
||||
.SECONDARY:
|
||||
|
||||
# allow publishing to be overridden, such as when
|
||||
# a package is for one architecture only.
|
||||
PRE_PUBLISH_STAMP ?= $(BUILD_DIR)/.pre-published-$(MACH)
|
||||
PUBLISH_STAMP ?= $(BUILD_DIR)/.published-$(MACH)
|
||||
|
||||
# Do all that is needed to ensure the package is consistent for publishing,
|
||||
# except actually pushing to a repo, separately from the push to the repo.
|
||||
pre-publish: build install $(PRE_PUBLISH_STAMP)
|
||||
publish: pre-publish update-metadata $(PUBLISH_STAMP)
|
||||
|
||||
sample-manifest: $(GENERATED).p5m
|
||||
|
||||
$(GENERATED).p5m: install
|
||||
[ ! -d $(SAMPLE_MANIFEST_DIR) ] && $(MKDIR) $(SAMPLE_MANIFEST_DIR) || true
|
||||
$(PKGSEND) generate $(PKG_HARDLINKS:%=--target %) $(PROTO_DIR) | \
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 $(GENERATE_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' \
|
||||
-e '/\.la$$/d' -e '/\.pyo$$/d' -e '/usr\/lib\/python[23]\..*\.pyc$$/d' \
|
||||
-e '/usr\/lib\/python3\..*\/__pycache__\/.*/d' | \
|
||||
$(PKGFMT) | \
|
||||
cat $(METADATA_TEMPLATE) - | \
|
||||
$(TEE) $@ $(SAMPLE_MANIFEST_FILE) >/dev/null
|
||||
if [ "$(GENERATE_GENERIC_TRANSFORMS)X" != "X" ]; \
|
||||
then sed $(GENERATE_GENERIC_TRANSFORMS) $(SAMPLE_MANIFEST_FILE) \
|
||||
| gawk '!seen[$$0]++' > $(GENERIC_MANIFEST_FILE); fi;
|
||||
|
||||
# copy the canonical manifest(s) to the build tree
|
||||
$(MANIFEST_BASE)-%.generate: %.p5m canonical-manifests
|
||||
cat $(METADATA_TEMPLATE) $< >$@
|
||||
|
||||
# The text of a transform that will emit a dependency conditional on the
|
||||
# presence of a particular version of a runtime, which will then draw in the
|
||||
# runtime-version-specific version of the package we're operating on. $(1) is
|
||||
# the name of the runtime package, and $(2) is the version suffix.
|
||||
mkgeneric = \
|
||||
echo "<transform set name=pkg.fmri value=(?:pkg:/)?(.+)-\#\#\#@(.*)" \
|
||||
"-> emit depend nodrop=true type=conditional" \
|
||||
"predicate=$(1)-$(2) fmri=%<1>-$(2)@%<2>>" >> $@;
|
||||
|
||||
mkgenericdep = \
|
||||
( echo -n "<transform set name=pkg.fmri value=(?:pkg:/)?(.+)-\#\#\#@(.*)" \
|
||||
"-> emit depend nodrop=true type=require-any " ; \
|
||||
for i in $(2); do echo -n "fmri=%<1>-$$i@%<2> " ; done ; \
|
||||
echo ">" ) >> $@
|
||||
|
||||
# Define and execute a macro that generates a rule to create a manifest for a
|
||||
# python module specific to a particular version of the python runtime.
|
||||
define python-manifest-rule
|
||||
$(MANIFEST_BASE)-%-$(2).mogrified: PKG_MACROS += PYTHON_$(1)_ONLY= PYTHON_$(1)_EXCL=\#
|
||||
|
||||
ifneq ($(filter $(1),$(PYTHON_64_ONLY_VERSIONS)),)
|
||||
$(MANIFEST_BASE)-%-$(2).mogrified: PKG_MACROS += PYTHON_32_ONLY=\#
|
||||
endif
|
||||
|
||||
$(MANIFEST_BASE)-%-$(2).p5m: %-PYVER.p5m
|
||||
$(PKGMOGRIFY) -D PYVER=$(1) $(MANIFEST_LIMITING_VARS) -D PYV=$(2) $$< > $$@
|
||||
endef
|
||||
$(foreach ver,$(PYTHON_VERSIONS),$(eval $(call python-manifest-rule,$(ver),$(shell echo $(ver)|tr -d .))))
|
||||
|
||||
# A rule to create a helper transform package for python, that will insert the
|
||||
# appropriate conditional dependencies into a python library's
|
||||
# runtime-version-generic package to pull in the version-specific bits when the
|
||||
# corresponding version of python is on the system.
|
||||
$(BUILD_DIR)/mkgeneric-python: $(WS_TOP)/make-rules/shared-macros.mk $(MAKEFILE_PREREQ) $(BUILD_DIR)
|
||||
$(RM) $@
|
||||
$(foreach ver,$(shell echo $(PYTHON_VERSIONS) | tr -d .), \
|
||||
$(call mkgeneric,runtime/python,$(ver)))
|
||||
$(call mkgenericdep,runtime/python,$(shell echo $(PYTHON_VERSIONS) | tr -d .))
|
||||
|
||||
# Build Python version-wrapping manifests from the generic version.
|
||||
$(MANIFEST_BASE)-%.p5m: %-PYVER.p5m $(BUILD_DIR)/mkgeneric-python
|
||||
$(PKGMOGRIFY) -D PYV=### $(BUILD_DIR)/mkgeneric-python \
|
||||
$(WS_TOP)/transforms/mkgeneric $< > $@
|
||||
if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
|
||||
|
||||
# Define and execute a macro that generates a rule to create a manifest for a
|
||||
# perl module specific to a particular version of the perl runtime.
|
||||
define perl-manifest-rule
|
||||
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-PERLVER.p5m
|
||||
$(PKGMOGRIFY) -D PERLVER=$(1) -D PLV=$(shell echo $(1) | tr -d .) \
|
||||
-D PERL_ARCH=$(call PERL_ARCH_FUNC,$(PERL.$(1))) $$< > $$@
|
||||
endef
|
||||
$(foreach ver,$(PERL_VERSIONS),$(eval $(call perl-manifest-rule,$(ver))))
|
||||
|
||||
# A rule to create a helper transform package for perl, that will insert the
|
||||
# appropriate conditional dependencies into a perl library's
|
||||
# runtime-version-generic package to pull in the version-specific bits when the
|
||||
# corresponding version of perl is on the system.
|
||||
$(BUILD_DIR)/mkgeneric-perl: $(WS_TOP)/make-rules/shared-macros.mk $(MAKEFILE_PREREQ)
|
||||
$(RM) $@
|
||||
$(foreach ver,$(shell echo $(PERL_VERSIONS) | tr -d .), \
|
||||
$(call mkgeneric,runtime/perl,$(ver)))
|
||||
$(call mkgenericdep,runtime/perl,$(shell echo $(PERL_VERSIONS) | tr -d .))
|
||||
|
||||
# Build Perl version-wrapping manifests from the generic version.
|
||||
$(MANIFEST_BASE)-%.p5m: %-PERLVER.p5m $(BUILD_DIR)/mkgeneric-perl
|
||||
$(PKGMOGRIFY) -D PLV=### $(BUILD_DIR)/mkgeneric-perl \
|
||||
$(WS_TOP)/transforms/mkgeneric $< > $@
|
||||
if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
|
||||
|
||||
# Rule to generate historical manifests from the $(HISTORY) file.
|
||||
define history-manifest-rule
|
||||
$(MANIFEST_BASE)-$(1): $(HISTORY) $(BUILD_DIR)
|
||||
$(NAWK) -v TARGET=$(1) -v FUNCTION=manifest -f $(GENERATE_HISTORY) < \
|
||||
$(HISTORY) > $$@
|
||||
endef
|
||||
$(foreach mfst,$(HISTORICAL_MANIFESTS),$(eval $(call history-manifest-rule,$(mfst))))
|
||||
|
||||
# Define and execute a macro that generates a rule to create a manifest for a
|
||||
# ruby module specific to a particular version of the ruby runtime.
|
||||
# Creates build/manifest-*-modulename-##.p5m file where ## is replaced with
|
||||
# the version number.
|
||||
define ruby-manifest-rule
|
||||
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).mogrified: \
|
||||
PKG_MACROS += RUBY_VERSION=$(1) RUBY_LIB_VERSION=$(2) \
|
||||
RUBYV=$(subst .,,$(1))
|
||||
|
||||
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-RUBYVER.p5m
|
||||
if [ -f $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m ]; then \
|
||||
cat $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m >> $$@; \
|
||||
fi
|
||||
$(PKGMOGRIFY) -D RUBY_VERSION=$(1) -D RUBY_LIB_VERSION=$(2) \
|
||||
-D RUBYV=$(shell echo $(1) | tr -d .) $$< > $$@
|
||||
endef
|
||||
$(foreach ver,$(RUBY_VERSIONS),\
|
||||
$(eval $(call ruby-manifest-rule,$(shell echo $(ver) | \
|
||||
cut -d. -f1,2),$(ver))))
|
||||
|
||||
# A rule to create a helper transform package for ruby, that will insert the
|
||||
# appropriate conditional dependencies into a ruby library's
|
||||
# runtime-version-generic package to pull in the version-specific bits when the
|
||||
# corresponding version of ruby is on the system.
|
||||
$(BUILD_DIR)/mkgeneric-ruby: $(WS_TOP)/make-rules/shared-macros.mk $(MAKEFILE_PREREQ)
|
||||
$(RM) $@
|
||||
$(foreach ver,$(RUBY_VERSIONS),\
|
||||
$(call mkgeneric,runtime/ruby,$(shell echo $(ver) | \
|
||||
cut -d. -f1,2 | tr -d .)))
|
||||
$(call mkgenericdep,runtime/ruby,$(shell echo $(RUBY_VERSIONS) | cut -d. -f1,2 | tr -d .))
|
||||
|
||||
# Build Ruby version-wrapping manifests from the generic version.
|
||||
# Creates build/manifest-*-modulename.p5m file.
|
||||
#
|
||||
$(MANIFEST_BASE)-%.p5m: %-RUBYVER.p5m $(BUILD_DIR)/mkgeneric-ruby
|
||||
$(PKGMOGRIFY) -D RUBYV=### $(BUILD_DIR)/mkgeneric-ruby \
|
||||
$(WS_TOP)/transforms/mkgeneric $< > $@
|
||||
if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
|
||||
|
||||
ifeq ($(strip $(COMPONENT_AUTOGEN_MANIFEST)),yes)
|
||||
# auto-generate file/directory list
|
||||
$(MANIFEST_BASE)-%.generated: %.p5m $(BUILD_DIR)
|
||||
(cat $(METADATA_TEMPLATE); \
|
||||
$(PKGSEND) generate $(PKG_HARDLINKS:%=--target %) $(PROTO_DIR)) | \
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 $(AUTOGEN_MANIFEST_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | $(PKGFMT) | \
|
||||
cat $< - >$@
|
||||
|
||||
# mogrify non-parameterized manifests
|
||||
$(MANIFEST_BASE)-%.mogrified: %.generated
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
|
||||
$(PUBLISH_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
|
||||
|
||||
# mogrify parameterized manifests
|
||||
$(MANIFEST_BASE)-%.mogrified: $(MANIFEST_BASE)-%.generated
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
|
||||
$(PUBLISH_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
|
||||
else
|
||||
# mogrify non-parameterized manifests
|
||||
$(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR)
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
|
||||
$(PUBLISH_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
|
||||
|
||||
# mogrify parameterized manifests
|
||||
$(MANIFEST_BASE)-%.mogrified: $(MANIFEST_BASE)-%.p5m $(BUILD_DIR)
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
|
||||
$(PUBLISH_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
|
||||
endif
|
||||
|
||||
# mangle the file contents
|
||||
$(BUILD_DIR) $(MANGLED_DIR):
|
||||
$(MKDIR) $@
|
||||
|
||||
PKGMANGLE_OPTIONS = -D $(MANGLED_DIR) $(PKG_PROTO_DIRS:%=-d %)
|
||||
$(MANIFEST_BASE)-%.mangled: $(MANIFEST_BASE)-%.mogrified $(MANGLED_DIR)
|
||||
$(PKGMANGLE) $(PKGMANGLE_OPTIONS) -m $< >$@
|
||||
|
||||
# generate dependencies
|
||||
PKGDEPEND_GENERATE_OPTIONS = -m $(PKG_PROTO_DIRS:%=-d %)
|
||||
$(MANIFEST_BASE)-%.depend: $(MANIFEST_BASE)-%.mangled
|
||||
$(PKGDEPEND) generate $(PKGDEPEND_GENERATE_OPTIONS) $< >$@
|
||||
|
||||
# pkgdepend resolve builds a map of all installed packages by default. This
|
||||
# makes dependency resolution particularly slow. We can dramatically improve
|
||||
# performance here by creating a file with a list of packages that we know
|
||||
# are needed, dramatically reducing the overhead involved in creating and
|
||||
# searching this map.
|
||||
#
|
||||
# Generate a resolve.deps file from the dependencies in the Makefile and
|
||||
# fragments that it uses.
|
||||
RESOLVE_DEPS=$(BUILD_DIR)/resolve.deps
|
||||
|
||||
$(RESOLVE_DEPS): Makefile $(BUILD_DIR) $(DEPENDED)
|
||||
@(for pkg in $(REQUIRED_PACKAGES:%=/%) ; do \
|
||||
echo $${pkg} ; \
|
||||
done ; \
|
||||
$(PKGMOGRIFY) $(WS_TRANSFORMS)/PRINT_COMPONENT_FMRIS $(DEPENDED) | \
|
||||
$(GSED) -e '/^[\t ]*$$/d' -e '/^#/d' ;) | sort -u >$@
|
||||
|
||||
# resolve the dependencies all at once
|
||||
$(BUILD_DIR)/.resolved-$(MACH): $(DEPENDED) $(RESOLVE_DEPS)
|
||||
$(PKGDEPEND) resolve $(RESOLVE_DEPS:%=-e %) -m $(DEPENDED)
|
||||
$(TOUCH) $@
|
||||
|
||||
# Set REQUIRED_PACKAGES macro substitution rules
|
||||
REQUIRED_PACKAGES_TRANSFORM=$(foreach p,$(REQUIRED_PACKAGES_SUBST), -e 's|$($(p))|$$($(p))|')
|
||||
|
||||
#
|
||||
# Generate a set of REQUIRED_PACKAGES based on what is needed for pkgdepend to
|
||||
# resolve properly. Automatically update the list in your Makefile for the
|
||||
# truly lazy among us. This is only a piece of the REQUIRED_PACKAGES puzzle.
|
||||
# You must still include packages for tools you build and test with.
|
||||
#
|
||||
REQUIRED_PACKAGES:: $(RESOLVED)
|
||||
$(GMAKE) RESOLVE_DEPS= $(BUILD_DIR)/.resolved-$(MACH)
|
||||
@$(GSED) -i -e '/^# Auto-generated dependencies$$/,$$d' Makefile
|
||||
@echo "# Auto-generated dependencies" >>Makefile
|
||||
@$(PKGMOGRIFY) $(WS_TRANSFORMS)/$@ $(RESOLVED) | \
|
||||
$(GSED) -e '/^[\t ]*$$/d' -e '/^#/d' $(REQUIRED_PACKAGES_TRANSFORM) \
|
||||
| sort -u >>Makefile
|
||||
@echo "*** Please edit your Makefile and verify the new or updated content at the end ***"
|
||||
|
||||
|
||||
# lint the manifests all at once
|
||||
$(BUILD_DIR)/.linted-$(MACH): $(BUILD_DIR)/.resolved-$(MACH)
|
||||
@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
|
||||
$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)" $(COMPONENT_PKGLINT_ENV)\
|
||||
$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
|
||||
-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
|
||||
$(TOUCH) $@
|
||||
|
||||
lintme: FRC
|
||||
@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
|
||||
$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)" $(COMPONENT_PKGLINT_ENV)\
|
||||
$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
|
||||
-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
|
||||
|
||||
FRC:
|
||||
|
||||
|
||||
# published
|
||||
PKGSEND_PUBLISH_OPTIONS = -s $(WS_REPO) publish --fmri-in-manifest
|
||||
PKGSEND_PUBLISH_OPTIONS += $(PKG_PROTO_DIRS:%=-d %)
|
||||
PKGSEND_PUBLISH_OPTIONS += -T \*.py
|
||||
|
||||
# Do all the hard work that is needed to ensure the package is consistent
|
||||
# and ready for publishing, except actually pushing bits to a repository
|
||||
$(MANIFEST_BASE)-%.pre-published: $(MANIFEST_BASE)-%.depend.res $(BUILD_DIR)/.linted-$(MACH)
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
|
||||
$(FINAL_TRANSFORMS) | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
|
||||
@echo "NEW PACKAGE CONTENTS ARE LOCALLY VALIDATED AND READY TO GO"
|
||||
|
||||
# Push to the repo
|
||||
$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.pre-published
|
||||
$(PKGSEND) $(PKGSEND_PUBLISH_OPTIONS) $<
|
||||
$(PKGFMT) <$< >$@
|
||||
|
||||
$(BUILD_DIR)/.pre-published-$(MACH): $(PRE_PUBLISHED)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/.published-$(MACH): $(PUBLISHED)
|
||||
$(TOUCH) $@
|
||||
|
||||
print-depend-require: canonical-manifests
|
||||
@echo $(call ips-print-depend-require-rule,$(NONVER_MANIFESTS)) \
|
||||
$(foreach t,$(VERSIONED_MANIFEST_TYPES),$(call ips-print-depend-require-type-rule,$(t))) | tr ' ' '\n'
|
||||
|
||||
print-package-names: canonical-manifests $(MKGENERIC_SCRIPTS)
|
||||
@echo $(call ips-print-names-rule,$(NONVER_MANIFESTS)) \
|
||||
$(foreach t,$(VERSIONED_MANIFEST_TYPES),\
|
||||
$(call ips-print-names-type-rule,$(t))) \
|
||||
| tr ' ' '\n'
|
||||
|
||||
print-package-paths: canonical-manifests
|
||||
@cat $(CANONICAL_MANIFESTS) $(WS_TOP)/transforms/print-paths | \
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' | \
|
||||
LANG=C LC_ALL=C sort -u
|
||||
|
||||
install-packages: publish
|
||||
@if [ $(IS_GLOBAL_ZONE) = 0 -o x$(ROOT) != x ]; then \
|
||||
cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-paths | \
|
||||
$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \
|
||||
sed -e '/^$$/d' -e '/^#.*$$/d' -e 's;/;;' | \
|
||||
LANG=C LC_ALL=C sort -u | \
|
||||
(cd $(PROTO_DIR) ; pfexec /bin/cpio -dump $(ROOT)) ; \
|
||||
else ; \
|
||||
echo "unsafe to install package(s) automatically" ; \
|
||||
fi
|
||||
|
||||
$(RESOLVED): install
|
||||
|
||||
canonical-manifests: $(CANONICAL_MANIFESTS) Makefile $(PATCHES)
|
||||
ifeq ($(strip $(CANONICAL_MANIFESTS)),)
|
||||
# If there were no canonical manifests in the workspace, nothing will
|
||||
# be published and we should fail. A sample manifest can be generated
|
||||
# with
|
||||
# $ gmake sample-manifest
|
||||
# Once created, it will need to be reviewed, edited, and added to the
|
||||
# workspace.
|
||||
$(error Missing canonical manifest(s))
|
||||
endif
|
||||
|
||||
# Component variables are expanded directly to PKG_OPTIONS instead of via
|
||||
# PKG_MACROS since the values may contain whitespace.
|
||||
mkdefine = -D $(1)="$$(strip $(2))"
|
||||
|
||||
# Expand PKG_VARS into defines via PKG_OPTIONS.
|
||||
$(foreach var, $(PKG_VARS), \
|
||||
$(eval PKG_OPTIONS += $(call mkdefine,$(var),$$($(var)))) \
|
||||
)
|
||||
|
||||
# This converts required paths to containing package names for be able to
|
||||
# properly setup the build environment for a component.
|
||||
required-pkgs.mk: Makefile
|
||||
@echo "generating $@ from Makefile REQUIRED_* data"
|
||||
@pkg search -H -l '<$(DEPENDS:%=% OR) /bin/true>' \
|
||||
| sed -e 's/pkg:\/\(.*\)@.*/REQUIRED_PKGS += \1/g' >$@
|
||||
|
||||
pre-prep: required-pkgs.mk
|
||||
|
||||
|
||||
CLEAN_PATHS += required-pkgs.mk
|
||||
CLEAN_PATHS += $(BUILD_DIR)/mkgeneric-perl
|
||||
CLEAN_PATHS += $(BUILD_DIR)/mkgeneric-python
|
||||
CLEAN_PATHS += $(BUILD_DIR)/mkgeneric-ruby
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
#
|
||||
# Rules and Macros for building opens source software that just uses their
|
||||
# own make and no autoconf-style tools.
|
||||
#
|
||||
# To use these rules, include ../make-rules/justmake.mk in your Makefile
|
||||
# and define "build", "install" targets appropriate to building your component.
|
||||
# Ex:
|
||||
#
|
||||
# build: $(BUILD_32) \
|
||||
# $(BUILD_64)
|
||||
#
|
||||
# install: $(INSTALL_32) \
|
||||
# $(INSTALL_64)
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your Makefile by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
|
||||
# COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
#
|
||||
# If component specific make targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
#
|
||||
|
||||
COMPONENT_INSTALL_ARGS += DESTDIR=$(PROTO_DIR)
|
||||
COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS))
|
||||
|
||||
COMPONENT_COPY_ACTION ?= \
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
|
||||
COMPONENT_BUILD_ACTION ?= \
|
||||
cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS)
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(COMPONENT_COPY_ACTION)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
($(COMPONENT_BUILD_ACTION))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) build
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
COMPONENT_INSTALL_ACTION ?= \
|
||||
cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
$(GMAKE) $(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS)
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
($(COMPONENT_INSTALL_ACTION))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: install
|
||||
-$(PARFAIT) build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# perl-5.22 is 32 bit (only), perl-5.24 and later are 64 bit (only)
|
||||
|
||||
COMMON_PERL_ENV += MAKE=$(GMAKE)
|
||||
COMMON_PERL_ENV += PATH=$(dir $(CC)):$(SPRO_VROOT)/bin:$(PATH)
|
||||
COMMON_PERL_ENV += LANG=""
|
||||
COMMON_PERL_ENV += CC="$(CC)"
|
||||
COMMON_PERL_ENV += CFLAGS="$(CC_BITS) $(PERL_OPTIMIZE)"
|
||||
|
||||
# Yes. Perl is just scripts, for now, but we need architecture
|
||||
# directories so that it populates all architecture prototype
|
||||
# directories.
|
||||
|
||||
$(BUILD_DIR)/%-5.22/.configured: PERL_VERSION=5.22
|
||||
$(BUILD_DIR)/%-5.24/.configured: PERL_VERSION=5.24
|
||||
$(BUILD_DIR)/%-5.34/.configured: PERL_VERSION=5.34
|
||||
$(BUILD_DIR)/$(MACH32)-%/.configured: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.configured: BITS=64
|
||||
|
||||
$(BUILD_DIR)/%-5.22/.built: PERL_VERSION=5.22
|
||||
$(BUILD_DIR)/%-5.24/.built: PERL_VERSION=5.24
|
||||
$(BUILD_DIR)/%-5.34/.built: PERL_VERSION=5.34
|
||||
$(BUILD_DIR)/$(MACH32)-%/.built: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.built: BITS=64
|
||||
|
||||
$(BUILD_DIR)/%-5.22/.installed: PERL_VERSION=5.22
|
||||
$(BUILD_DIR)/%-5.24/.installed: PERL_VERSION=5.24
|
||||
$(BUILD_DIR)/%-5.34/.installed: PERL_VERSION=5.34
|
||||
$(BUILD_DIR)/$(MACH32)-%/.installed: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.installed: BITS=64
|
||||
|
||||
$(BUILD_DIR)/%-5.22/.tested: PERL_VERSION=5.22
|
||||
$(BUILD_DIR)/%-5.24/.tested: PERL_VERSION=5.24
|
||||
$(BUILD_DIR)/%-5.34/.tested: PERL_VERSION=5.34
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested: BITS=64
|
||||
|
||||
$(BUILD_DIR)/%-5.22/.tested-and-compared: PERL_VERSION=5.22
|
||||
$(BUILD_DIR)/%-5.24/.tested-and-compared: PERL_VERSION=5.24
|
||||
$(BUILD_DIR)/%-5.34/.tested-and-compared: PERL_VERSION=5.34
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested-and-compared: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared: BITS=64
|
||||
|
||||
PERL_32_ONLY_VERSIONS = $(filter-out $(PERL_64_ONLY_VERSIONS), $(PERL_VERSIONS))
|
||||
|
||||
BUILD_32 = $(PERL_32_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.built)
|
||||
BUILD_64 = $(PERL_64_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
|
||||
BUILD_NO_ARCH = $(PERL_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.built)
|
||||
|
||||
ifeq ($(PERL_VERSION),5.24)
|
||||
BUILD_32_and_64 = $(BUILD_64)
|
||||
BUILD_64_and_32 = $(BUILD_64)
|
||||
endif
|
||||
ifeq ($(PERL_VERSION),5.34)
|
||||
BUILD_32_and_64 = $(BUILD_64)
|
||||
BUILD_64_and_32 = $(BUILD_64)
|
||||
endif
|
||||
|
||||
INSTALL_32 = $(PERL_32_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.installed)
|
||||
INSTALL_64 = $(PERL_64_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.installed)
|
||||
INSTALL_NO_ARCH = $(PERL_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.installed)
|
||||
|
||||
COMPONENT_CONFIGURE_ENV += $(COMMON_PERL_ENV)
|
||||
COMPONENT_CONFIGURE_ENV += PERL="$(PERL)"
|
||||
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
|
||||
($(RM) -r $(@D) ; $(MKDIR) $(@D))
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_CONFIGURE_ACTION)
|
||||
(cd $(@D) ; $(COMPONENT_CONFIGURE_ENV) $(PERL) $(PERL_FLAGS) \
|
||||
Makefile.PL $(PERL_STUDIO_OVERWRITE) $(CONFIGURE_OPTIONS))
|
||||
$(COMPONENT_POST_CONFIGURE_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
|
||||
COMPONENT_BUILD_ENV += $(COMMON_PERL_ENV)
|
||||
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \
|
||||
$(COMPONENT_BUILD_TARGETS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
|
||||
COMPONENT_INSTALL_ARGS += DESTDIR="$(PROTO_DIR)"
|
||||
COMPONENT_INSTALL_TARGETS = install_vendor
|
||||
COMPONENT_INSTALL_ENV += $(COMMON_PERL_ENV)
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
|
||||
$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# Define bit specific and Perl version specific filenames.
|
||||
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(PERL_VERSION)-$(BITS).master
|
||||
COMPONENT_TEST_OUTPUT = $(COMPONENT_TEST_BUILD_DIR)/test-$(PERL_VERSION)-$(BITS)-results
|
||||
COMPONENT_TEST_DIFFS = $(COMPONENT_TEST_BUILD_DIR)/test-$(PERL_VERSION)-$(BITS)-diffs
|
||||
COMPONENT_TEST_SNAPSHOT = $(COMPONENT_TEST_BUILD_DIR)/results-$(PERL_VERSION)-$(BITS).snapshot
|
||||
COMPONENT_TEST_TRANSFORM_CMD = $(COMPONENT_TEST_BUILD_DIR)/transform-$(PERL_VERSION)-$(BITS)-results
|
||||
|
||||
COMPONENT_TEST_TARGETS = test
|
||||
COMPONENT_TEST_ENV += $(COMMON_PERL_ENV)
|
||||
|
||||
# determine the type of tests we want to run.
|
||||
ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
|
||||
TEST_32 = $(PERL_32_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested)
|
||||
TEST_64 = $(PERL_64_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested)
|
||||
TEST_NO_ARCH = $(PERL_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested)
|
||||
else
|
||||
TEST_32 = $(PERL_32_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested-and-compared)
|
||||
TEST_64 = $(PERL_64_ONLY_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared)
|
||||
TEST_NO_ARCH = $(PERL_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested-and-compared)
|
||||
endif
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"). You may
|
||||
# only use this file in accordance with the terms of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2021, Andreas Wacknitz. All rights reserved.
|
||||
#
|
||||
|
||||
COMPONENT_VERSION= $(COMPONENT_MJR_VERSION).$(COMPONENT_MNR_VERSION)
|
||||
COMPONENT_PROJECT_URL= https://www.mate-desktop.org
|
||||
COMPONENT_ARCHIVE_URL= https://pub.mate-desktop.org/releases/$(COMPONENT_MJR_VERSION)/$(COMPONENT_ARCHIVE)
|
||||
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
||||
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
|
||||
COMPONENT_LICENSE= GPLv2, LGPLv2, FDLv1.1
|
||||
|
||||
TEST_TARGET= $(NO_TESTS)
|
||||
|
||||
PATH=$(PATH.gnu)
|
||||
|
||||
COMPONENT_PREP_ACTION= cd $(@D) && NOCONFIGURE=1 ./autogen.sh
|
||||
|
||||
CONFIGURE_OPTIONS+= --sysconfdir=/etc
|
||||
CONFIGURE_OPTIONS+= --libexecdir=$(CONFIGURE_LIBDIR.$(BITS))/mate
|
||||
CONFIGURE_OPTIONS+= --disable-static
|
||||
CONFIGURE_OPTIONS+= --localstatedir=/var/lib
|
||||
|
||||
CONFIGURE_ENV+= PYTHON="$(PYTHON)"
|
||||
|
||||
COMPONENT_BUILD_ENV += CC="$(CC)"
|
||||
COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)"
|
||||
|
||||
#
|
||||
# Set defaults for Mate libraries
|
||||
#
|
||||
ifeq ($(strip $(MATE_CATEGORY)),LIB)
|
||||
BUILD_BITS = 32_and_64
|
||||
COMPONENT_CLASSIFICATION= System/Libraries
|
||||
COMPONENT_FMRI= library/desktop/mate/$(COMPONENT_NAME)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# Set defaults for Mate applications
|
||||
#
|
||||
ifeq ($(strip $(MATE_CATEGORY)),APP)
|
||||
BUILD_BITS = 64
|
||||
PREFERRED_BITS= 64
|
||||
COMPONENT_FMRI= desktop/mate/$(COMPONENT_NAME)
|
||||
endif
|
||||
|
||||
# Default build dependencies
|
||||
REQUIRED_PACKAGES += developer/build/autoconf
|
||||
REQUIRED_PACKAGES += developer/build/pkg-config
|
||||
REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
|
||||
REQUIRED_PACKAGES += library/desktop/mate/mate-common
|
||||
|
|
@ -1,166 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# Rules and Macros for building open source software that uses meson
|
||||
# to configure their build for the system they are on. It then includes
|
||||
# ninja.mk to handle the build/install/test macros
|
||||
#
|
||||
# To use these rules in your component Makefile, set BUILD_STYLE=meson and
|
||||
# then include $(WS_MAKE_RULES)/common.mk.
|
||||
#
|
||||
# Any additional pre/post configure actions can be specified
|
||||
# in your make file by setting them in one of the following macros:
|
||||
# COMPONENT_PRE_CONFIGURE_ACTION, COMPONENT_POST_CONFIGURE_ACTION
|
||||
#
|
||||
|
||||
CONFIGURE_PREFIX ?= /usr
|
||||
|
||||
# When debugging a component, override this to be debug or debugoptimized
|
||||
MESON_BUILDTYPE ?= plain
|
||||
|
||||
ifeq ($(strip $(MESON_BUILDTYPE)), debug)
|
||||
MESON_OPTIMIZATION ?= g
|
||||
else
|
||||
MESON_OPTIMIZATION ?= 3
|
||||
endif
|
||||
|
||||
MESON_BUILDPIE ?= false
|
||||
|
||||
# If the component prefers 64-bit binaries, then ensure builds deliver 64-bit
|
||||
# binaries to the standard directories and 32-bit binaries to the non-standard
|
||||
# location. This allows simplification of package manifests and makes it
|
||||
# easier to deliver the 64-bit binaries as the default.
|
||||
ifeq ($(strip $(PREFERRED_BITS)),64)
|
||||
CONFIGURE_BINDIR.32 ?= $(CONFIGURE_PREFIX)/bin/$(MACH32)
|
||||
CONFIGURE_SBINDIR.32 ?= $(CONFIGURE_PREFIX)/sbin/$(MACH32)
|
||||
CONFIGURE_BINDIR.64 ?= $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_SBINDIR.64 ?= $(CONFIGURE_PREFIX)/sbin
|
||||
else
|
||||
CONFIGURE_BINDIR.32 ?= $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_SBINDIR.32 ?= $(CONFIGURE_PREFIX)/sbin
|
||||
CONFIGURE_BINDIR.64 ?= $(CONFIGURE_PREFIX)/bin/$(MACH64)
|
||||
CONFIGURE_SBINDIR.64 ?= $(CONFIGURE_PREFIX)/sbin/$(MACH64)
|
||||
endif
|
||||
|
||||
# Regardless of PREFERRED_BITS, 64-bit libraries should always be delivered to
|
||||
# the appropriate subdirectory by default.
|
||||
CONFIGURE_LIBDIR.32 ?= $(CONFIGURE_PREFIX)/lib
|
||||
CONFIGURE_LIBDIR.64 ?= $(CONFIGURE_PREFIX)/lib/$(MACH64)
|
||||
|
||||
CONFIGURE_MANDIR ?= $(CONFIGURE_PREFIX)/share/man
|
||||
CONFIGURE_LOCALEDIR ?= $(CONFIGURE_PREFIX)/share/locale
|
||||
# all texinfo documentation seems to go to /usr/share/info no matter what
|
||||
CONFIGURE_INFODIR ?= /usr/share/info
|
||||
CONFIGURE_INCLUDEDIR ?= /usr/include
|
||||
|
||||
# Some components require an architecture-specific directory for their
|
||||
# configuration, so these are specified per-bits.
|
||||
CONFIGURE_ETCDIR.32 ?= $(ETCDIR)
|
||||
CONFIGURE_ETCDIR.64 ?= $(ETCDIR)
|
||||
|
||||
CONFIGURE_DEFAULT_DIRS?=yes
|
||||
|
||||
CONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
CONFIGURE_ENV += CC="$(CC)"
|
||||
CONFIGURE_ENV += CXX="$(CXX)"
|
||||
CONFIGURE_ENV += F77="$(F77)"
|
||||
CONFIGURE_ENV += FC="$(FC)"
|
||||
ifneq ($(strip $(CFLAGS)),)
|
||||
CONFIGURE_ENV += CFLAGS="$(strip $(CFLAGS))"
|
||||
endif
|
||||
ifneq ($(strip $(CXXFLAGS)),)
|
||||
CONFIGURE_ENV += CXXFLAGS="$(strip $(CXXFLAGS))"
|
||||
endif
|
||||
CONFIGURE_CPPFLAGS ?= $(CC_BITS)
|
||||
ifneq ($(strip $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)),)
|
||||
CONFIGURE_ENV += CPPFLAGS="$(strip $(CONFIGURE_CPPFLAGS) $(CPPFLAGS))"
|
||||
endif
|
||||
CONFIGURE_ENV += LDFLAGS="$(strip $(LDFLAGS))"
|
||||
ifneq ($(strip $(F77FLAGS)),)
|
||||
CONFIGURE_ENV += FFLAGS="$(strip $(F77FLAGS))"
|
||||
endif
|
||||
ifneq ($(strip $(FCFLAGS)),)
|
||||
CONFIGURE_ENV += FCFLAGS="$(strip $(FCFLAGS))"
|
||||
endif
|
||||
|
||||
# Options here should be limited to the built-in options listed on
|
||||
# https://mesonbuild.com/Builtin-options.html
|
||||
CONFIGURE_OPTIONS += --buildtype=$(MESON_BUILDTYPE)
|
||||
CONFIGURE_OPTIONS += --optimization=$(MESON_OPTIMIZATION)
|
||||
CONFIGURE_OPTIONS += -Ddefault_library=shared
|
||||
CONFIGURE_OPTIONS += -Db_pie=$(MESON_BUILDPIE)
|
||||
|
||||
# Install paths
|
||||
CONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
|
||||
ifeq ($(CONFIGURE_DEFAULT_DIRS),yes)
|
||||
CONFIGURE_OPTIONS += --bindir="$(CONFIGURE_BINDIR.$(BITS))"
|
||||
CONFIGURE_OPTIONS += --sbindir="$(CONFIGURE_SBINDIR.$(BITS))"
|
||||
CONFIGURE_OPTIONS += --libdir="$(CONFIGURE_LIBDIR.$(BITS))"
|
||||
CONFIGURE_OPTIONS += --libexecdir="$(CONFIGURE_LIBDIR.32)"
|
||||
CONFIGURE_OPTIONS += --localstatedir="$(VARDIR)"
|
||||
CONFIGURE_OPTIONS += --mandir="$(CONFIGURE_MANDIR)"
|
||||
CONFIGURE_OPTIONS += --sysconfdir="$(CONFIGURE_ETCDIR.$(BITS))"
|
||||
endif
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH))
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH).$(BITS))
|
||||
|
||||
$(BUILD_DIR_32)/.configured: BITS=32
|
||||
$(BUILD_DIR_64)/.configured: BITS=64
|
||||
|
||||
CONFIGURE_ENV += $(CONFIGURE_ENV.$(BITS))
|
||||
|
||||
# This MUST be set in the build environment so that if pkg-config is executed
|
||||
# during the build process, the correct header files and libraries will be
|
||||
# picked up. In the Linux world, a system is generally only 32-bit or 64-bit
|
||||
# at one time so this isn't an issue that various auto* files account for (they
|
||||
# don't set PKG_CONFIG_PATH when executing pkg-config even if it was specified
|
||||
# during ./configure).
|
||||
COMPONENT_BUILD_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
MESON = /usr/bin/meson
|
||||
|
||||
# configure the unpacked source for building 32 and 64 bit version
|
||||
# meson insists on separate source & build directories, so no cloney here.
|
||||
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
|
||||
($(RM) -rf $(@D) ; $(MKDIR) $(@D))
|
||||
$(COMPONENT_PRE_CONFIGURE_ACTION)
|
||||
(cd $(SOURCE_DIR) ; $(ENV) $(CONFIGURE_ENV) $(MESON) setup $(@D) \
|
||||
$(CONFIGURE_OPTIONS))
|
||||
$(COMPONENT_POST_CONFIGURE_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# If BUILD_STYLE is set, provide a default configure target.
|
||||
ifeq ($(strip $(BUILD_STYLE)),meson)
|
||||
configure: $(CONFIGURE_$(MK_BITS))
|
||||
endif
|
||||
|
||||
REQUIRED_PACKAGES += developer/build/meson
|
||||
|
||||
# Meson generates build.ninja files for the ninja build tool to run,
|
||||
# so we include ninja.mk for the build/install/test rules
|
||||
|
||||
include $(WS_MAKE_RULES)/ninja.mk
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2015, Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
|
||||
MODULES_ENV= . /etc/profile.d/modules.sh
|
||||
|
||||
MODULE_PURGE= module purge
|
||||
MODULE_LOAD= module load
|
||||
MODULE_UNLOAD= module unload
|
||||
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2013-2017, Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
|
||||
MPI_IMPLEMENTATIONS_LIST = mpich openmpi
|
||||
|
||||
# Define compilers
|
||||
MPI.mpich = mpich
|
||||
|
||||
MPICC.mpich = mpicc
|
||||
MPICXX.mpich = mpicxx
|
||||
MPIF77.mpich = mpif77
|
||||
MPIFC.mpich = mpif90
|
||||
|
||||
MPI.openmpi = openmpi
|
||||
|
||||
MPICC.openmpi = mpicc
|
||||
MPICXX.openmpi = mpicxx
|
||||
MPIF77.openmpi = mpif77
|
||||
MPIFC.openmpi = mpif90
|
||||
|
||||
# Default to mpich
|
||||
MPI_IMPLEMENTATION ?= $(MPI.mpich)
|
||||
|
||||
MPICC = $(MPICC.$(MPI_IMPLEMENTATION))
|
||||
MPICXX = $(MPICXX.$(MPI_IMPLEMENTATION))
|
||||
MPIF77 = $(MPIF77.$(MPI_IMPLEMENTATION))
|
||||
MPIFC = $(MPIFC.$(MPI_IMPLEMENTATION))
|
||||
|
||||
# Define compiler enviromnent
|
||||
MPI_COMPILER = $(COMPILER)
|
||||
MPI_COMPILER_ROOT=
|
||||
MPI_COMPILER_LIBDIR=
|
||||
|
||||
ifeq ($(strip $(MPI_COMPILER)),gcc)
|
||||
|
||||
MPI_COMPILER_ROOT=$(GCC_ROOT)
|
||||
MPI_COMPILER_LIBDIR=$(MPI_COMPILER_ROOT)/lib/$(ARCHLIBSUBDIR$(BITS))
|
||||
|
||||
endif
|
||||
|
||||
# Define implementation specific paths
|
||||
MPI_BUNDLE = $(MPI_IMPLEMENTATION)-$(MPI_COMPILER)
|
||||
|
||||
MPI_PREFIX.32 = $(USRLIBDIR)/$(MPI_IMPLEMENTATION)/$(MPI_COMPILER)
|
||||
MPI_PREFIX.64 = $(USRLIBDIR64)/$(MPI_IMPLEMENTATION)/$(MPI_COMPILER)
|
||||
MPI_PREFIX = $(MPI_PREFIX.$(BITS))
|
||||
|
||||
MPI_BINDIR.32 = $(MPI_PREFIX.32)/bin
|
||||
MPI_BINDIR.64 = $(MPI_PREFIX.64)/bin
|
||||
MPI_BINDIR = $(MPI_BINDIR.$(BITS))
|
||||
|
||||
MPI_SBINDIR.32 = $(MPI_PREFIX.32)/sbin
|
||||
MPI_SBINDIR.64 = $(MPI_PREFIX.64)/sbin
|
||||
MPI_SBINDIR = $(MPI_SBINDIR.$(BITS))
|
||||
|
||||
MPI_LIBDIR.32 = $(MPI_PREFIX.32)/lib
|
||||
MPI_LIBDIR.64 = $(MPI_PREFIX.64)/lib
|
||||
MPI_LIBDIR = $(MPI_LIBDIR.$(BITS))
|
||||
|
||||
MPI_ETCDIR.32 = $(MPI_PREFIX.32)/etc
|
||||
MPI_ETCDIR.64 = $(MPI_PREFIX.64)/etc
|
||||
MPI_ETCDIR = $(MPI_ETCDIR.$(BITS))
|
||||
|
||||
MPI_INCDIR = $(USRINCDIR)/$(MPI_IMPLEMENTATION)
|
||||
|
||||
MPI_SHAREDIR = $(USRSHAREDIR)
|
||||
MPI_DATADIR = $(MPI_SHAREDIR)/$(MPI_IMPLEMENTATION)
|
||||
MPI_DOCDIR = $(USRSHAREDOCDIR)/$(MPI_IMPLEMENTATION)
|
||||
MPI_HTMLDIR = $(USRSHAREDOCDIR)/www
|
||||
MPI_MANDIR = $(USRSHAREMANDIR)
|
||||
|
||||
|
||||
# Create meta rule to trigger build for each listed implementation
|
||||
|
||||
ifneq ($(strip $(COMPONENT_MPI_BUILD)),)
|
||||
|
||||
$(BUILD_DIR_32)/%/.configured: BITS=32
|
||||
$(BUILD_DIR_64)/%/.configured: BITS=64
|
||||
|
||||
$(BUILD_DIR_32)/%/.built: BITS=32
|
||||
$(BUILD_DIR_64)/%/.built: BITS=64
|
||||
|
||||
BUILD_32=
|
||||
BUILD_64=
|
||||
|
||||
$(BUILD_DIR_32)/%/.installed: BITS=32
|
||||
$(BUILD_DIR_64)/%/.installed: BITS=64
|
||||
|
||||
INSTALL_32=
|
||||
INSTALL_64=
|
||||
|
||||
$(BUILD_DIR_32)/%/.tested: BITS=32
|
||||
$(BUILD_DIR_64)/%/.tested: BITS=64
|
||||
|
||||
$(BUILD_DIR_32)/%/.tested-and-compared: BITS=32
|
||||
$(BUILD_DIR_64)/%/.tested-and-compared: BITS=64
|
||||
|
||||
TEST_32=
|
||||
TEST_64=
|
||||
|
||||
define mpi-rule
|
||||
|
||||
BUILD_DIR_32_$(1) = $$(BUILD_DIR)/$$(MACH32)/$(1)
|
||||
BUILD_DIR_64_$(1) = $$(BUILD_DIR)/$$(MACH64)/$(1)
|
||||
|
||||
$(BUILD_DIR)/%/$(1)/.configured: MPI_IMPLEMENTATION=$(1)
|
||||
|
||||
$(BUILD_DIR)/%/$(1)/.built: MPI_IMPLEMENTATION=$(1)
|
||||
|
||||
BUILD_32+= $$(BUILD_DIR_32_$(1))/.built
|
||||
BUILD_64+= $$(BUILD_DIR_64_$(1))/.built
|
||||
|
||||
$(BUILD_DIR)/%/$(1)/.installed: MPI_IMPLEMENTATION=$(1)
|
||||
|
||||
INSTALL_32+= $$(BUILD_DIR_32_$(1))/.installed
|
||||
INSTALL_64+= $$(BUILD_DIR_64_$(1))/.installed
|
||||
|
||||
$(BUILD_DIR)/%/$(1)/.tested: MPI_IMPLEMENTATION=$(1)
|
||||
|
||||
$(BUILD_DIR)/%/$(1)/.tested-and-compared: MPI_IMPLEMENTATION=$(1)
|
||||
|
||||
ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
|
||||
TEST_32+= $$(BUILD_DIR_32_$(1))/.tested
|
||||
TEST_64+= $$(BUILD_DIR_64_$(1))/.tested
|
||||
else
|
||||
TEST_32+= $$(BUILD_DIR_32_$(1))/.tested-and-compared
|
||||
TEST_64+= $$(BUILD_DIR_64_$(1))/.tested-and-compared
|
||||
endif
|
||||
|
||||
endef
|
||||
|
||||
$(foreach mpi, $(COMPONENT_MPI_BUILD), $(eval $(call mpi-rule,$(mpi))))
|
||||
|
||||
endif
|
||||
|
||||
COMPONENT_MPI_BUILD_DIR= $(BUILD_DIR_$(BITS)_$(MPI_IMPLEMENTATION))
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
#
|
||||
# Rules and Macros for building open source software that builds with
|
||||
# ninja (whether using a provided ninja file or one generated by a tool
|
||||
# such as meson).
|
||||
#
|
||||
# To use these rules on their own, set BUILD_STYLE=ninja before including
|
||||
# $(WS_MAKE_RULES)/common.mk. They will also be used for the build rules
|
||||
# if you set BUILD_STYLE=meson.
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your Makefile by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_BUILD_ACTION,
|
||||
# COMPONENT_POST_BUILD_ACTION, COMPONENT_PRE_INSTALL_ACTION,
|
||||
# COMPONENT_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
#
|
||||
# If component specific ninja targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
#
|
||||
|
||||
NINJA = /usr/bin/ninja
|
||||
|
||||
COMPONENT_INSTALL_ENV += DESTDIR=$(PROTO_DIR)
|
||||
COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS))
|
||||
|
||||
COMPONENT_BUILD_ACTION ?= \
|
||||
$(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(NINJA) -C $(@D) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS)
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
($(COMPONENT_BUILD_ACTION))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) $(@D)
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
COMPONENT_INSTALL_ACTION ?= \
|
||||
$(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
$(NINJA) -C $(@D) $(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS)
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
($(COMPONENT_INSTALL_ACTION))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# set the default command to use for test of the component
|
||||
COMPONENT_TEST_CMD = $(NINJA)
|
||||
COMPONENT_SYSTEM_TEST_CMD = $(NINJA)
|
||||
|
||||
# set the default target for test of the component
|
||||
COMPONENT_TEST_TARGETS = test
|
||||
COMPONENT_SYSTEM_TEST_TARGETS = test
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
REQUIRED_PACKAGES += developer/build/ninja
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"). You may
|
||||
# only use this file in accordance with the terms of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2020, Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
|
||||
OCAML_ETCDIR = $(ETCDIR)/ocaml
|
||||
OCAML_LIBDIR = $(USRLIBDIR64)/ocaml
|
||||
|
||||
# Select preferred Python version
|
||||
OCAML_PYTHON_VERSION = 3.5
|
||||
PYTHON_VERSION = $(OCAML_PYTHON_VERSION)
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
FETCH = $(WS_TOOLS)/userland-fetch
|
||||
|
||||
#
|
||||
# Anything that we download must have a COMPONENT_ARCHIVE_URL{_[0-9]+} macro
|
||||
# that tells us where the canonical source for the archive can be found. The
|
||||
# macro for the first archive is typically un-suffixed. By convention,
|
||||
# subsequent archives will include a _[0-9]+ in the macro name. This allows
|
||||
# an arbitrary number of archives to be downloaded for a particular component
|
||||
# Makefile. It is also important to note that there is a corresponding
|
||||
# COMPONENT_ARCHIVE macro defining a local file name for the archive, and
|
||||
# optional COMPONENT_ARCHIVE_HASH and COMPONENT_SIG_URL containing a hash of
|
||||
# the file and signature for verification of its contents.
|
||||
#
|
||||
|
||||
URL_SUFFIXES = $(subst COMPONENT_ARCHIVE_URL_,, \
|
||||
$(filter COMPONENT_ARCHIVE_URL_%, $(.VARIABLES)))
|
||||
|
||||
# Argument to "userland-fetch" script that causes it to download and verify
|
||||
# files, but not to remove mismatches; good to save traffic when initially
|
||||
# fetching a new archive just to learn what checksum to expect in Makefile.
|
||||
#FETCH_KEEP ?= --keep
|
||||
FETCH_KEEP ?=
|
||||
|
||||
# Template for download rules.
|
||||
define download-rules
|
||||
ifdef COMPONENT_ARCHIVE_URL$(1)
|
||||
|
||||
ARCHIVES += $$(COMPONENT_ARCHIVE$(1))
|
||||
CLOBBER_PATHS += $$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
fetch:: FETCH_KEEP=--keep
|
||||
fetch:: $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
download:: $$(USERLAND_ARCHIVES)
|
||||
download:: $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
$$(USERLAND_ARCHIVES):
|
||||
$$(MKDIR) $$(USERLAND_ARCHIVES)
|
||||
|
||||
$$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1)): $(MAKEFILE_PREREQ)
|
||||
$$(FETCH) $$(FETCH_KEEP) --file $$@ \
|
||||
$$(COMPONENT_ARCHIVE_URL$(1):%=--url %) \
|
||||
$$(COMPONENT_ARCHIVE_HASH$(1):%=--hash %) \
|
||||
$$(COMPONENT_SIG_URL$(1):%=--sigurl %) \
|
||||
$$(if $$(COMPONENT_FETCH_USER_AGENT$(1)),--user-agent $$(COMPONENT_FETCH_USER_AGENT$(1)))
|
||||
$$(TOUCH) $$@
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += runtime/python-27
|
||||
|
||||
endif
|
||||
endef
|
||||
|
||||
#
|
||||
# Define the rules required to download any source archives and augment any
|
||||
# cleanup macros.
|
||||
#
|
||||
$(eval $(call download-rules,))
|
||||
$(foreach suffix, $(URL_SUFFIXES), $(eval $(call download-rules,_$(suffix))))
|
||||
|
||||
# Needed for signature validation of downloads
|
||||
USERLAND_REQUIRED_PACKAGES += crypto/gnupg
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
GIT = /usr/bin/git
|
||||
|
||||
COMPONENT_PREP_GIT?=yes
|
||||
ifeq ($(strip $(COMPONENT_PREP_GIT)), yes)
|
||||
|
||||
#
|
||||
# Anything that we pull from a GIT repo must have a GIT_REPO{_[0-9]+} and
|
||||
# GIT_COMMIT_ID{_[0-9]+} to match.
|
||||
#
|
||||
|
||||
GIT_SUFFIXES = $(subst GIT_REPO_,, $(filter GIT_REPO_%, $(.VARIABLES)))
|
||||
|
||||
# Templates for git variables and rules. We separate the variable assignments
|
||||
# from the rules so that all the variable assignments are given a chance to
|
||||
# complete before those variables are used in targets or prerequisites, where
|
||||
# they'll be expanded immediately.
|
||||
define git-variables
|
||||
ifdef GIT_REPO$(1)
|
||||
ifeq ("",$(strip $(or $(GIT_BRANCH$(1)),$(GIT_COMMIT_ID$(1)))))
|
||||
$$(error GIT_BRANCH$(1) and/or GIT_COMMIT_ID$(1) must be defined)
|
||||
endif
|
||||
|
||||
ifdef GIT_BRANCH$(1)
|
||||
GIT_BRANCH_ARG$(1) = -b $$(GIT_BRANCH$(1))
|
||||
else
|
||||
GIT_BRANCH_ARG$(1) = -b master
|
||||
endif
|
||||
|
||||
# If the label is not already defined (including to empty), set it to the version.
|
||||
COMPONENT_LABEL$(1) ?= $$(COMPONENT_VERSION$(1))
|
||||
# The source directory is <name>-(<label>|<version>)[-(<tag>|<branch>)][-<commit].
|
||||
COMPONENT_SRC$(1) ?= $$(COMPONENT_NAME$(1))$$(COMPONENT_LABEL$(1):%=-%)$$($$(or $$(GIT_TAG$(1)),$$(GIT_BRANCH$(1))))$$(GIT_COMMIT_ID$(1):%=-%)
|
||||
COMPONENT_ARCHIVE$(1) ?= $$(COMPONENT_SRC$(1)).tar.gz
|
||||
# If the source is github attempt to generate an archive url. Defining
|
||||
# COMPONENT_ARCHIVE_URL here messes with prep-download.mk, which keys off of
|
||||
# that variable to build download rules, so keep track of which suffixes
|
||||
# generated a github archive URL, and prep-download.mk will use that list to
|
||||
# remove those URLs. If the primary (unsuffixed) archive is from github, then
|
||||
# we add a dummy __BLANK__ suffix to the list, and filter that out separately.
|
||||
ifeq (github,$(findstring github,$(GIT_REPO$(1))))
|
||||
COMPONENT_ARCHIVE_URL$(1) ?= $(GIT_REPO$(1))/archive/$(GIT_BRANCH$(1)).tar.gz
|
||||
GITHUB_ARCHIVE_SUFFIXES += $(or $(strip $(1:_%=%)),__BLANK__)
|
||||
else
|
||||
COMPONENT_ARCHIVE_SRC$(1) = git
|
||||
endif
|
||||
|
||||
CLEAN_PATHS += $$(COMPONENT_SRC$(1))
|
||||
CLOBBER_PATHS += $$(COMPONENT_ARCHIVE$(1))
|
||||
SOURCE_DIR$(1) = $$(COMPONENT_DIR)/$(COMPONENT_SRC$(1))
|
||||
endif
|
||||
endef
|
||||
|
||||
define git-rules
|
||||
ifdef GIT_REPO$(1)
|
||||
download:: $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
# First attempt to download a cached archive of the SCM repo at the proper
|
||||
# changeset ID, If COMPONENT_ARCHIVE_URL is defined try that as well.
|
||||
# If that fails, create an archive by cloning the SCM repo,
|
||||
# updating to the selected changeset, archiving that directory, and cleaning up
|
||||
# when complete.
|
||||
#
|
||||
# GIT CLONE ARGS
|
||||
# A shallow clone (--depth=1) to git clone takes only the top level (named)
|
||||
# commits on any branches or tags and can cause use of other commit IDs to
|
||||
# fail. As such, it should never be used here as it can make it impossible to
|
||||
# reliably reproduce archives created from the result since git clone (unlike
|
||||
# mercurial) currently has no way of cloning to a specific commit id.
|
||||
$$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1)): $(MAKEFILE_PREREQ)
|
||||
$$(FETCH) --file $$@ $$(GIT_HASH$(1):%=--hash %) --url GIT || \
|
||||
($$(FETCH) --file $$@ $$(COMPONENT_ARCHIVE_URL$(1):%=--url %) || \
|
||||
(TMP_REPO=$$$$($(MKTEMP) --directory) && \
|
||||
$(GIT) clone $$(GIT_REPO$(1)) $$(GIT_BRANCH_ARG$(1)) $$$${TMP_REPO} && \
|
||||
(cd $$$${TMP_REPO} ; $(GIT) checkout \
|
||||
$$(GIT_COMMIT_ID$(1))) && \
|
||||
(cd $$$${TMP_REPO} ; \
|
||||
$(GIT) config tar.tar.bz2.command "bzip2 -c"; \
|
||||
$(GIT) config tar.tar.xz.command "xz -c"; \
|
||||
$(GIT) archive \
|
||||
--format $(subst $(COMPONENT_SRC$(1)).,,$(COMPONENT_ARCHIVE$(1))) \
|
||||
--prefix $$(COMPONENT_SRC$(1))/ \
|
||||
$$(or $$(GIT_COMMIT_ID$(1)),$$(GIT_BRANCH$(1)))) > $$@ && \
|
||||
$(RM) -r $$$${TMP_REPO} ) && \
|
||||
( GIT_HASH=$$$$(digest -a sha256 $$@) && \
|
||||
$(GSED) -i \
|
||||
-e "s/\(GIT_HASH$(1)[[:space:]]*=[[:space:]]*\).*/\1sha256:$$$${GIT_HASH}/" \
|
||||
Makefile ))
|
||||
|
||||
|
||||
REQUIRED_PACKAGES += developer/versioning/git
|
||||
|
||||
endif
|
||||
endef
|
||||
|
||||
# Evaluate the variable assignments immediately
|
||||
$(eval $(call git-variables,))
|
||||
$(foreach suffix, $(GIT_SUFFIXES), $(eval $(call git-variables,_$(suffix))))
|
||||
|
||||
$(eval $(call git-rules,))
|
||||
$(foreach suffix, $(GIT_SUFFIXES), $(eval $(call git-rules,_$(suffix))))
|
||||
|
||||
endif
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
HG = /usr/bin/hg
|
||||
MKTEMP = /usr/gnu/bin/mktemp
|
||||
|
||||
COMPONENT_PREP_HG?=yes
|
||||
ifeq ($(strip $(COMPONENT_PREP_HG)), yes)
|
||||
|
||||
#
|
||||
# Anything that we pull from a Mercurial repo must have a HG_REPO{_[0-9]+} and
|
||||
# HG_REV{_[0-9]+} to match.
|
||||
#
|
||||
|
||||
HG_SUFFIXES = $(subst HG_REPO_,, $(filter HG_REPO_%, $(.VARIABLES)))
|
||||
|
||||
# Templates for download variables and rules. We separate the variable
|
||||
# assignments from the rules so that all the variable assignments are given a
|
||||
# chance to complete before those variables are used in targets or
|
||||
# prerequisites, where they'll be expanded immediately.
|
||||
define hg-variables
|
||||
ifdef HG_REPO$(1)
|
||||
ifdef HG_REV$(1)
|
||||
|
||||
# If the label is not already defined (including to empty), set it to the version.
|
||||
COMPONENT_LABEL$(1) ?= $$(COMPONENT_VERSION$(1))
|
||||
# The source directory is <name>-(<label>|<version>)[-(<tag>|<branch>)][-<commit].
|
||||
COMPONENT_SRC$(1) ?= $$(COMPONENT_NAME$(1))$$(COMPONENT_LABEL$(1):%=-%)$$($$(or $$(HG_TAG$(1)),$$(HG_BRANCH$(1))))$$(HG_REV$(1):%=-%)
|
||||
COMPONENT_ARCHIVE$(1) ?= $$(COMPONENT_SRC$(1)).tar.gz
|
||||
COMPONENT_ARCHIVE_SRC$(1) = hg
|
||||
|
||||
CLEAN_PATHS += $$(COMPONENT_SRC$(1))
|
||||
CLOBBER_PATHS += $$(COMPONENT_ARCHIVE$(1))
|
||||
SOURCE_DIR$(1) = $$(COMPONENT_DIR)/$(COMPONENT_SRC$(1))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
define hg-rules
|
||||
ifdef HG_REPO$(1)
|
||||
ifdef HG_REV$(1)
|
||||
download:: $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
# First attempt to download a cached archive of the SCM repo at the proper
|
||||
# changeset ID. If that fails, create an archive by cloning the SCM repo,
|
||||
# updating to the selected changeset, archiving that directory, and cleaning up
|
||||
# when complete.
|
||||
$$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1)): $(MAKEFILE_PREREQ)
|
||||
$$(FETCH) --file $$@ $$(HG_HASH$(1):%=--hash %) --url HG || \
|
||||
(TMP_REPO=$$$$($(MKTEMP) --directory) && \
|
||||
$(HG) clone $$(HG_REPO$(1)) $$(HG_REV$(1):%=--rev %) \
|
||||
$$(HG_REV$(1):%=--updaterev %) \
|
||||
$$(HG_BRANCH$(1):%=--branch %) \
|
||||
$$$${TMP_REPO} && \
|
||||
$(HG) -R $$$${TMP_REPO} archive --prefix $$(COMPONENT_SRC$(1)) $$@ && \
|
||||
$(RM) -rf $${TMP_REPO} && \
|
||||
HG_HASH=$$$$(digest -a sha256 $$@) && \
|
||||
$(GSED) -i \
|
||||
-e "s/\(HG_HASH$(1)[[:space:]]*=[[:space:]]*\).*/\1sha256:$$$${HG_HASH}/" \
|
||||
Makefile)
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += developer/versioning/mercurial
|
||||
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
# Evaluate the variable assignments immediately.
|
||||
$(eval $(call hg-variables,))
|
||||
$(foreach suffix, $(HG_SUFFIXES), $(eval $(call hg-variables,_$(suffix))))
|
||||
|
||||
$(eval $(call hg-rules,))
|
||||
$(foreach suffix, $(HG_SUFFIXES), $(eval $(call hg-rules,_$(suffix))))
|
||||
|
||||
endif
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
GPATCH = /usr/gnu/bin/patch
|
||||
PATCH_LEVEL ?= 1
|
||||
GPATCH_BACKUP = --backup --version-control=numbered
|
||||
GPATCH_FLAGS = --strip=$(PATCH_LEVEL) $(GPATCH_BACKUP)
|
||||
|
||||
#
|
||||
# Rules for patching source that is downloaded and unpacked or pulled from
|
||||
# a source repository. Patches should be named
|
||||
# patches/{patch-file-name}.patch{version} where {patch-file-name} is a
|
||||
# meaningful name for the patch contents and {version} corresponds to the
|
||||
# COMPONENT_NAME{version} of the source to be patched. Typically, version
|
||||
# would be something like "_1", "_2", ... After all {version} patches have
|
||||
# been applied, a final set of patches without a {version} suffix may be
|
||||
# applied.
|
||||
#
|
||||
# PATCH_DIR can be overridden to move patches to a different location
|
||||
# PATCH_PATTERN can be overridden to adjust the patch naming scheme that the
|
||||
# build recognizes.
|
||||
# ADDITIONAL_PATCHES can be defined in the component Makefile to include
|
||||
# additional patches.
|
||||
#
|
||||
|
||||
PATCH_PATTERN ?= *.patch*
|
||||
|
||||
PATCH_DIR ?= patches
|
||||
# patches specific to parfait builds.
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
PARFAIT_PATCH_DIR = parfait
|
||||
endif
|
||||
|
||||
PATCHES = $(shell find $(PATCH_DIR) $(PARFAIT_PATCH_DIR) -type f \
|
||||
-name '$(PATCH_PATTERN)' 2>/dev/null | \
|
||||
LC_COLLATE=C sort)
|
||||
|
||||
PCH_SUFFIXES = $(patsubst .patch_%,%, $(filter-out .patch,$(suffix $(PATCHES))))
|
||||
|
||||
define patch-rule
|
||||
|
||||
ifeq ($(1),_0)
|
||||
PATCH_PATTERN$(1) ?= %.patch
|
||||
PATCHES$(1) = $(filter %.patch,$(PATCHES))
|
||||
else
|
||||
PATCH_PATTERN$(1) ?= %.patch$(1)
|
||||
PATCHES$(1) = $(filter %.patch$(1),$(PATCHES))
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(ADDITIONAL_PATCHES$(1))),)
|
||||
PATCHES$(1) += $(ADDITIONAL_PATCHES$(1))
|
||||
endif
|
||||
|
||||
ifneq ($$(PATCHES$(1)),)
|
||||
PATCH_STAMPS$(1) += $$(PATCHES$(1):$(PATCH_DIR)/%=$$(SOURCE_DIR$(1))/.patched-%)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
PATCH_STAMPS$(1) += $$(PATCHES$(1):$(PARFAIT_PATCH_DIR)/%=$$(SOURCE_DIR$(1))/.patched-%)
|
||||
endif
|
||||
|
||||
# We should unpack the source that we patch before we patch it.
|
||||
$$(PATCH_STAMPS$(1)): unpack
|
||||
|
||||
# Adding MAKEFILE_PREREQ because gmake seems to evaluate the need to patch
|
||||
# before re-unpacking if the Makefile changed. The various stamps are
|
||||
# removed as part of the unpacking process, and it doesn't appear to
|
||||
# re-evaluate the need for patching. If we ever move the stamps to the build
|
||||
# directory, we may not need the dependency any more.
|
||||
$$(SOURCE_DIR$(1))/.patched-%: $(PATCH_DIR)/% $(MAKEFILE_PREREQ)
|
||||
$(GPATCH) -d $$(@D) $$(GPATCH_FLAGS) < $$<
|
||||
$(TOUCH) $$(@)
|
||||
|
||||
$$(SOURCE_DIR$(1))/.patched-%: $(PARFAIT_PATCH_DIR)/% $(MAKEFILE_PREREQ)
|
||||
$(GPATCH) -d $$(@D) $$(GPATCH_FLAGS) < $$<
|
||||
$(TOUCH) $$(@)
|
||||
|
||||
$$(SOURCE_DIR$(1))/.patched: $$(PATCH_STAMPS$(1))
|
||||
$(TOUCH) $$(@)
|
||||
|
||||
patch:: $$(SOURCE_DIR$(1))/.patched
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += text/gnu-patch
|
||||
|
||||
endif
|
||||
endef
|
||||
|
||||
#
|
||||
# Define the rules required to download any source archives and augment any
|
||||
# cleanup macros.
|
||||
#
|
||||
$(foreach suffix, $(PCH_SUFFIXES), $(eval $(call patch-rule,_$(suffix))))
|
||||
$(eval $(call patch-rule,)) # this must be last so we don't drop *.patch_%.
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
SVN = /usr/bin/svn
|
||||
MKTEMP = /usr/gnu/bin/mktemp
|
||||
|
||||
COMPONENT_PREP_SVN?=yes
|
||||
ifeq ($(strip $(COMPONENT_PREP_SVN)), yes)
|
||||
|
||||
#
|
||||
# Anything that we pull from a Subversion repo must have a SVN_REPO{_[0-9]+} and
|
||||
# SVN_REV{_[0-9]+} to match.
|
||||
#
|
||||
|
||||
SVN_SUFFIXES = $(subst SVN_REPO_,, $(filter SVN_REPO_%, $(.VARIABLES)))
|
||||
|
||||
define subversion-rules
|
||||
ifdef SVN_REPO$(1)
|
||||
ifdef SVN_REV$(1)
|
||||
|
||||
COMPONENT_SRC$(1) = $$(COMPONENT_NAME$(1))-$$(SVN_REV$(1))
|
||||
COMPONENT_ARCHIVE$(1) = $$(COMPONENT_SRC$(1)).tar.bz2
|
||||
COMPONENT_ARCHIVE_SRC$(1) = svn
|
||||
|
||||
CLEAN_PATHS += $$(COMPONENT_SRC$(1))
|
||||
CLOBBER_PATHS += COMPONENT_ARCHIVE$(1)
|
||||
SOURCE_DIR$(1) = $$(COMPONENT_DIR)/$(COMPONENT_SRC$(1))
|
||||
|
||||
download:: $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
|
||||
# First attempt to download a cached archive of the SCM repo at the proper
|
||||
# changeset ID. If that fails, create an archive by cloning the SCM repo,
|
||||
# updating to the selected changeset, archiving that directory, and cleaning up # when complete.
|
||||
$$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1)): $(MAKEFILE_PREREQ)
|
||||
$$(FETCH) --file $$@ $$(SVN_HASH$(1):%=--hash %) --url SVN || \
|
||||
(TMP_REPO=$$$$($(MKTEMP) --directory --dry-run) && \
|
||||
$(SVN) export $$(SVN_REPO$(1)) $$(SVN_REV$(1):%=--revision %) \
|
||||
$$$${TMP_REPO} && \
|
||||
/usr/gnu/bin/tar --create --file - --absolute-names \
|
||||
--sort=name --mtime="2018-10-05 00:00Z" --owner=0 --group=0 --numeric-owner \
|
||||
--transform="s;$$$${TMP_REPO};$$(COMPONENT_SRC$(1));g" \
|
||||
--bzip2 $$$${TMP_REPO} >$$@ && \
|
||||
$(RM) -rf $$$${TMP_REPO} && \
|
||||
SVN_HASH=$$$$(digest -a sha256 $$@) && \
|
||||
$(GSED) -i \
|
||||
-e "s/^SVN_HASH$(1)=.*/SVN_HASH$(1)= sha256:$$$${SVN_HASH}/" \
|
||||
Makefile)
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += developer/versioning/subversion
|
||||
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
#
|
||||
# Define the rules required to download any source archives and augment any
|
||||
# cleanup macros.
|
||||
#
|
||||
$(eval $(call subversion-rules,))
|
||||
$(foreach suffix, $(SVN_SUFFIXES), $(eval $(call subversion-rules,_$(suffix))))
|
||||
|
||||
endif
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2018, Michal Nowak
|
||||
#
|
||||
|
||||
UNPACK = $(WS_TOOLS)/userland-unpack
|
||||
|
||||
#
|
||||
# Anything that we downloaded and want to unpack must have a
|
||||
# COMPONENT_ARCHIVE{_[0-9]+} macro.
|
||||
#
|
||||
PCK_SUFFIXES = $(subst COMPONENT_ARCHIVE_,, \
|
||||
$(filter COMPONENT_ARCHIVE_%, $(.VARIABLES)))
|
||||
|
||||
# Template for unpacking rules.
|
||||
define unpack-rules
|
||||
ifdef COMPONENT_ARCHIVE$(1)
|
||||
ifdef COMPONENT_SRC$(1)
|
||||
|
||||
CLEAN_PATHS += $$(COMPONENT_SRC$(1))
|
||||
SOURCE_DIR$(1) = $$(COMPONENT_DIR)/$(COMPONENT_SRC$(1))
|
||||
|
||||
UNPACK_STAMP$(1) = $$(SOURCE_DIR$(1))/.unpacked
|
||||
|
||||
# RUBY_VERSION is passed on to ensure userland-unpack uses the
|
||||
# correct gem command for the ruby version specified
|
||||
$$(UNPACK_STAMP$(1)): $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1)) $(MAKEFILE_PREREQ) download
|
||||
$$(RM) -r $$(SOURCE_DIR$(1))
|
||||
$(ENV) RUBY_VERSION=$(RUBY_VERSION) \
|
||||
$$(UNPACK) $$(UNPACK_ARGS$(1)) $$(USERLAND_ARCHIVES)$$(COMPONENT_ARCHIVE$(1))
|
||||
$$(COMPONENT_POST_UNPACK_ACTION$(1))
|
||||
$$(TOUCH) $$@
|
||||
|
||||
unpack:: $$(UNPACK_STAMP$(1))
|
||||
|
||||
USERLAND_REQUIRED_PACKAGES += archiver/gnu-tar
|
||||
USERLAND_REQUIRED_PACKAGES += compress/bzip2
|
||||
USERLAND_REQUIRED_PACKAGES += compress/gzip
|
||||
USERLAND_REQUIRED_PACKAGES += compress/p7zip
|
||||
USERLAND_REQUIRED_PACKAGES += compress/unzip
|
||||
USERLAND_REQUIRED_PACKAGES += compress/lzip
|
||||
USERLAND_REQUIRED_PACKAGES += compress/xz
|
||||
USERLAND_REQUIRED_PACKAGES += compress/zip
|
||||
USERLAND_REQUIRED_PACKAGES += compress/zstd
|
||||
USERLAND_REQUIRED_PACKAGES += developer/java/openjdk8
|
||||
USERLAND_REQUIRED_PACKAGES += runtime/ruby
|
||||
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
#
|
||||
# Define the rules required to download any source archives and augment any
|
||||
# cleanup macros.
|
||||
#
|
||||
$(eval $(call unpack-rules,))
|
||||
$(foreach suffix, $(PCK_SUFFIXES), $(eval $(call unpack-rules,_$(suffix))))
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
include $(WS_MAKE_RULES)/prep-download.mk
|
||||
|
||||
include $(WS_MAKE_RULES)/prep-hg.mk
|
||||
include $(WS_MAKE_RULES)/prep-git.mk
|
||||
include $(WS_MAKE_RULES)/prep-svn.mk
|
||||
include $(WS_MAKE_RULES)/prep-unpack.mk
|
||||
include $(WS_MAKE_RULES)/prep-patch.mk
|
||||
|
||||
download::
|
||||
|
||||
unpack:: download
|
||||
|
||||
patch:: unpack
|
||||
|
||||
$(SOURCE_DIR)/.prep: component-environment-prep download unpack patch
|
||||
$(COMPONENT_PREP_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
prep:: $(SOURCE_DIR)/.prep
|
||||
|
||||
clean::
|
||||
$(PRE_CLEAN_ACTION)
|
||||
$(RM) -r $(CLEAN_PATHS)
|
||||
|
||||
clobber:: clean
|
||||
$(RM) -r $(CLOBBER_PATHS)
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# This is only useful for a single ruby version substtution NOT using
|
||||
# -RUBYVER and -GENFRAG manifests
|
||||
|
||||
# Transform file paths for ruby version without creating version specific
|
||||
# packages
|
||||
PKG_MACROS += RUBY_VERSION=$(RUBY_VERSION)
|
||||
PKG_MACROS += RUBY_LIB_VERSION=$(RUBY_LIB_VERSION)
|
||||
PKG_MACROS += RUBYV=$(subst .,,$(RUBY_VERSION))
|
||||
VENDOR_RUBY = /usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)
|
||||
VENDOR_RUBY_ARCH = /usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/$(MACH64)-solaris$(SOLARIS_VERSION)
|
||||
|
||||
# Modify ruby scripts in the ruby-version-specific path of the proto area,
|
||||
# under usr/ruby/$(RUBY_VERSION), containing "#!/usr/bin/env ruby" to
|
||||
# use the version-specific ruby path, defined by the $(RUBY_VERSION) macro.
|
||||
# Without this change, the mediated ruby version in /usr/bin/ruby
|
||||
# will probably be used, which may not match the ruby
|
||||
# version supported by the component.
|
||||
COMPONENT_POST_INSTALL_ACTION += \
|
||||
cd $(PROTO_DIR)/usr/ruby/$(RUBY_VERSION); \
|
||||
$(RUBY_SCRIPT_FIX_FUNC);
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
# Set default PyPI name
|
||||
COMPONENT_PYPI?=$(COMPONENT_NAME)
|
||||
# Set default to PyPI url
|
||||
COMPONENT_ARCHIVE_URL?=$(call pypi_url)
|
||||
|
||||
define python-rule
|
||||
$(BUILD_DIR)/%-$(1)/.built: PYTHON_VERSION=$(1)
|
||||
$(BUILD_DIR)/%-$(1)/.installed: PYTHON_VERSION=$(1)
|
||||
$(BUILD_DIR)/%-$(1)/.tested: PYTHON_VERSION=$(1)
|
||||
$(BUILD_DIR)/%-$(1)/.tested-and-compared: PYTHON_VERSION=$(1)
|
||||
endef
|
||||
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), $(eval $(call python-rule,$(pyver))))
|
||||
|
||||
$(BUILD_DIR)/$(MACH32)-%/.built: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.built: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.installed: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.installed: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested-and-compared: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared: BITS=64
|
||||
|
||||
PYTHON_32_VERSIONS = $(filter-out $(PYTHON_64_ONLY_VERSIONS), $(PYTHON_VERSIONS))
|
||||
|
||||
BUILD_32 = $(PYTHON_32_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.built)
|
||||
BUILD_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
|
||||
BUILD_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.built)
|
||||
|
||||
ifeq ($(filter-out $(PYTHON_64_ONLY_VERSIONS), $(PYTHON_VERSION)),)
|
||||
BUILD_32_and_64 = $(BUILD_64)
|
||||
endif
|
||||
|
||||
INSTALL_32 = $(PYTHON_32_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.installed)
|
||||
INSTALL_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.installed)
|
||||
INSTALL_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.installed)
|
||||
|
||||
PYTHON_ENV = CC="$(CC)"
|
||||
PYTHON_ENV += CFLAGS="$(CFLAGS)"
|
||||
PYTHON_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
|
||||
COMPONENT_BUILD_ENV += $(PYTHON_ENV)
|
||||
COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
|
||||
COMPONENT_TEST_ENV += $(PYTHON_ENV)
|
||||
|
||||
# Reset arguments specified as environmnent variables
|
||||
COMPONENT_BUILD_ARGS =
|
||||
|
||||
# If we are building Python 3.5 support, build it and install it
|
||||
# before Python 2.7, so 2.7 is installed last and is the canonical version.
|
||||
# When we change the default, the new default should go last.
|
||||
ifneq ($(findstring 3.5,$(PYTHON_VERSIONS)),)
|
||||
$(BUILD_DIR)/%-2.7/.built: $(BUILD_DIR)/%-3.5/.built
|
||||
$(BUILD_DIR)/%-2.7/.installed: $(BUILD_DIR)/%-3.5/.installed
|
||||
endif
|
||||
|
||||
# Create a distutils config file specific to the combination of build
|
||||
# characteristics (bittedness x Python version), and put it in its own
|
||||
# directory. We can set $HOME to point distutils at it later, allowing
|
||||
# the install phase to find the temporary build directories.
|
||||
CFG=.pydistutils.cfg
|
||||
$(BUILD_DIR)/config-%/$(CFG):
|
||||
$(MKDIR) $(@D)
|
||||
echo "[build]\nbuild_base = $(BUILD_DIR)/$*" > $@
|
||||
|
||||
# build the configured source
|
||||
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep $(BUILD_DIR)/config-%/$(CFG)
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(SOURCE_DIR) ; $(ENV) HOME=$(BUILD_DIR)/config-$* $(COMPONENT_BUILD_ENV) \
|
||||
$(PYTHON.$(BITS)) ./setup.py build $(COMPONENT_BUILD_ARGS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) $(SOURCE_DIR)/$(@D:$(BUILD_DIR)/%=%)
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
|
||||
COMPONENT_INSTALL_ARGS += --root $(PROTO_DIR)
|
||||
COMPONENT_INSTALL_ARGS += --install-lib=$(PYTHON_LIB)
|
||||
COMPONENT_INSTALL_ARGS += --install-purelib=$(PYTHON_LIB)
|
||||
COMPONENT_INSTALL_ARGS += --install-platlib=$(PYTHON_LIB)
|
||||
COMPONENT_INSTALL_ARGS += --install-data=$(PYTHON_DATA)
|
||||
COMPONENT_INSTALL_ARGS += --force
|
||||
|
||||
# install the built source into a prototype area
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built $(BUILD_DIR)/config-%/$(CFG)
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(SOURCE_DIR) ; $(ENV) HOME=$(BUILD_DIR)/config-$* $(COMPONENT_INSTALL_ENV) \
|
||||
$(PYTHON.$(BITS)) ./setup.py install $(COMPONENT_INSTALL_ARGS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# Define bit specific and Python version specific filenames.
|
||||
ifeq ($(strip $(USE_COMMON_TEST_MASTER)),no)
|
||||
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(PYTHON_VERSION)-$(BITS).master
|
||||
endif
|
||||
COMPONENT_TEST_OUTPUT = $(COMPONENT_TEST_BUILD_DIR)/test-$(PYTHON_VERSION)-$(BITS)-results
|
||||
COMPONENT_TEST_DIFFS = $(COMPONENT_TEST_BUILD_DIR)/test-$(PYTHON_VERSION)-$(BITS)-diffs
|
||||
COMPONENT_TEST_SNAPSHOT = $(COMPONENT_TEST_BUILD_DIR)/results-$(PYTHON_VERSION)-$(BITS).snapshot
|
||||
COMPONENT_TEST_TRANSFORM_CMD = $(COMPONENT_TEST_BUILD_DIR)/transform-$(PYTHON_VERSION)-$(BITS)-results
|
||||
|
||||
COMPONENT_TEST_DEP = $(BUILD_DIR)/%/.installed
|
||||
COMPONENT_TEST_DIR = $(COMPONENT_SRC)/test
|
||||
COMPONENT_TEST_ENV_CMD = $(ENV)
|
||||
COMPONENT_TEST_ENV += PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES)
|
||||
COMPONENT_TEST_CMD = $(PYTHON)
|
||||
COMPONENT_TEST_ARGS += ./runtests.py
|
||||
|
||||
# determine the type of tests we want to run.
|
||||
ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
|
||||
TEST_32 = $(PYTHON_32_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested)
|
||||
TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested)
|
||||
TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested)
|
||||
else
|
||||
TEST_32 = $(PYTHON_32_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested-and-compared)
|
||||
TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared)
|
||||
TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested-and-compared)
|
||||
endif
|
||||
|
||||
# test the built source
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(COMPONENT_TEST_DEP)
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) $(COMPONENT_TEST_ARGS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(COMPONENT_TEST_DEP)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) $(COMPONENT_TEST_ARGS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: install
|
||||
-$(PARFAIT) build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
|
||||
|
||||
# Make it easy to construct a URL for a pypi source download. This
|
||||
# construct supports an optional call to a number from
|
||||
# NUM_EXTRA_ARCHIVES for multiple archive downloads.
|
||||
pypi_url_multi = pypi:///$(COMPONENT_NAME_$(1))==$(COMPONENT_VERSION_$(1))
|
||||
pypi_url_single = pypi:///$(COMPONENT_NAME)==$(COMPONENT_VERSION)
|
||||
pypi_url = $(if $(COMPONENT_NAME_$(1)),$(pypi_url_multi),$(pypi_url_single))
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,81 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# (hopefully) helpful common targets.
|
||||
#
|
||||
|
||||
PROTOMAN1FILES=$(MAN1FILES:%=$(PROTOUSRSHAREMAN1DIR)/%)
|
||||
PROTOMAN1MFILES=$(MAN1MFILES:%=$(PROTOUSRSHAREMAN1MDIR)/%)
|
||||
PROTOMAN3FILES=$(MAN3FILES:%=$(PROTOUSRSHAREMAN3DIR)/%)
|
||||
PROTOMAN4FILES=$(MAN4FILES:%=$(PROTOUSRSHAREMAN4DIR)/%)
|
||||
|
||||
$(PROTOUSRSHAREMAN1DIR)/% $(PROTOUSRSHAREMAN1MDIR)/% $(PROTOUSRSHAREMAN3DIR)/% \
|
||||
$(PROTOUSRSHAREMAN4DIR)/%: manpages/%
|
||||
$(INS.file)
|
||||
|
||||
PROTOSFWLINKS= $(SFWPROGS:%=$(PROTOSFWBIN)/%)
|
||||
|
||||
$(PROTOSFWLINKS): $(PROTOSFWBIN)
|
||||
$(RM) $@ ; $(SYMLINK) ../../bin/$(@F) $@
|
||||
|
||||
PROTOSFWMAN1LINKS= $(SFWMAN1:%=$(PROTOSFWSHAREMAN1)/%)
|
||||
|
||||
$(PROTOSFWMAN1LINKS): $(PROTOSFWSHAREMAN1)
|
||||
$(RM) $@ ; $(SYMLINK) ../../../../share/man/man1/$(@F) $@
|
||||
|
||||
PROTOGNULINKS= $(GNUPROGS:%=$(PROTOGNUBIN)/%)
|
||||
|
||||
$(PROTOGNULINKS): $(PROTOGNUBIN)
|
||||
$(RM) $@ ; $(SYMLINK) ../../bin/g$(@F) $@
|
||||
|
||||
PROTOGNUMAN1LINKS = $(GNUMAN1:%=$(PROTOGNUSHAREMAN1)/%)
|
||||
|
||||
$(PROTOGNUMAN1LINKS): $(PROTOGNUSHAREMAN1)
|
||||
$(RM) $@ ; $(SYMLINK) ../../../../share/man/man1/g$(@F) $@
|
||||
|
||||
|
||||
$(PROTOETCDIR) \
|
||||
$(PROTOETCSECDIR) \
|
||||
$(PROTOLIBDIR) \
|
||||
$(PROTOUSRSHAREMAN1DIR) \
|
||||
$(PROTOUSRSHAREMAN1MDIR) \
|
||||
$(PROTOUSRSHAREMAN3DIR) \
|
||||
$(PROTOUSRSHAREMAN4DIR) \
|
||||
$(PROTOUSRSHAREDOCDIR) \
|
||||
$(PROTOGNUBIN) \
|
||||
$(PROTOGNUSHAREMAN1) \
|
||||
$(PROTOSFWBIN) \
|
||||
$(PROTOSFWSHAREMAN1) \
|
||||
$(PROTOUSRSBINDIR) \
|
||||
$(PROTOUSRBINDIR):
|
||||
$(MKDIR) $@
|
||||
|
||||
|
||||
$(PROTOMAN1FILES): $(PROTOUSRSHAREMAN1DIR)
|
||||
|
||||
$(PROTOMAN1MFILES): $(PROTOUSRSHAREMAN1MDIR)
|
||||
|
||||
$(PROTOMAN3FILES): $(PROTOUSRSHAREMAN3DIR)
|
||||
|
||||
$(PROTOMAN4FILES): $(PROTOUSRSHAREMAN4DIR)
|
||||
|
|
@ -1,246 +0,0 @@
|
|||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
#
|
||||
# Rules and Macros for building opens source software that uses the waf
|
||||
# build system from https://waf.io/
|
||||
#
|
||||
# To use these rules, include $(WS_MAKE_RULES)/waf.mk in your Makefile
|
||||
# and define "build", "install" targets appropriate to building your component.
|
||||
# Ex:
|
||||
#
|
||||
# build: $(BUILD_32) \
|
||||
# $(BUILD_64)
|
||||
#
|
||||
# install: $(INSTALL_32) \
|
||||
# $(INSTALL_64)
|
||||
#
|
||||
# Any additional pre/post configure, build, or install actions can be specified
|
||||
# in your Makefile by setting them in on of the following macros:
|
||||
# COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
|
||||
# COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
|
||||
#
|
||||
# If component specific make targets need to be used for build or install, they
|
||||
# can be specified in
|
||||
# COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
|
||||
#
|
||||
|
||||
# Defaults to looking for waf script in top level of cloned source
|
||||
WAF = $(PYTHON) waf
|
||||
|
||||
CONFIGURE_PREFIX = /usr
|
||||
|
||||
ifeq ($(strip $(PREFERRED_BITS)),64)
|
||||
CONFIGURE_BINDIR.32 = $(CONFIGURE_PREFIX)/bin/$(MACH32)
|
||||
CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin/$(MACH32)
|
||||
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin
|
||||
else
|
||||
CONFIGURE_BINDIR.32 = $(CONFIGURE_PREFIX)/bin
|
||||
CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin/$(MACH64)
|
||||
CONFIGURE_SBINDIR.32 = $(CONFIGURE_PREFIX)/sbin
|
||||
CONFIGURE_SBINDIR.64 = $(CONFIGURE_PREFIX)/sbin/$(MACH64)
|
||||
endif
|
||||
CONFIGURE_LIBDIR.32 = $(CONFIGURE_PREFIX)/lib
|
||||
CONFIGURE_LIBDIR.64 = $(CONFIGURE_PREFIX)/lib/$(MACH64)
|
||||
CONFIGURE_MANDIR = $(CONFIGURE_PREFIX)/share/man
|
||||
CONFIGURE_LOCALEDIR = $(CONFIGURE_PREFIX)/share/locale
|
||||
|
||||
CONFIGURE_DEFAULT_DIRS?=yes
|
||||
CONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
|
||||
ifeq ($(CONFIGURE_DEFAULT_DIRS),yes)
|
||||
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
|
||||
ifeq ($(INITIAL_BITS),64)
|
||||
CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.32)
|
||||
CONFIGURE_OPTIONS += --sbindir=$(CONFIGURE_SBINDIR.32)
|
||||
else
|
||||
CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
|
||||
CONFIGURE_OPTIONS += --sbindir=$(CONFIGURE_SBINDIR.$(BITS))
|
||||
endif
|
||||
CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_LIBDIR.$(BITS))
|
||||
endif
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH))
|
||||
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(MACH).$(BITS))
|
||||
|
||||
CONFIGURE_ENV += CC="$(CC) $(CC_BITS)"
|
||||
CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
|
||||
CONFIGURE_ENV += CXX="$(CXX) $(CC_BITS)"
|
||||
CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
|
||||
CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
|
||||
CONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
|
||||
CONFIGURE_ENV += PYTHON="$(PYTHON)"
|
||||
CONFIGURE_ENV += PYTHONDIR="$(PYTHON_LIB)"
|
||||
CONFIGURE_ENV += PYTHONARCHDIR="$(PYTHON_VENDOR_PACKAGES)"
|
||||
|
||||
# configure the unpacked source
|
||||
COMPONENT_CONFIGURE_TARGETS ?= configure
|
||||
|
||||
$(BUILD_DIR_32)/.configured: BITS=32
|
||||
$(BUILD_DIR_64)/.configured: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.configured: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.configured: BITS=64
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), \
|
||||
$(eval $(BUILD_DIR)/%-$(pyver)/.configured: PYTHON_VERSION=$(pyver)) \
|
||||
)
|
||||
|
||||
$(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
|
||||
$(RM) -r $(@D) ; $(MKDIR) $(@D)
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_CONFIGURE_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(CONFIGURE_ENV) \
|
||||
$(WAF) $(COMPONENT_CONFIGURE_TARGETS) $(CONFIGURE_OPTIONS))
|
||||
$(COMPONENT_POST_CONFIGURE_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# build the configured source
|
||||
COMPONENT_BUILD_TARGETS ?= build
|
||||
|
||||
$(BUILD_DIR_32)/.built: BITS=32
|
||||
$(BUILD_DIR_64)/.built: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.built: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.built: BITS=64
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), \
|
||||
$(eval $(BUILD_DIR)/%-$(pyver)/.built: PYTHON_VERSION=$(pyver)) \
|
||||
)
|
||||
|
||||
$(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
|
||||
$(COMPONENT_PRE_BUILD_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
|
||||
$(WAF) $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS))
|
||||
$(COMPONENT_POST_BUILD_ACTION)
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
-$(PARFAIT) $(@D)
|
||||
endif
|
||||
$(TOUCH) $@
|
||||
|
||||
# If BUILD_STYLE is set, provide a default configure target.
|
||||
ifeq ($(strip $(BUILD_STYLE)),waf)
|
||||
configure: $(CONFIGURE_$(MK_BITS))
|
||||
endif
|
||||
|
||||
# install the built source into a prototype area
|
||||
COMPONENT_INSTALL_ARGS += --destdir=$(PROTO_DIR)
|
||||
COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS))
|
||||
|
||||
$(BUILD_DIR_32)/.installed: BITS=32
|
||||
$(BUILD_DIR_64)/.installed: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.installed: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.installed: BITS=64
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), \
|
||||
$(eval $(BUILD_DIR)/%-$(pyver)/.installed: PYTHON_VERSION=$(pyver)) \
|
||||
)
|
||||
|
||||
$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_INSTALL_ACTION)
|
||||
(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
|
||||
$(WAF) $(COMPONENT_INSTALL_TARGETS) $(COMPONENT_INSTALL_ARGS))
|
||||
$(COMPONENT_POST_INSTALL_ACTION)
|
||||
$(TOUCH) $@
|
||||
|
||||
# test the built source
|
||||
COMPONENT_TEST_CMD = $(WAF)
|
||||
COMPONENT_TEST_TARGETS = test
|
||||
|
||||
$(BUILD_DIR_32)/.tested-and-compared: BITS=32
|
||||
$(BUILD_DIR_64)/.tested-and-compared: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested-and-compared: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared: BITS=64
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), \
|
||||
$(eval $(BUILD_DIR)/%-$(pyver)/.tested-and-compared: PYTHON_VERSION=$(pyver)) \
|
||||
)
|
||||
|
||||
$(BUILD_DIR)/%/.tested-and-compared: $(BUILD_DIR)/%/.built
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
-(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_TARGETS) $(COMPONENT_TEST_ARGS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR_32)/.tested: BITS=32
|
||||
$(BUILD_DIR_64)/.tested: BITS=64
|
||||
$(BUILD_DIR)/$(MACH32)-%/.tested: BITS=32
|
||||
$(BUILD_DIR)/$(MACH64)-%/.tested: BITS=64
|
||||
$(foreach pyver, $(PYTHON_VERSIONS), \
|
||||
$(eval $(BUILD_DIR)/%-$(pyver)/.tested: PYTHON_VERSION=$(pyver)) \
|
||||
)
|
||||
|
||||
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
|
||||
$(COMPONENT_PRE_TEST_ACTION)
|
||||
(cd $(COMPONENT_TEST_DIR) ; \
|
||||
$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
|
||||
$(COMPONENT_TEST_CMD) \
|
||||
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
|
||||
$(COMPONENT_POST_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
# Test the installed packages. The targets above depend on .built which
|
||||
# means $(CLONEY) has already run. System-test needs cloning but not
|
||||
# building; thus ideally, we would want to depend on .cloned here and below,
|
||||
# but since we don't have that, we depend on .prep and run $(CLONEY) here.
|
||||
$(BUILD_DIR)/%/.system-tested-and-compared: $(SOURCE_DIR)/.prep
|
||||
$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_SYSTEM_TEST_ACTION)
|
||||
-(cd $(COMPONENT_SYSTEM_TEST_DIR) ; \
|
||||
$(COMPONENT_SYSTEM_TEST_ENV_CMD) $(COMPONENT_SYSTEM_TEST_ENV) \
|
||||
$(COMPONENT_SYSTEM_TEST_CMD) \
|
||||
$(COMPONENT_SYSTEM_TEST_ARGS) $(COMPONENT_SYSTEM_TEST_TARGETS)) \
|
||||
&> $(COMPONENT_TEST_OUTPUT)
|
||||
$(COMPONENT_POST_SYSTEM_TEST_ACTION)
|
||||
$(COMPONENT_TEST_CREATE_TRANSFORMS)
|
||||
$(COMPONENT_TEST_PERFORM_TRANSFORM)
|
||||
$(COMPONENT_TEST_COMPARE)
|
||||
$(COMPONENT_SYSTEM_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(BUILD_DIR)/%/.system-tested: $(SOURCE_DIR)/.prep
|
||||
$(CLONEY) $(SOURCE_DIR) $(@D)
|
||||
$(COMPONENT_PRE_SYSTEM_TEST_ACTION)
|
||||
(cd $(COMPONENT_SYSTEM_TEST_DIR) ; \
|
||||
$(COMPONENT_SYSTEM_TEST_ENV_CMD) $(COMPONENT_SYSTEM_TEST_ENV) \
|
||||
$(COMPONENT_SYSTEM_TEST_CMD) \
|
||||
$(COMPONENT_SYSTEM_TEST_ARGS) $(COMPONENT_SYSTEM_TEST_TARGETS))
|
||||
$(COMPONENT_POST_SYSTEM_TEST_ACTION)
|
||||
$(COMPONENT_SYSTEM_TEST_CLEANUP)
|
||||
$(TOUCH) $@
|
||||
|
||||
ifeq ($(strip $(PARFAIT_BUILD)),yes)
|
||||
parfait: build
|
||||
else
|
||||
parfait:
|
||||
$(MAKE) PARFAIT_BUILD=yes parfait
|
||||
endif
|
||||
|
||||
clean::
|
||||
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"). You may
|
||||
# only use this file in accordance with the terms of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2017, Aurelien Larcher. All rights reserved.
|
||||
#
|
||||
|
||||
# All X11 components should now prefer 64-bits unless specified
|
||||
|
||||
PREFERRED_BITS=64
|
||||
|
||||
#
|
||||
# General macros
|
||||
#
|
||||
PKG_X11_VERSION=7.7
|
||||
|
||||
X11_COMPONENTS_DIR = $(WS_COMPONENTS)/x11
|
||||
|
||||
#
|
||||
# Provide macros for commonly used urls
|
||||
#
|
||||
|
||||
XORG_PROJECT_URL = https://www.x.org/
|
||||
XORG_BASE_URL = https://www.x.org/releases/individual
|
||||
SOLARIS_XORG_URL = https://github.com/oracle/solaris-userland
|
||||
|
||||
XORG_APP_BASE_URL = $(XORG_BASE_URL)/app
|
||||
XORG_DATA_BASE_URL = $(XORG_BASE_URL)/data
|
||||
XORG_DOC_BASE_URL = $(XORG_BASE_URL)/doc
|
||||
XORG_DRIVER_BASE_URL = $(XORG_BASE_URL)/driver
|
||||
XORG_FONT_BASE_URL = $(XORG_BASE_URL)/font
|
||||
XORG_LIB_BASE_URL = $(XORG_BASE_URL)/lib
|
||||
XORG_PROTO_BASE_URL = $(XORG_BASE_URL)/proto
|
||||
XORG_TEST_BASE_URL = $(XORG_BASE_URL)/test
|
||||
XORG_UTIL_BASE_URL = $(XORG_BASE_URL)/util
|
||||
XORG_XCB_BASE_URL = $(XORG_BASE_URL)/xcb
|
||||
XORG_XSERVER_BASE_URL = $(XORG_BASE_URL)/xserver
|
||||
|
||||
#
|
||||
# Default X11 component values
|
||||
#
|
||||
COMPONENT_X11_DEFAULTS?= yes
|
||||
ifeq ($(COMPONENT_X11_DEFAULTS),yes)
|
||||
COMPONENT_PROJECT_URL ?= $(XORG_PROJECT_URL)
|
||||
COMPONENT_SRC ?= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
||||
COMPONENT_ARCHIVE ?= $(COMPONENT_SRC).tar.bz2
|
||||
ifneq ($(strip $(X11_CATEGORY)),)
|
||||
COMPONENT_ARCHIVE_URL ?= $(XORG_$(X11_CATEGORY)_BASE_URL)/$(COMPONENT_ARCHIVE)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Set defaults for X11 applications
|
||||
#
|
||||
ifeq ($(strip $(X11_CATEGORY)),APP)
|
||||
BUILD_BITS = 64
|
||||
PATH=$(PATH.gnu)
|
||||
COMPONENT_CLASSIFICATION = System/X11
|
||||
COMPONENT_LICENSE = MIT License
|
||||
endif
|
||||
|
||||
#
|
||||
# Set defaults for X11 libraries
|
||||
#
|
||||
ifeq ($(strip $(X11_CATEGORY)),LIB)
|
||||
BUILD_BITS = 32_and_64
|
||||
PATH=$(PATH.gnu)
|
||||
COMPONENT_CLASSIFICATION = System/X11
|
||||
COMPONENT_LICENSE = MIT License
|
||||
endif
|
||||
|
||||
#
|
||||
# Set defaults for X11 drivers
|
||||
#
|
||||
ifeq ($(strip $(X11_CATEGORY)),DRIVER)
|
||||
BUILD_BITS = 64
|
||||
PATH=$(PATH.gnu)
|
||||
ifneq (,$(findstring video,$(COMPONENT_NAME)))
|
||||
COMPONENT_CLASSIFICATION = Drivers/Display
|
||||
else
|
||||
COMPONENT_CLASSIFICATION = Drivers/Other Peripherals
|
||||
endif
|
||||
COMPONENT_LICENSE = MIT License
|
||||
COMPONENT_LICENSE_FILE = COPYING
|
||||
COMPONENT_PREP_ACTION = ( cd $(@D) && \
|
||||
libtoolize --automake --copy --force && \
|
||||
aclocal && \
|
||||
autoheader && \
|
||||
automake -a -f -c && \
|
||||
autoconf )
|
||||
endif
|
||||
|
||||
#
|
||||
# Set no test target by default
|
||||
#
|
||||
TEST_TARGET = $(NO_TESTS)
|
||||
|
||||
#
|
||||
# Define library and modules install paths
|
||||
#
|
||||
|
||||
XORG_LIBDIR.32 = $(USRLIBDIR)/xorg
|
||||
XORG_LIBDIR.64 = $(USRLIBDIR)/xorg/$(MACH64)
|
||||
XORG_LIBDIR = $(XORG_LIBDIR.$(BITS))
|
||||
|
||||
X11_SERVERMOD_SUBDIR.32=
|
||||
X11_SERVERMOD_SUBDIR.64=/$(MACH64)
|
||||
X11_SERVERMOD_SUBDIR=$(X11_SERVERMOD_SUBDIR.$(BITS))
|
||||
|
||||
X11_SERVERLIBS_DIR = $(USRLIBDIR)/xorg$(X11_SERVERMOD_SUBDIR)
|
||||
X11_SERVERMODS_DIR = $(USRLIBDIR)/xorg/modules$(X11_SERVERMOD_SUBDIR)
|
||||
|
||||
X11_SERVERMODS_DRI_DIR = $(USRLIBDIR)/xorg/modules/dri$(X11_SERVERMOD_SUBDIR)
|
||||
X11_SERVERMODS_DRIVERS_DIR = $(USRLIBDIR)/xorg/modules/drivers$(X11_SERVERMOD_SUBDIR)
|
||||
X11_SERVERMODS_EXTENSIONS_DIR = $(USRLIBDIR)/xorg/modules/extensions$(X11_SERVERMOD_SUBDIR)
|
||||
x11_SERVERMODS_INPUT_DIR = $(USRLIBDIR)/xorg/modules/input$(X11_SERVERMOD_SUBDIR)
|
||||
X11_SERVERMODS_MULTIMEDIA_DIR = $(USRLIBDIR)/xorg/modules/multimedia$(X11_SERVERMOD_SUBDIR)
|
||||
|
||||
#
|
||||
# Define MESA paths
|
||||
#
|
||||
|
||||
MESA_XSERVERLIBS_DIR = $(USRLIBDIR)/mesa$(X11_SERVERMOD_SUBDIR)
|
||||
MESA_XSERVERMODS_DIR = $(USRLIBDIR)/mesa/modules$(X11_SERVERMOD_SUBDIR)
|
||||
|
||||
MESA_XSERVERMODS_EXTENSIONS_DIR = $(USRLIBDIR)/mesa/modules/extensions$(X11_SERVERMOD_SUBDIR)
|
||||
|
||||
#
|
||||
# Define PKG macros
|
||||
#
|
||||
|
||||
PKG_MACROS += X11PKGVERS=$(PKG_X11_VERSION)
|
||||
|
||||
#
|
||||
# Default build dependencies
|
||||
#
|
||||
REQUIRED_PACKAGES += x11/header/x11-protocols
|
||||
REQUIRED_PACKAGES += developer/build/autoconf/xorg-macros
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
name = "userland"
|
||||
version = "0.1.1"
|
||||
authors = ["Till Wegmueller <toasterson@gmail.com>"]
|
||||
edition = "2018"
|
||||
edition = "2021"
|
||||
license-file = "LICENSE"
|
||||
description = "Helper tool for IPS package development"
|
||||
|
||||
|
|
@ -12,11 +12,16 @@ description = "Helper tool for IPS package development"
|
|||
anyhow = "1.0.56"
|
||||
thiserror = "1.0.30"
|
||||
pest_derive = "2.1.0"
|
||||
maplit = "0.1.6"
|
||||
maplit = "1.0.2"
|
||||
pest = "2.1.0"
|
||||
reqwest = { version = "0.11", features = ["blocking", "json", "rustls-tls"] }
|
||||
semver = "0.11.0"
|
||||
semver = "1.0.13"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
regex = "1"
|
||||
lazy_static = "1"
|
||||
lazy_static = "1"
|
||||
url = { version = "2.2.2", features = ["serde"] }
|
||||
|
||||
[dependencies.openssl]
|
||||
version = "*"
|
||||
features = ["vendored"]
|
||||
|
|
|
|||
120
userland/src/component.rs
Normal file
120
userland/src/component.rs
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
use anyhow::{bail, Result};
|
||||
use semver::Version;
|
||||
use std::collections::HashMap;
|
||||
use url::Url;
|
||||
|
||||
use crate::Makefile;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Component {
|
||||
pub version: Version,
|
||||
pub revision: Option<i32>,
|
||||
pub sources: HashMap<String, Source>,
|
||||
pub options: Vec<ComponentOption>,
|
||||
pub build_style: BuildStyle,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum BuildStyle {
|
||||
Configure,
|
||||
Cmake,
|
||||
Make,
|
||||
Meson,
|
||||
Custom,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ComponentOption {
|
||||
pub platform: ComponentOptionPlatform,
|
||||
pub opt: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ComponentOptionPlatform {
|
||||
All,
|
||||
Intel,
|
||||
Sparc,
|
||||
Arm,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum Source {
|
||||
GitSource {
|
||||
url: Url,
|
||||
},
|
||||
ArchiveSource {
|
||||
version: Version,
|
||||
hash: Option<String>,
|
||||
url: Url,
|
||||
},
|
||||
}
|
||||
|
||||
impl Component {
|
||||
pub fn new_from_makefile(m: &Makefile) -> Result<Self> {
|
||||
let opts = if let Some(opts) = m.variables.get("CONFIGURE_OPTIONS") {
|
||||
opts.values
|
||||
.clone()
|
||||
.into_iter()
|
||||
.map(|v| ComponentOption {
|
||||
platform: ComponentOptionPlatform::All,
|
||||
opt: v,
|
||||
})
|
||||
.collect()
|
||||
} else {
|
||||
vec![]
|
||||
};
|
||||
|
||||
let ver = semver::Version::parse(
|
||||
&m.get_first_value_of_variable_by_name("COMPONENT_VERSION")
|
||||
.ok_or(anyhow::anyhow!("missing component version"))?,
|
||||
)?;
|
||||
|
||||
let revision = m
|
||||
.get_first_value_of_variable_by_name("COMPONENT_REVISION")
|
||||
.map(|s| s.parse().unwrap_or(0));
|
||||
|
||||
let component_src = m.get_first_value_of_variable_by_name("COMPONENT_SRC");
|
||||
let component_archive_url = m.get_first_value_of_variable_by_name("COMPONENT_ARCHIVE_URL");
|
||||
let git_url = m.get_first_value_of_variable_by_name("GIT_URL");
|
||||
let component_archive_hash =
|
||||
m.get_first_value_of_variable_by_name("COMPONENT_ARCHIVE_HASH");
|
||||
let build_style = if let Some(style) = m.get_first_value_of_variable_by_name("BUILD_STYLE")
|
||||
{
|
||||
let s = match style.as_str() {
|
||||
"justmake" => BuildStyle::Make,
|
||||
"cmake" => BuildStyle::Cmake,
|
||||
"meson" => BuildStyle::Meson,
|
||||
"custom" => BuildStyle::Custom,
|
||||
"configure" | _ => BuildStyle::Configure,
|
||||
};
|
||||
//TODO: Custom build style variable checks
|
||||
// something like guess_buildstyle_from_options
|
||||
s
|
||||
} else {
|
||||
BuildStyle::Configure
|
||||
};
|
||||
|
||||
let src = if let (Some(name), Some(url)) = (component_src.clone(), component_archive_url) {
|
||||
(
|
||||
name,
|
||||
Source::ArchiveSource {
|
||||
version: ver.clone(),
|
||||
hash: component_archive_hash,
|
||||
url: url.parse()?,
|
||||
},
|
||||
)
|
||||
} else if let (Some(name), Some(url)) = (component_src, git_url) {
|
||||
(name, Source::GitSource { url: url.parse()? })
|
||||
} else {
|
||||
bail!("no source found in makefile")
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
version: ver,
|
||||
revision: revision,
|
||||
sources: HashMap::from([src]),
|
||||
options: opts,
|
||||
build_style: build_style,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +1,20 @@
|
|||
mod component;
|
||||
pub mod repology;
|
||||
|
||||
extern crate pest;
|
||||
extern crate maplit;
|
||||
|
||||
#[macro_use]
|
||||
extern crate pest_derive;
|
||||
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use std::collections::{HashMap};
|
||||
use std::env;
|
||||
use std::io::Error as IOError;
|
||||
use std::fs::{read_to_string, canonicalize};
|
||||
use pest::iterators::{Pairs};
|
||||
use std::path::{Path, PathBuf};
|
||||
use pest::Parser;
|
||||
use thiserror::Error;
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use lazy_static::lazy_static;
|
||||
use pest::iterators::Pairs;
|
||||
use pest::Parser;
|
||||
use pest_derive::Parser;
|
||||
use regex::Regex;
|
||||
use std::collections::HashMap;
|
||||
use std::env;
|
||||
use std::fs::{canonicalize, read_to_string};
|
||||
use std::io::Error as IOError;
|
||||
use std::path::{Path, PathBuf};
|
||||
use thiserror::Error;
|
||||
|
||||
pub use component::*;
|
||||
|
||||
#[derive(Parser)]
|
||||
#[grammar = "makefile.pest"]
|
||||
|
|
@ -41,7 +38,7 @@ pub struct MakefileVariable {
|
|||
#[derive(Debug, PartialEq, Clone)]
|
||||
pub enum VariableMode {
|
||||
Add,
|
||||
Set
|
||||
Set,
|
||||
}
|
||||
|
||||
impl Default for VariableMode {
|
||||
|
|
@ -63,10 +60,12 @@ pub enum ParserError {
|
|||
|
||||
impl Makefile {
|
||||
pub fn parse_single_file<P: AsRef<Path>>(path: P) -> Result<Self> {
|
||||
let content = read_to_string(&path)?;
|
||||
let mut m = parse_string(content).map_err(|err|
|
||||
anyhow!(ParserError::MakefileReadError{file: path.as_ref().to_path_buf(), reason: anyhow!(err)})
|
||||
)?;
|
||||
let content = read_to_string(&path).context(format!(
|
||||
"cannot read {0} to string",
|
||||
path.as_ref().display()
|
||||
))?;
|
||||
let mut m =
|
||||
parse_string(content).context(format!("cannot parse {0}", path.as_ref().display()))?;
|
||||
m.path = path.as_ref().into();
|
||||
Ok(m)
|
||||
}
|
||||
|
|
@ -149,8 +148,8 @@ impl Makefile {
|
|||
};
|
||||
|
||||
for incl in includes {
|
||||
let incl_path = canonicalize(&incl).map_err(|err|
|
||||
anyhow!(ParserError::IncludeNotFound(incl, err)))?;
|
||||
let incl_path = canonicalize(&incl)
|
||||
.map_err(|err| anyhow!(ParserError::IncludeNotFound(incl, err)))?;
|
||||
let m = Self::parse_single_file(incl_path)?;
|
||||
included_makefiles.push(m);
|
||||
}
|
||||
|
|
@ -168,14 +167,15 @@ impl Makefile {
|
|||
// Logic to resolve all the nested Variables when we access them.
|
||||
for (i, maybe_nested_var) in var.values.iter().enumerate() {
|
||||
lazy_static! {
|
||||
static ref VARRE: Regex = Regex::new(r"(?P<var_name>\$\(.+?\))").unwrap();
|
||||
}
|
||||
static ref VARRE: Regex = Regex::new(r"(?P<var_name>\$\(.+?\))").unwrap();
|
||||
}
|
||||
for captures in VARRE.captures_iter(maybe_nested_var) {
|
||||
if let Some(nested_var) = captures.name("var_name") {
|
||||
let nested_var_name = nested_var.as_str().replace("$(", "").replace(")", "");
|
||||
if let Some(resolved_nested_var) = self.get(&nested_var_name) {
|
||||
let mut new_string = vars_copy[i].clone();
|
||||
new_string = new_string.replacen(nested_var.as_str(), &resolved_nested_var, 1);
|
||||
new_string =
|
||||
new_string.replacen(nested_var.as_str(), &resolved_nested_var, 1);
|
||||
vars_copy[i] = new_string;
|
||||
}
|
||||
}
|
||||
|
|
@ -214,7 +214,10 @@ fn parse_string(content: String) -> Result<Makefile> {
|
|||
Rule::makefile => {
|
||||
parse_makefile(p.into_inner(), &mut m)?;
|
||||
}
|
||||
_ => panic!("unexpected rule {:?} inside pair expected manifest", p.as_rule()),
|
||||
_ => panic!(
|
||||
"unexpected rule {:?} inside pair expected manifest",
|
||||
p.as_rule()
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -249,7 +252,10 @@ fn parse_include(include_pair: Pairs<crate::Rule>, m: &mut Makefile) -> Result<(
|
|||
Rule::variable_value => {
|
||||
m.includes.push(p.as_str().to_string());
|
||||
}
|
||||
_ => panic!("unexpected rule {:?} inside include rule expected variable_value", p.as_rule())
|
||||
_ => panic!(
|
||||
"unexpected rule {:?} inside include rule expected variable_value",
|
||||
p.as_rule()
|
||||
),
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
|
@ -265,7 +271,10 @@ fn parse_define(define_pair: Pairs<crate::Rule>, m: &mut Makefile) -> Result<()>
|
|||
Rule::define_value => {
|
||||
var.1.values.push(p.as_str().to_string());
|
||||
}
|
||||
_ => panic!("unexpected rule {:?} inside define rule expected variable_name, define_value", p.as_rule()),
|
||||
_ => panic!(
|
||||
"unexpected rule {:?} inside define rule expected variable_name, define_value",
|
||||
p.as_rule()
|
||||
),
|
||||
}
|
||||
}
|
||||
m.variables.insert(var.0, var.1);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
extern crate reqwest;
|
||||
|
||||
use reqwest::*;
|
||||
use anyhow::Result;
|
||||
use reqwest::*;
|
||||
use semver::Version;
|
||||
use serde::{Serialize, Deserialize};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
const BASE_URL: &str = "https://repology.org/api/v1/";
|
||||
|
||||
|
|
@ -21,28 +21,29 @@ pub struct Package {
|
|||
licenses: Option<Vec<String>>,
|
||||
maintainers: Option<Vec<String>>,
|
||||
www: Option<Vec<String>>,
|
||||
downloads: Option<Vec<String>>
|
||||
downloads: Option<Vec<String>>,
|
||||
}
|
||||
|
||||
pub fn project(package: &str) -> Result<Vec<Package>> {
|
||||
let url = Url::parse(&format!("{}/project/{}", BASE_URL, package))?;
|
||||
|
||||
let url = Url::parse(&format!("{}/project/{}",BASE_URL, package))?;
|
||||
|
||||
let json = reqwest::blocking::get(url)?
|
||||
.json::<Vec<Package>>()?;
|
||||
let json = reqwest::blocking::get(url)?.json::<Vec<Package>>()?;
|
||||
|
||||
return Ok(json);
|
||||
}
|
||||
|
||||
pub fn find_newest_version(package: &str) -> Result<String> {
|
||||
let pkgs = project(package)?;
|
||||
let version_res: Result<Vec<Version>> = pkgs.iter().map(|p| -> Result<Version> {
|
||||
let v = Version::parse(&p.version);
|
||||
if v.is_ok() {
|
||||
return Ok(v?);
|
||||
}
|
||||
Ok(Version::new(0,0,1))
|
||||
}).collect();
|
||||
let version_res: Result<Vec<Version>> = pkgs
|
||||
.iter()
|
||||
.map(|p| -> Result<Version> {
|
||||
let v = Version::parse(&p.version);
|
||||
if v.is_ok() {
|
||||
return Ok(v?);
|
||||
}
|
||||
Ok(Version::new(0, 0, 1))
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut versions = version_res?;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue