Versionfield in the package you have delivered is not recognized as being a greater version than a release previously made for this package. As a result, when released, this version will not be offered as an upgrade to existing users, and will only appear as a downgrade option even to new users.
Versionfield on your package to a version dpkg recognizes as being newer. You can use
dpkg --compare-versionsto confirm your new package version is recognized as newer. For example:
0indicates the comparison is true; any other number indicates it is false.
Descriptionfield, or appears to use a placeholder value.
Descriptionfield, and supply a short description of your package. For example:
Architecturefield is missing, or not set to a value Chariz supports.
Architecturefield to one of the following:
iphoneos-arm: Supported on iOS
darwin-arm64: Supported on Apple Silicon macOS
darwin-amd64: Supported on Intel macOS
appletvos-arm64: Supported on tvOS (Apple TV 4th generation and later)
watchos-arm: Supported on watchOS (Apple Watch Series 3 and earlier)
watchos-arm64: Supported on watchOS (Apple Watch Series 4 and later)
all: Supported on all platforms – this should only be used for packages that do not contain binary code
findcommand to display a file tree may be useful in determining where in your process the files are being added.
+debug. This is likely due to submitting a debug package rather than a release package.
FINALPACKAGE=1when building to create a release build:
-gflag has been added to your build.
root:wheel, and are not writable by any user except the owner (
5. In other words, users other than the file owner (
root) should not be able to overwrite files or create files in directories owned by your package. Additionally, also review for files or directories where any user does not have read access (
0). Hiding packaged files this way is not recommended.
/mnt/cmountpoint, Unix file permissions will be lost. You may consider either mounting the C: drive inside Linux with the
metadataoption set (here is a blog post on this), or move your project to your default home directory within WSL, and access it from Windows via File Explorer integration and/or Visual Studio Code Remote. You will still need to manually review and fix permissions if they have been reset by Windows.
Depends:list. For example:
bashpackage by default, preferring to have the user (or a package they install) manually opt into installing it. The dash shell, an implementation of a POSIX-compliant Bourne shell (
sh), is installed by default.
#!/bin/sh– or add it if it’s missing. If this fails, review whether it is possible to port the script to not rely on “bashisms” – in other words, be Bourne shell-compatible. Distributions that use bash will remain fully compatible with your script. Use the
checkbashismsscript, available in the devscripts package on Debian/Ubuntu and checkbashisms on Homebrew, to automatically scan for bashisms.
Depends:field you would be familiar with. The package manager needs to be aware that bash must be installed beforehand for the installation of your package to succeed.
bash, in which case installation or uninstallation could fail.
arm64eplatform (used by Apple A12 CPUs and newer) that use the newer ABI that breaks support with operating systems before iOS 14.0, or building binaries that do not contain a “slice” for the
armv7platform (used by Apple A6 CPUs and older) when supporting operating systems before iOS 11.0.
TARGETis set in your top-level Makefile, before
common.mkis included. An example of this might look like:
xcode-selector Xcode Preferences → Locations → Command Line Tools to switch to Xcode 11.7 as your toolchain. Alternatively, if you are confident that arm64e support is not necessary, you can manually specify architectures. In the case of Theos, this might look like: