The effect of the registry path in the pnpm-lock.yaml - pnpm

I find that dependencies are prefixed with registry path like blew:
packages:
registry.npmmirror.com/#ampproject/remapping/2.2.0:
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/#ampproject/remapping/-/remapping-2.2.0.tgz}
name: '#ampproject/remapping'
version: 2.2.0
engines: {node: '>=6.0.0'}
dependencies:
'#jridgewell/gen-mapping': registry.npmmirror.com/#jridgewell/gen-mapping/0.1.1
'#jridgewell/trace-mapping': registry.npmmirror.com/#jridgewell/trace-mapping/0.3.15
dev: true
does it means that the project will install packages with the registry?
but i find there is no registry path in another project's lock file
packages:
/#ampproject/remapping/2.2.0:
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
engines: {node: '>=6.0.0'}
dependencies:
'#jridgewell/gen-mapping': 0.1.1
'#jridgewell/trace-mapping': 0.3.17
dev: true
how did that come about?
please help 🙏

Related

How to determine the src and version to install role using requirements.yml via linux shell

I am trying to get the src and version details using the ansible-galaxy cli without using the internet for example :
[ansible#server exam]$ ansible-galaxy info bennojoy.ntp
Role: bennojoy.ntp
description: ansible role ntp
active: True
commit:
commit_message:
commit_url:
company: AnsibleWorks
created: 2013-12-19T01:25:11.835644Z
dependencies: []
download_count: 110946
forks_count: 0
galaxy_info:
author: Benno Joy
categories: ['development']
company: AnsibleWorks
license: BSD
min_ansible_version: 1.4
platforms: [{'name': 'EL', 'versions': [5, 6]}, {'name': 'Fedora', 'v>
github_branch: master
github_repo: ntp
github_user: bennojoy
id: 4
imported: None
install_date: Sun Jul 26 10:25:09 2020
installed_version:
is_valid: True
issue_tracker_url: https://github.com/bennojoy/ntp/issues
license: BSD
min_ansible_version: 1.4
modified: 2018-06-30T00:28:28.738481Z
open_issues_count: 0
path: ('/home/ansible/.ansible/roles', '/usr/share/ansible/roles', '/etc/ansi>
role_type: ANS
stargazers_count: 24
travis_status_url:
I am not able to get the src and version from the above. I am only able to get the src details upon installing as shown below :
[ansible#server exam]$ ansible-galaxy install bennojoy.ntp
downloading role from https://github.com/bennojoy/ntp/archive/master.tar.gz
extracting bennojoy.ntp to /home/ansible/.ansible/roles/bennojoy.ntp
bennojoy.ntp was installed successfully
In this case the src is https://github.com/bennojoy/ntp/archive/master.tar.gz. The version available for a role i need to check through the website. I would like to check if i can do this only via cli only by issuing some command instead ?

What is does the build information contain in conda env export?

When using conda env export it is possible to remove the build information with --no-build:
...
dependencies:
- _libgcc_mutex=0.1=main
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
- beautifulsoup4=4.8.2=py37_0
- biopython=1.76=py37h7b6447c_0
- blas=1.0=mkl
- bleach=3.1.0=py37_0
...
and with --no-build
dependencies:
- _libgcc_mutex=0.1
- attrs=19.3.0
- backcall=0.1.0
- beautifulsoup4=4.8.2
- biopython=1.76
- blas=1.0
- bleach=3.1.0
- bzip2=1.0.8
- ca-certificates=2020.1.1
Could you explain in detail what exactly is this build information? The compiler and its version? What else is in there?
The build information is a hash of the variant keys in the recipe. Quoting the docs:
The takeaway message is that hashes will appear when binary compatibility matters, but not when it doesn't.
and
As of conda-build 3.1.0, this hashing scheme has been simplified. A hash will be added if all of these are true for any dependency:
Package is an explicit dependency in build, host, or run deps.
Package has a matching entry in conda_build_config.yaml which is a pin to a specific version, not a lower bound.
That package is not ignored by ignore_version.
OR
Package uses {{ compiler() }} Jinja2 function.
The documentation is here: https://docs.conda.io/projects/conda-build/en/latest/resources/variants.html#differentiating-packages-built-with-different-variants There's also a blog post (that I can't find now) with some more information.

MySQL Workbench Version 8.0.17 dies silently on MacOS Mohave 10.14.6

MacOS Version: 10.14.6 Mohave
MySQL Workbench: 8.0.17
Fresh installed (tried uninstall -> install) but not able to understand why it keeps on dying silently. The log file has following contents:
14:26:57 [INF][ Workbench]: Starting up Workbench
14:26:57 [INF][ WBContext UI]: Initializing workbench context UI with these values:
base dir: /Applications/MySQLWorkbench.app/Contents/Resources
plugin path: /Applications/MySQLWorkbench.app/Contents/PlugIns
struct path: /Applications/MySQLWorkbench.app/Contents/Resources/grt
module path: /Applications/MySQLWorkbench.app/Contents/PlugIns:/Applications/MySQLWorkbench.app/Contents/Resources/plugins
library path: /Applications/MySQLWorkbench.app/Contents/Resources/libraries
user data dir: /Users/mg/Library/Application Support/MySQL/Workbench
open at start:
open type:
run at startup:
run type:
Force SW rendering: No
Force OpenGL: No
quit when done: No
14:26:57 [INF][ WBContext]: WbContext::init
The logs goes silent post this. No idea, what am I missing.

How to setup CI/CD for nativescript using Visual studio online/Azure dev ops tools

Im try so setup a CI/CD Pipeline for a Nativescript app, added the commands to install node and npm install but nativescript has dependencies that it need. How do I go about on Azure dev ops dynamically without having to create a vm that has nativescript and all its dependencies installed and setup
So i have used a VM and install nativescript on it and used and agent to connect to the machine and build solution, i have done the same using jenkins but jenkins was running on the vm, no i want to move the whole pipeline on azure dev ops
command used in build step: tns build android
If you don't want to use a vm you'll have to install everything needed for nativescript before building it on their hosted agent each time you create a build for your app.
A couple of important things to note. First the name of your repository is changed to 's' this messes with the naming of your entitlement file... or at least it did for me. I fix this with a bash file I add to my repository that changes the name of the path in build.xcconfig for the CODE_SIGN_ENTITLEMENTS variable. I added an npm run entitle command in my package.json file to run this before building. Second you'll want to store all files and secure passwords in the library section under pipelines in you Azure Devops project. Third, Using the classic editor is your best friend for figuring out yaml as most jobs have an option to view the YAML. You can also use the classic editor as an alternative to the YAML file
The YAML and bash file below show an example of how you can build an ipa and apk file that is stored as an artifact. You can then use that trigger a release pipeline to push the the play and app store.
# YAML File
name: Release Build
trigger:
- release/* # will start build for pull request into release branch ie. realease/version_1_0_0, release/version_2_0_0
pool:
vmImage: 'macOS-10.13'
variables:
scheme: 's' # default name/scheme created on this machine for ipa
sdk: 'iphoneos'
configuration: 'Release'
steps:
- task: NodeTool#0
inputs:
versionSpec: '10.14'
displayName: 'Install Node.js'
# Download Secure File for Android
# Note: if multiple secure files are downloaded... variable name will change and break pipeline
- task: DownloadSecureFile#1
displayName: 'download android keystore file'
inputs:
secureFile: myKeystore.keystore
#Install Apple Certificate(Distrobution)
- task: InstallAppleCertificate#2
displayName: 'Install an Apple certificate Distribution (yourcertificate.p12)'
inputs:
certSecureFile: '00000000-0000-0000-0000-000000000000' # got id from viewing file in clasic editor for pipeline
certPwd: '$(myCertificatePasswordP12)' # password stored in Library
# Install Apple Provisioning Profile(Distrobution)
- task: InstallAppleProvisioningProfile#1
displayName: 'Apple Provisioning Profile(myProvisioningProfile.mobileprovision)'
inputs:
provisioningProfileLocation: 'secureFiles' # Options: secureFiles, sourceRepository
provProfileSecureFile: '00000000-0000-0000-0000-000000000000' # Required when provisioningProfileLocation == SecureFiles
# General Set Up
- script: |
npm install -g nativescript#latest
npm install
displayName: 'Install native script and node Modules'
# variable explination
# $DOWNLOADSECUREFILE_SECUREFILEPATH is keystore file downloaded earlier
# $KEYSTORE_PASSWORD refers to the environment variable in this script which references library variable
# $(MyPlayStoreAlias) refers to library variable for your apps alias
# $BUILD_SOURCESDIRECTORY location where apk is built to
# Android
- script: |
tns build android --env.production --release --key-store-path $DOWNLOADSECUREFILE_SECUREFILEPATH --key-store-password $KEYSTORE_PASSWORD --key-store-alias $(MyPlayStoreAlias) --key-store-alias-password $KEYSTORE_PASSWORD --bundle --copy-to $BUILD_SOURCESDIRECTORY #creates apk
displayName: 'Build Android Release apk'
env:
KEYSTORE_PASSWORD: $(MyPlayStoreKeystore)
# create apk artifact
- task: PublishBuildArtifacts#1
inputs:
pathtoPublish: '$(Build.SourcesDirectory)/app-release.apk'
artifactName: 'apkDrop'
displayName: 'Publishing apkDrop artifact'
# have to use xcode 10.1 to meet min standards for uploading ipa... default version for this machine was lower than 10.1
#changing xcode version
- script: |
xcodebuild -version
/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_10.1.app;sudo xcode-select --switch /Applications/Xcode_10.1.app/Contents/Developer"
xcodebuild -version
displayName: 'changing xcode to 10.1'
# Optional... was running into build issues with latest version
#downgrading cocoapods version
- script: |
sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.5.3
displayName: 'Using cocoapods version 1.5.3'
#iOS
- script: |
xcodebuild -version # makeing sure the correct xcode version is being used
pip install --ignore-installed six # fixes pip 6 error
npm run entitle #custom bash script used to change entitlement file
tns run ios --provision #see what provisioning profile and certificate are installed... helpful for debugging
tns build ios --env.production --release --bundle #creates xcworkspace
displayName: 'Build ios Release xcworkspace'
#build and sign ipa
- task: Xcode#5
displayName: 'Xcode sign and build'
inputs:
sdk: '$(sdk)' # custom var
scheme: '$(scheme)' # must be provided if setting manual path to xcworkspace
configuration: '$(configuration)' # custom var
xcodeVersion: 'specifyPath'
xcodeDeveloperDir: '/Applications/Xcode_10.1.app' #using xcode 10.1
xcWorkspacePath: 'platforms/ios/s.xcworkspace'
exportPath: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)' #location where ipa file will be stored
packageApp: true #create ipa
signingOption: manual
signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)' # distribution certificate
provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)' # distribution profile
#creating ipa artifact
- task: PublishBuildArtifacts#1
displayName: 'Publishing ipaDrop artifact'
inputs:
pathtoPublish: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)/s.ipa'
artifactName: 'ipaDrop'
Bash file
#!/usr/bin/env bash
# filename: pipeline-entitlements.sh
echo "Editing build.xcconfig"
TARGET_KEY="CODE_SIGN_ENTITLEMENTS"
REPLACEMENT_VALUE="s\/Resources\/YOURENTITLEMENTFILENAME.entitlements"
CONFIG_FILE="./app/App_Resources/iOS/build.xcconfig"
echo "Editing $TARGET_KEY and replaceing value with $REPLACEMENT_VALUE"
sed -i.bak "s/\($TARGET_KEY *= *\).*/\1$REPLACEMENT_VALUE/" $CONFIG_FILE
echo "Finished editing build.xcconfig"

APT: Pinning package origin & apt proxy on packages resources list

I try to configure priority pinning with APT on Debian 8, to force a package installation from a specific repository.
My servers are configured to use an apt proxy, specified on each lines of /etc/apt/sources.list:
deb http://<my-apt-cacher-ng-proxy>:9999/ftp.fr.debian.org/debian/ jessie main
deb http://<my-apt-cacher-ng-proxy>:9999/ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian sid main
I would like to use 'MariaDB' repository for a specific package 'libmysqlclient18'.
The recommended way is to add an apt preference, indicating that origin "ftp.igh.cnrs.fr" weight more than default repos, for example like this:
/etc/apt/preferences.d/libmysqlclient18.conf
Package: libmysqlclient18
Pin: origin ftp.igh.cnrs.fr
Pin-Priority: 1001
But as I use a proxy, every origins in my conf refers to <my-apt-cacher-ng-proxy>...
Is there a way to force the repos .?
I tried some alternatives with no success:
Pin: release o=MariaDB
Pin: release l=MariaDB
...
I even tried to indicate that Debian base package should not be installed, with no success either:
Package: libmysqlclient18
Pin: release n=Jessie
# OR: Pin: release o=Debian
Pin-Priority: -10
Same result every time: the two repos. keep the same 500 priority
$ aptitude versions libmysqlclient18
Paquet libmysqlclient18 :
p 5.5.42-1 testing 500
p 10.0.17+maria-1~sid <NULL> 500
Thanks a lot
I found a workaround, by asking apt to consider everything comming from MariaDB as more important... this is ok as this repository only contains 4 or 5 packages, but is not the ideal solution!
Package: *
Pin: release o=MariaDB
Pin-Priority: 999
If I only indicate one package instead of '*', it stops working. Even 'Package: libmysql*' does not work.

Resources